欢迎来到天天文库
浏览记录
ID:47851730
大小:62.00 KB
页数:10页
时间:2019-11-28
《《数字信号处理上机指导》07级》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《数字信号处理》上机实验指导书光电信息与通信工程学院电子信息工程系北京信息科技大学2009年7月目录实验一离散傅里叶变换的性质及应用1实验二IIR数字滤波器设计5实验三FIR数字滤波器设计7实验一离散傅里叶变换的性质及应用一、实验目的1.了解DFT的性质及其应用2.熟悉MATLAB编程特点二、实验仪器及材料计算机,MATLAB软件三、实验内容及要求1.用三种不同的DFT程序计算x(n)=R5(n)的256点离散傅里叶变换X伙),并比较三种程序计算机运行时间。(1)编制用forloop语句的M函数文件dftl.m,用循环变量逐点计算X伙);(2)编写用MATLAB矩阵运算的M函数文件dft
2、2.m,完成下列短阵运算:X(0)…叫■_x(0)X⑴■■=••••■■…<-*••••X⑴■■■X(N—1)■••MW畀■VVN••…w(n-ikn_i)N—■(3)调用fft库函数,直接计算X伙);(4)分别调用上述三种不同方式编写的DFT程序计算序列x(n)的离散傅里叶变换X伙),并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。2.研究实序列的DFT特点及性质。己知序列兀⑺)=5cos(2刃,若N=128计算下列三种情况下序列的DFT的幅度、实部及虚部,并用图形表示相应的x(h),
3、X伙)
4、,Re[X(R)],Im[X(R)]。(1)x(n)=5cos(2/rrn/N)
5、,r=5(2)=5cos(2rt?/N),r=4.4(3)兀(n)=5cos(2岔z?/N),r=03・利用DFT实现两序列的卷积运算,并研究DFT点数与混叠的关系。(1)已知两序列x(n)=R?(71)h(n)=(n+l)/?5(n)(1)川直接法(即用线性卷积的定义计算,见卜•式)计算线性卷积旳)=心刊⑺)的结果,并以图形方式表示结果;N—1)'(〃)=丫兀(血)Xh(n-mOKN+M-2m=0其中:序列x(n),(O6、8,以图形方式表示结果。(3)对比直接法和闘周卷积法所得的结果。四、思考题1.直接计算2=256点的DFT与用FFT计算256点,理论上速度差别应冇多少?2・解释为什么在实验内容2中三种情况下DFT结果不同?验证了什么DFT性质?若抽样频率为1000Hz,问三种情况下序列兀(/7)的信号频率是多少?2.说明为什么在实验内容3中L=6,9,12时采用FFT法对两序列计算圆周卷积的结果不同?与线性卷积y(n)=x(n)*h(n)的结果关系如何?五、实验报告要求1.列出本实验编写的所有文件及各项实验结果Illi线,加注必要的说明;2.对实验结果作理论计算,解释实验结果;3.回答思考题;4.总结7、实验体会及实验中存在的问题。六、参考程序1.dftl.m:用for循环计算DFTofunction]Am,pha]=dftl(x)N=length(x);w=exp(-j*2*pi/N);fork=l:Nsum=0;forn=1:Nsum=sum+x(n)*wA((k-1)*(n-1));endAm(k)=abs(sum);pha(k)=angle(sum);end1.dft2.m:用MATLAB矩阵计算DFT。function[Am,pha]=dft2(x)N=lcngth(x);n=[O:N-l];k=[O:N-1];w=exp(-j*2*pi/N);nk=n'*k;wnk=w.A(8、nk);Xk=x*wnk;Am=abs(Xk);pha=angle(Xk);2.dft3.m:调用FFT库函数计算DFT。function[Am,pha]=dft3(x)Xk=fft(x);Am=abs(Xk);pha=anglc(Xk);3.lab_dft.m:调用M函数文件的M程序文件示例。x=[ones(1,8),zeros(1,248)];t=eputime;[Am1,pha1]=dftl(x);tl=cputimc-t;4.本实验所用的部分MATLAB函数:◊abs(x):对复数取模(对实数取绝对值)。◊real(x):对复数取实部。◊imag(x):对复数取虚部。◊y=con9、v(xl,x2):将序列xl(n)与序列x2(n)做线性卷积,结果赋给序列y(n)。◊y=fft(x,L):将序列x(n)做L点快速傅立叶变换,结果赋给序列y(n)。◊y=ifft(x,L):将序列x(n)做L点快速傅立叶反变换,结果赋给序列y(n)。◊stem(x,y):以x为横坐标,y为纵坐标画离散曲线。实验二IIR数字滤波器设计一、实验目的1、熟悉IIR数字滤波器的设计原理与方法。2、掌握数字滤波器的计算机软件实现方法。3、通
6、8,以图形方式表示结果。(3)对比直接法和闘周卷积法所得的结果。四、思考题1.直接计算2=256点的DFT与用FFT计算256点,理论上速度差别应冇多少?2・解释为什么在实验内容2中三种情况下DFT结果不同?验证了什么DFT性质?若抽样频率为1000Hz,问三种情况下序列兀(/7)的信号频率是多少?2.说明为什么在实验内容3中L=6,9,12时采用FFT法对两序列计算圆周卷积的结果不同?与线性卷积y(n)=x(n)*h(n)的结果关系如何?五、实验报告要求1.列出本实验编写的所有文件及各项实验结果Illi线,加注必要的说明;2.对实验结果作理论计算,解释实验结果;3.回答思考题;4.总结
7、实验体会及实验中存在的问题。六、参考程序1.dftl.m:用for循环计算DFTofunction]Am,pha]=dftl(x)N=length(x);w=exp(-j*2*pi/N);fork=l:Nsum=0;forn=1:Nsum=sum+x(n)*wA((k-1)*(n-1));endAm(k)=abs(sum);pha(k)=angle(sum);end1.dft2.m:用MATLAB矩阵计算DFT。function[Am,pha]=dft2(x)N=lcngth(x);n=[O:N-l];k=[O:N-1];w=exp(-j*2*pi/N);nk=n'*k;wnk=w.A(
8、nk);Xk=x*wnk;Am=abs(Xk);pha=angle(Xk);2.dft3.m:调用FFT库函数计算DFT。function[Am,pha]=dft3(x)Xk=fft(x);Am=abs(Xk);pha=anglc(Xk);3.lab_dft.m:调用M函数文件的M程序文件示例。x=[ones(1,8),zeros(1,248)];t=eputime;[Am1,pha1]=dftl(x);tl=cputimc-t;4.本实验所用的部分MATLAB函数:◊abs(x):对复数取模(对实数取绝对值)。◊real(x):对复数取实部。◊imag(x):对复数取虚部。◊y=con
9、v(xl,x2):将序列xl(n)与序列x2(n)做线性卷积,结果赋给序列y(n)。◊y=fft(x,L):将序列x(n)做L点快速傅立叶变换,结果赋给序列y(n)。◊y=ifft(x,L):将序列x(n)做L点快速傅立叶反变换,结果赋给序列y(n)。◊stem(x,y):以x为横坐标,y为纵坐标画离散曲线。实验二IIR数字滤波器设计一、实验目的1、熟悉IIR数字滤波器的设计原理与方法。2、掌握数字滤波器的计算机软件实现方法。3、通
此文档下载收益归作者所有