您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 《数字信号处理上机实验指导书》09级
《数字信号处理》上机实验指导书光电信息与通信工程学院通信工程专业北京信息科技大学2011年10月2目录实验一离散傅里叶变换的性质及应用...........................................1实验二IIR数字滤波器设计..............................................................4实验三FIR数字滤波器设计.............................................................61实验一离散傅里叶变换的性质及应用一、实验目的1.了解DFT的性质及其应用2.熟悉MATLAB编程特点二、实验仪器及材料计算机,MATLAB软件三、实验内容及要求1.用三种不同的DFT程序计算8()()xnRn的256点离散傅里叶变换()Xk,并比较三种程序计算机运行时间。(1)编制用forloop语句的M函数文件dft1.m,用循环变量逐点计算()Xk;(2)编写用MATLAB矩阵运算的M函数文件dft2.m,完成下列矩阵运算:00000121012(1)(1)(1)(0)(0)(1)(1)(1)(1)NNNNNNNNNNNNNNNNNXx(3)调用fft库函数,直接计算()Xk;(4)分别调用上述三种不同方式编写的DFT程序计算序列()xn的离散傅里叶变换()Xk,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。2.利用DFT实现两序列的卷积运算,并研究DFT点数与混叠的关系。(1)已知两序列:3;030;)5/3()(nnnhn,用MATLAB生成随机输入信号x(n),n的取值为0~2;(2)用直接法(即用线性卷积的定义计算,见下式)计算线性卷积y(n)=x(n)*h(n)的结果,并以图形方式表示结果;20),()()(10MNnmnhmxnyNm 其中:序列)1Nn0(),n(x和序列)1Mn0(),n(h(3)用MATLAB编制利用DFT计算线性卷积y(n)=x(n)*h(n)的程序;分别令圆周卷积2的点数为L=5,6,8,10,以图形方式表示结果。(4)对比直接法和圆周卷积法所得的结果。四、思考题1.直接计算N=256点的DFT与用FFT计算256点,理论上速度差别应有多少?2.说明为什么在实验内容2中L=6,8,10时采用FFT法对两序列计算圆周卷积的结果与线性卷积y(n)=x(n)*h(n)的结果相同,而与L=5时计算结果不同?五、实验报告要求1.列出本实验编写的所有文件及各项实验结果曲线,加注必要的说明;2.对实验结果作理论计算,解释实验结果;3.回答思考题;4.总结实验体会及实验中存在的问题。六、参考程序1.dft1.m:用for循环计算DFT。function[Am,pha]=dft1(x)N=length(x);w=exp(-j*2*pi/N);fork=1:Nsum=0;forn=1:Nsum=sum+x(n)*w^((k-1)*(n-1));endAm(k)=abs(sum);pha(k)=angle(sum);end2.dft2.m:用MATLAB矩阵计算DFT。function[Am,pha]=dft2(x)N=length(x);n=[0:N-1];k=[0:N-1];w=exp(-j*2*pi/N);nk=n’*k;wnk=w.^(nk);3Xk=x*wnk;Am=abs(Xk);pha=angle(Xk);3.dft3.m:调用FFT库函数计算DFT。function[Am,pha]=dft3(x)Xk=fft(x);Am=abs(Xk);pha=angle(Xk);4.lab_dft.m:调用M函数文件的M程序文件示例。x=[ones(1,8),zeros(1,504)];t=cputime;[Am1,pha1]=dft1(x);t1=cputime-t;5.本实验所用的部分MATLAB函数:x=rand(r,c):用MATLAB随机生成输入信号x(n),范围为0~1,r行,c列。y=conv(x1,x2):将序列x1(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为纵坐标画离散曲线。4实验二IIR数字滤波器设计一、实验目的1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法。2、掌握数字滤波器的计算机软件实现方法。3、通过观察对实际心电图信号的滤波作用,学习数字滤波器在实际中的应用。二、实验仪器及材料计算机,MATLAB软件三、实验内容及要求1.设计巴特沃斯低通数字滤波器对人体心电信号进行滤波(1)人体心电图信号在测量过程中会受到工业高频干扰,所以必须经过低通滤波处理,才能作为判断心脏功能的有用信息。以下为一个实际心电图信号采样序列x(n),其中存在高频干扰,采样周期T=1秒。在实验中,以x(n)作为输入序列,滤除其中干扰成分。x(n)=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]对序列x(n)用FFT做频谱分析,生成x(n)的频谱图。(2)用冲激响应不变法设计一个巴特沃斯低通IIR数字滤波器H(z)。设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大于15dB。写出数字滤波器H(z)的表达式,画出滤波器的幅频响应曲线|)e(H|j。(3)用所设计的滤波器对实际心电图信号采样序列进行滤波处理,编写程序,计算H(z)对心电图信号采样序列x(n)滤波后的序列y(n),并分别画出滤波前后的心电图信号波形图和频谱图。2.用help查看内部函数cheb1ord.m及cheby1.m,了解调用格式,并用此函数设计一个数字切贝雪夫带通滤波器。设计指标参数为:抽样频率fs=2kHz;在200Hz≤f≤400Hz时,最大衰减小于2dB;在f≤100Hz,f≥600Hz,最小衰减大于40dB。编程设计,求数字滤波器H(z)的表达式,画出滤波器的幅频响应曲线|)e(H|j。5四、思考题1.对比实验内容1中滤波前后心电图信号x(n),y(n),说明滤波器的作用。2.双线性变换与冲激不变法比较有何优缺点?五、实验报告要求1.列出本实验编写的所有文件及各项实验结果曲线,加注必要的说明;2.对实验结果作理论计算,解释实验结果;3.回答思考题;4.总结实验体会及实验中存在的问题。六、参考本实验所用的MATLAB函数:length(x):求序列x长度。[n,Wn]=buttord(Wp,Ws,Rp,Rs,'s'):计算模拟Butterworth滤波器的最小阶次n和截止频率为Wn。[b,a]=butter(n,Wn,'s'):设计模拟截止频率为Wn(rad/s)的n阶Butterworth低通滤波器,返回值为模拟滤波器的系数。[numd,dend]=bilinear(num,den,fs):双线性变换,返回值为数字滤波器的系数。[BZ,AZ]=impinvar(B,A,Fs):冲激响应不变法,返回值为数字滤波器的系数。[Hw]=freqz(b,a):由滤波器分母多项式系数构成的a向量和分子多项式系数构成的b向量求系统频响。y=filter(b,a,x):将序列x(n)通过滤波器滤波后生成序列y(n),滤波器的分母多项式系数构成a向量,分子多项式系数构成b向量。6实验三FIR数字滤波器设计一、实验目的1.熟悉线性相位FIR数字滤波器特性。2.掌握用窗函数法设计FIR数字滤波器的原理和方法,理解各种窗函数对滤波性能的影响。3.掌握用频率抽样法设计FIR数字滤波器的原理和方法,理解过渡带上抽样点数对滤波性能的影响。二、实验仪器及材料计算机,MATLAB软件三、实验内容及方法1.用窗函数法设计FIR数字低通滤波器FIR数字低通滤波器技术指标如下:50dB,3.025dB.0,2.02s1p选取合适的窗函数编程设计,求滤波器的单位脉冲响应h(n),并画出h(n)的幅频特性和相频特性曲线。2.用频率抽样法设计FIR数字低通滤波器,指标同实验内容1。注意要选取合适的抽样点数N使得在过渡带内有抽样点,编程设计,求滤波器的单位脉冲响应h(n),并画出h(n)的幅频特性和相频特性曲线。四、思考题1.总结窗函数法中窗函数主要参数对滤波性能的影响。2.频率抽样法设计FIR滤波器的优缺点是什么?五、实验报告要求1.列出本实验编写的所有文件及各项实验结果曲线,加注必要的说明;2.对实验结果作理论计算,解释实验结果;3.回答思考题;4.总结实验体会及实验中存在的问题。六、参考本实验所用的MATLAB函数:h=freqz(b,a,w):返回值为频率响应7abs(x):对序列x(n)每一项取绝对值或模值;angle(x):对序列x(n)每一项取相位;boxcar(N):生成长度为N的矩形窗(矩形序列);triang(N):生成长度为N的三角窗;hanning(N):生成长度为N的汉宁窗;hamming(N):生成长度为N的海明窗;blackman(N):生成长度为N的布拉克曼窗。
本文标题:《数字信号处理上机实验指导书》09级
链接地址:https://www.777doc.com/doc-2838520 .html