数字信号实验时间安排:第三周周三(实验一)、第五周周一(实验二)、第七周周一(实验三)、第八周周一(实验四)《四个实验都是晚上九十节》数字信号处理实验指导书山东理工大学电气与电子工程学院2007年8月数字信号处理指导书1实验一MATLAB中常用的离散信号产生及绘图命令的练习一、实验目的1.了解MATLAB的基本操作,为以后的实验奠定基础;2.熟悉MATLAB操作环境,并进行一些简单的计算和m文件的编写;3.加深对常用离散信号的理解;二、实验原理1.离散信号的产生1)单位抽样序列01)(n00nn在MATLAB中的实现函数:[x,n]=impseq(n0,n1,n2)或zeros()如果)(n在时间轴上延迟了m个单位,得到)(mn即:mnmnmn,0,1)(2)单位阶跃序列nnnu其他,00,1)(在MATLAB中的实现函数:ones()3)余弦序列)/2cos()(SFfnAnx在MATLAB中实现命令:)/***2cos(*1:0sFnfpiAxNnsF:采样频率、、、、sFfAN自定4)复正弦序列njenx)(在MATLAB中实现命令:)**exp(1:0njxNn、N自定5)指数序列数字信号处理指导书2)()(nuanxn在MATLAB中实现命令:naxNn.^1:0、N.a自定2.绘图语句1)figure利用figure命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。figure(n)表示将第n号图形窗口作为当前的图形窗口,并将其显示在所有窗口的最前面;如果该图形窗口不存在,则新建一个窗口,并赋以编号n。2)plot绘制线型图命令,常用格式为plot(x,y,′s′),参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略。3)Stem绘制离散序列图命令,常用格式为stem(x,y),和plot函数的绘图规则相同,只是用stem命令绘制的是离散序列图。4)subplotsubplot(m,n,i)为图形显示时分割窗口命令,把一个图形窗口分为m行,n列,m×n个小窗口,并指定第i个小窗口为当前窗口。5)绘图修饰命令在绘制图形时,我们通常需要为图形添加各种注记以增加可读性。在plot语句后使用title(′标题′)可以在图形上方添加标题,使用xlabel(′标记′)或ylabel(′标记′)为X轴或Y轴添加说明,使用text(X值、Y值、′想加的标示′)可以在图形中任意位置添加标示。三、实验内容1.用figure()、Subplot()函数画四个(2×2)窗口,在1号窗口画出cos(x);2号窗口画出sin(x)函数;3号窗口画出cos(x)(用红色星号线画)、sin(x)(用绿色点划线画);4号窗口画出sin(x),并标出标题“正弦线”,横坐标标出“x”纵坐标标出“sinx”;2.用MATLAB命令产生以下序列(长度自己确定)x(n)=0.8n[u(n)-u(n-20)]四、实验要求1.编制软件程序、并绘图。2.编写实验报告。数字信号处理指导书3实验2离散信号的DTFT和DFT一、实验目的1.掌握离散时间信号的傅里叶变换)(jweX及其MATLAB实现。2.掌握离散傅里叶变换)(kX及其MATLAB实现。3.加深对离散信号的DTFT和DFT相互关系的理解。二、实验原理序列)(nx的DTFT定义:njnjenxexnxF)()()]([N点序列)(nx的DFT定义:10)()()(10NkWnxnxDFTkXNnnkN()X和)(jweX的关系:)k(Xe)n(x|)e(XNnknNjNkwjw1022DTFT和DFT相互关系:)(kX是以N2为间隔对序列的傅里叶变换)(jweX在区间)20(上采样的结果。在MATLAB中,可以用函数U=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。三、实验内容考虑序列)52.0cos()48.0cos()(nnnx序列的傅里叶变换、离散时间傅里叶变换。1.取)(nx前10点数据,求)(jweX,)(kX幅频特性。2.将1中)(nx补零至100,求)(jweX,)(kX幅频特性。3.取)(nx)前50点数据,求)(jweX,)(kX幅频特性。4.取)(nx)前100点数据,求)(jweX,)(kX幅频特性。5.取)(nx)前128点数据,求)(jweX,)(kX幅频特性。四、实验要求1.编制软件程序、并绘图。2.讨论DTFT和DFT之间的相互关系,说明实验产生的现象的原因。3.编写实验报告。数字信号处理指导书4实验三IIR数字滤波器的设计一、实验目的1.加深对数字滤波器的常用指标的理解。2..掌握设计IIR滤波器的原理和具体设计方法。3..学会用MATLAB设计IIR数字滤波器。二、实验原理1.低通滤波器常用指标低通滤波器常用指标如下图所示:在通带内,幅度响应以最大误差±δ1逼近于1,即1111)(jwPeH在阻带内,幅度响应以误差小于δ2而逼近于零,即2,)(jwSeHpw:通带截止频率sw:阻带截止频率1:通带容限2:阻带容限通带允许的最大衰减(波纹)pA:)1lg(20)(lg20)()(lg2010ppjwjwjpeHeHeHA阻带应达到的最小衰减sA:20lg20)(lg20)()(lg20SSjwjwjseHeHeHA1)21阻带过渡带2通带1111swpw()jHe数字信号处理指导书52.MATLAB中IIR数字滤波器设计的相关函数1)选择滤波器的最小阶数[N,Wn]=buttord(wp,ws,Rp,Rs);wp,ws的单位为:归一化频率[N,Wn]=buttord(wp,ws,Rp,Rs,'s');wp,ws的单位为:rad/s2)设计巴特沃思低通滤波器[Z,P,K]=buttap(N);3)把巴特沃思零极点型转化为传递函数型[Bap,Aap]=zp2tf(Z,P,K);4)模拟滤波器原型转化为截止频率为wn的低通滤波器[b,a]=lp2lp(Bap,Aap,Wn);5)用脉冲响应不变法、双线性变换实现模拟滤波器到数字滤波器的转换[bz1,az1]=impinvar(b,a,FS)[bz1,az1]=bilinear(b,a,FS)其中:b,a为Ha(s)分子和分母多项式系数;FS为采样频率;bz1,az1为H(z)分子和分母多项式的系数。6)求系统频率响应的函数[H,W]=freqz(B,A,N)其中:A,B为滤波器的系数三、实验内容1.以一个模拟滤波器传递函数21()1aHsss为原型,用脉冲响应不变法,双线性变换法设计数字滤波器,T=0.1S。2.用双线性变换法、用脉冲响应不变法设计一个Butterworth低通滤波器,要求通带截止频率100Hz,阻带截止频率200Hz,通带衰减Rp小于2dB,阻带衰减Rs大于15dB,采样频率500Hz。四、实验要求1.编制软件程序、并绘制设计的数字滤波器的幅度谱图。2.讨论两种设计方法的特点。3.编写实验报告。数字信号处理指导书6实验四FIR数字滤波器的设计一、实验目的1.掌握设计FIR滤波器的原理和具体设计方法。2.学会用MATLAB设计FIR数字滤波器的方法。二、实验原理1.低通滤波器常用指标(见实验三)2.MATLAB中FIR数字滤波器设计相关函数1)窗函数窗函数MATLAB函数窗函数MATLAB函数矩形窗三角窗宁汉窗boxcar(N)triang(N)hanning(N)汉明窗布莱克曼凯泽窗hamming(N)blackman(N)Kaiser(N,BETA)2).FIR数字滤波器设计的相关函数b=fir1(n,Wn)b=fir1(n,Wn,'ftype')b=fir1(n,Wn,window)b=fir1(n,Wn,'ftype',window)n为滤波器的阶数:对于高通、带阻滤波器n为偶数;ftype为滤波器类型:低通low、高通high、带通bandpass、带阻stopWn为截止频率:低通、高通时Wn,取值范围为(0.0~1.0),其中1对应0.5fs,fs为采样频率,带通、带阻时Wn=[W1W2]且W1W2,默认为低通或高通。Window为窗函数类型:window可取boxcar、hanning、blankman及kaiser等,缺省为hamming,长度为n+1;b为FIR滤波器系数向量:为n+1。三、实验内容1.通过MATLAB程序,采用窗函数法设计满足下列技术指标的低通FIR数字滤波器,技术指标如下:20.wp;dB.Ap2504.0sw40sAdB1)选择合适的窗函数下,在不同N的情况下,绘制设计的滤波器的幅度响应。2)若采用矩形窗、三角窗、宁汉窗、海明窗、布莱克曼窗设计相同阶数的滤波器,把所设计的滤波器幅度响应绘制在同一个坐标图中,比较一下所设计的滤波器的特性有何差别。3)你选择那种窗函数满足技术指标?数字信号处理指导书7四、实验要求1.编制软件程序、并绘制幅度谱图。2.比较一下在不同的窗函数、不同长度N时设计出的频率特性,得出结论。3.编写实验报告。