数字信号处理实验报告.doc
- 文档编号:577170
- 上传时间:2023-04-29
- 格式:DOC
- 页数:27
- 大小:657KB
数字信号处理实验报告.doc
《数字信号处理实验报告.doc》由会员分享,可在线阅读,更多相关《数字信号处理实验报告.doc(27页珍藏版)》请在冰点文库上搜索。
《数字信号处理实验报告》
实验名称:
数字信号处理实验
系别:
兴湘学院
专业班级:
09通信工程
学生学号:
学生姓名:
指导教师:
第一次数字信号上机实验
实验二时域采样与频域采样
1.实验目的
时域采样理论与频域采样理论是数字信号处理中的重要理论。
要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
2.实验原理与方法
时域采样定理的要点是:
a)对模拟信号以间隔T进行时域等间隔理想采样,形成的采样信号的频谱是原模拟信号频谱以采样角频率()为周期进行周期延拓。
公式为:
b)采样频率必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的
频谱不产生频谱混叠。
利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。
理想采样信号和模拟信号之间的关系为:
对上式进行傅立叶变换,得到:
在上式的积分号内只有当时,才有非零值,因此:
上式中,在数值上=,再将代入,得到:
上式的右边就是序列的傅立叶变换,即
上式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量ω用代替即可。
频域采样定理的要点是:
a)对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N点,得到
则N点IDFT[]得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列,公式为:
b)由上式可知,频域采样点数N必须大于等于时域离散信号的长度M(即N≥M),才能使时域不产生混叠,则N点IDFT[]得到的序列就是原序列x(n),即=x(n)。
如果N>M,比原序列尾部多N-M个零点;如果N 与x(n)不相同。 在数字信号处理的应用中,只要涉及时域或者频域采样,都必须服从这两个采样理论的要点。 对比上面叙述的时域采样原理和频域采样原理,得到一个有用的结论,这两个采样理论具有对偶性: “时域采样频谱周期延拓,频域采样时域信号周期延拓”。 因此放在一起进行实验。 3.实验内容及步骤 (1)时域采样理论的验证。 给定模拟信号, 式中A=444.128,=50π,=50πrad/s,它的幅频特性曲线如图10.2.1 的幅频特性曲线 现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。 安照的幅频特性曲线,选取三种采样频率,即=1kHz,300Hz,200Hz。 观测时间选。 为使用DFT,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用,,表示。 因为采样频率不同,得到的,,的长度不同,长度(点数)用公式计算。 选FFT的变换点数为M=64,序列长度不够64的尾部加零。 X(k)=FFT[x(n)],k=0,1,2,3,-----,M-1 式中k代表的频率为。 (2)频域采样理论的验证。 给定信号如下: 编写程序分别对频谱函数在区间上等间隔采样32 和16点,得到: 再分别对进行32点和16点IFFT,得到: 分别画出、的幅度谱,并绘图显示x(n)、的波形,进行对比和分析,验证总结频域采样理论。 4.思考题: 如果序列x(n)的长度为M,希望得到其频谱在上的N点等间隔采样,当N 答: 先对原序列x(n)以N为周期进行周期延拓后取主值区序列, 再计算N点DFT则得到N点频域采样: 2.2实验程序清单 1时域采样理论的验证程序清单 %时域采样理论验证程序exp2a.m Tp=64/1000; %观察时间Tp=64微秒 %产生M长采样序列x(n) %Fs=1000;T=1/Fs; Fs=1000;T=1/Fs; M=Tp*Fs;n=0: M-1; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M);%M点FFT[xnt)] yn='xa(nT)';subplot(3,2,1); tstem(xnt,yn); %调用自编绘图函数tstem绘制序列图 boxon;title('(a)Fs=1000Hz'); k=0: M-1;fk=k/Tp; subplot(3,2,2);plot(fk,abs(Xk));title('(a)T*FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]) %================================================= %Fs=300Hz和Fs=200Hz的程序与上面Fs=1000Hz完全相同。 2频域采样理论的验证程序清单 %频域采样理论验证程序exp2b.m M=27;N=32;n=0: M; %产生M长三角波序列x(n) xa=0: floor(M/2);xb=ceil(M/2)-1: -1: 0;xn=[xa,xb]; Xk=fft(xn,1024); %1024点FFT[x(n)],用于近似序列x(n)的TF X32k=fft(xn,32) ;%32点FFT[x(n)] x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n) X16k=X32k(1: 2: N); %隔点抽取X32k得到X16(K) x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n) subplot(3,2,2);stem(n,xn,'.');boxon title('(b)三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20]) k=0: 1023;wk=2*k/1024; % subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]'); xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200]) k=0: N/2-1; subplot(3,2,3);stem(k,abs(X16k),'.');boxon title('(c)16点频域采样');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200]) n1=0: N/2-1; subplot(3,2,4);stem(n1,x16n,'.');boxon title('(d)16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20]) k=0: N-1; subplot(3,2,5);stem(k,abs(X32k),'.');boxon title('(e)32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200]) n1=0: N-1; subplot(3,2,6);stem(n1,x32n,'.');boxon title('(f)32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20]) 10.2.3实验程序运行结果 1时域采样理论的验证程序运行结果exp2a.m如下图所示所示。 由图可见,采样序列的频谱的确是以采样频率为周期对模拟信号频谱的周期延拓。 当采样频率为1000Hz时频谱混叠很小;当采样频率为300Hz时,在折叠频率150Hz附近频谱混叠很严重;当采样频率为200Hz时,在折叠频率110Hz附近频谱混叠更很严 2时域采样理论的验证程序exp2b.m运行结果下图所所示。 图2 该图验证了频域采样理论和频域采样定理。 对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N=16时,N点IDFT[]得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列: 由于N 与x(n)不相同,如图图10.3.3(c)和(d)所示。 当N=32时,如图图10.3.3(c)和(d)所示,由于N>M,频域采样定理,所以不存在时域混叠失真,因此。 与x(n)相同。 实验三: 用FFT对信号作频谱分析 1.实验目的 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT。 2.实验原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。 经常需要进行谱分析的信号是模拟信号和时域离散信号。 对信号进行谱分析的重要问题是频谱分辨率D和分析误差。 频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是,因此要求。 可以根据此式选择FFT的变换区间N。 误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。 周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。 如果不知道信号周期,可以尽量选择信号的观察时间长一些。 对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。 如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。 3.实验步骤及内容 (1)对以下序列进行谱分析。 选择FFT的变换区间N为8和16两种情况进行频谱分析。 分别打印其幅频特性曲线。 并进行对比、分析和讨论。 (2)对以下周期序列进行谱分析。 选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。 分别打印其幅频特性曲线。 并进行对比、分析和讨论。 (3)对模拟周期信号进行谱分析 选择采样频率,变换区间N=16,32,64三种情况进行谱分析。 分别打印其幅频特性,并进行分析和讨论。 4.简答思考题 (1)对于周期序列,如果周期不知道,如何用FFT进行谱分析? 答: 利用频域抽取法即可。 (3)当N=8时,和的幅频特性会相同吗? 为什么? N=16呢? 答;图(1a)和(1b)说明的8点DFT和16点DFT分别是的频谱函数的8点和16点采样; 因为,所以,与的8点DFT的模相等,如图(2a)和(3a)。 但是,当N=16时,与不满足循环移位关系,所以图(2b)和(3b)的模不同 10.3.3实验程序运行结果以及实验程序清单 实验3程序exp3.m运行结果如图.3.1所示。 %用FFT对信号作频谱分析 clearall;closeall %实验内容 (1) x1n=[ones(1,4)];%产生序列向量x1(n)=R4(n) M=8;xa=1: (M/2);xb=(M/2): -1: 1;x2n=[xa,xb];%产生长度为8的三角波序列x2(n) x3n=[xb,xa]; X1k8=fft(x1n,8);%计算x1n的8点DFT X1k16=fft(x1n,16);%计算x1n的16点DFT X2k8=fft(x2n,8);%计算x2n的8点DFT X2k16=fft(x2n,16);%计算x2n的16点DFT X3k8=fft(x3n,8);%计算x3n的8点DFT X3k16=fft(x3n,16);%计算x3n的16点DFT %以下绘制幅频特性曲线 subplot(2,2,1);stem(X1k8);%绘制8点DFT的幅频特性图 title('(1a)8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X1k8))]) subplot(2,2,3);stem(X1k16);%绘制16点DFT的幅频特性图 title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X1k16))]) figure (2) subplot(2,2,1);stem(X2k8);%绘制8点DFT的幅频特性图 title('(2a)8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X2k8))]) subplot(2,2,2);stem(X2k16);%绘制16点DFT的幅频特性图 title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X2k16))]) subplot(2,2,3);stem(X3k8);%绘制8点DFT的幅频特性图 title('(3a)8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X3k8))]) subplot(2,2,4);stem(X3k16);%绘制16点DFT的幅频特性图 title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X3k16))]) %实验内容 (2)周期序列谱分析 N=8;n=0: N-1;%FFT的变换区间N=8 x4n=cos(pi*n/4); x5n=cos(pi*n/4)+cos(pi*n/8); X4k8=fft(x4n);%计算x4n的8点DFT X5k8=fft(x5n);%计算x5n的8点DFT N=16;n=0: N-1;%FFT的变换区间N=16 x4n=cos(pi*n/4); x5n=cos(pi*n/4)+cos(pi*n/8); X4k16=fft(x4n);%计算x4n的16点DFT X5k16=fft(x5n);%计算x5n的16点DFT figure(3) subplot(2,2,1);stem(X4k8);%绘制8点DFT的幅频特性图 title('(4a)8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X4k8))]) subplot(2,2,3);stem(X4k16);%绘制16点DFT的幅频特性图 title('(4b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X4k16))]) subplot(2,2,2);stem(X5k8);%绘制8点DFT的幅频特性图 title('(5a)8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X5k8))]) subplot(2,2,4);stem(X5k16);%绘制16点DFT的幅频特性图 title('(5b)16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X5k16))]) %实验内容(3)模拟周期信号谱分析=============================== figure(4) Fs=64;T=1/Fs; N=16;n=0: N-1;%FFT的变换区间N=16 x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)16点采样 X6k16=fft(x6nT);%计算x6nT的16点DFT X6k16=fftshift(X6k16);%将零频率移到频谱中心 Tp=N*T;F=1/Tp;%频率分辨率F k=-N/2: N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心) subplot(3,1,1);stem(fk,abs(X6k16),'.');boxon%绘制8点DFT的幅频特性图 title('(6a)16点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度'); axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))]) N=32;n=0: N-1;%FFT的变换区间N=16 x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)32点采样 X6k32=fft(x6nT);%计算x6nT的32点DFT X6k32=fftshift(X6k32);%将零频率移到频谱中心 Tp=N*T;F=1/Tp;%频率分辨率F k=-N/2: N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心) subplot(3,1,2);stem(fk,abs(X6k32),'.');boxon%绘制8点DFT的幅频特性图 title('(6b)32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度'); axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))]) N=64;n=0: N-1;%FFT的变换区间N=16 x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)64点采样 X6k64=fft(x6nT);%计算x6nT的64点DFT X6k64=fftshift(X6k64);%将零频率移到频谱中心 Tp=N*T;F=1/Tp;%频率分辨率F k=-N/2: N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心) subplot(3,1,3);stem(fk,abs(X6k64),'.');boxon%绘制8点DFT的幅频特性图 title('(6a)64点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度'); axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))]) 图3.1 程序运行结果分析讨论: 用DFT(或FFT)分析频谱,绘制频谱图时,最好将X(k)的自变量k换算成对应的频率,作为横坐标便于观察频谱。 为了便于读取频率值,最好关于π归一化,即以作为横坐标。 1、实验内容 (1) 图(1a)和(1b)说明的8点DFT和16点DFT分别是的频谱函数的8点和16点采样; 因为,所以,与的8点DFT的模相等,如图(2a)和(3a)。 但是,当N=16时,与不满足循环移位关系,所以图(2b)和(3b)的模不同。 2、实验内容 (2),对周期序列谱分析 的周期为8,所以N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25π处有1根单一谱线。 如图(4b)和(4b)所示。 的周期为16,所以N=8不是其周期的整数倍,得到的频谱不正确,如图(5a)所示。 N=16是其一个周期,得到正确的频谱,仅在0.25π和0.125π处有2根单一谱线,如图(5b)所示。 3、实验内容(3),对模拟周期信号谱分析 有3个频率成分,。 所以的周期为0.5s。 采样频率。 变换区间N=16时,观察时间Tp=16T=0.25s,不是的整数倍周期,所以所得频谱不正确,如图(6a)所示。 变换区间N=32,64时,观察时间Tp=0.5s,1s,是的整数周期,所以所得频谱正确,如图(6b)和(6c)所示。 图中3根谱线正好位于处。 变换区间N=64时频谱幅度是变换区间N=32时2倍,这种结果正好验证了用DFT对中期序列谱分析的理论。 注意: (1)用DFT(或FFT)对模拟信号分析频谱时,最好将X(k)的自变量k换算成对应的模拟频率fk,作为横坐标绘图,便于观察频谱。 这样,不管变换区间N取信号周期的几倍,画出的频谱图中有效离散谐波谱线所在的频率值不变,如图(6b)和(6c)所示。 (2)本程序直接画出采样序列N点DFT的模值,实际上分析频谱时最好画出归一化幅度谱,这样就避免了幅度值随变换区间N变化的缺点。 本实验程序这样绘图只要是为了验证了用DFT对中期序列谱分析的理论。 实验总结及心得体会 在本次时域采样与频域采样与用FFT对信号作频谱分析实验中,又一次接触到应用matlab编程设计处理问题,在本次试验中熟悉并且掌握软件的应用方法,及其相关子函数的应用范围。 在时域采样与频域采样试验中,通过对比模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息,掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用,达到灵活运用理论知识解决实际问题。 以及学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。 用FFT对信号作频谱分析是学习数字信号处理的重要内容。 经常需要进行谱分析的信号是模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 报告