1、1电气工程学院数字信号处理实验指导书王武 编写适用专业:测控技术与仪器 贵州大学二 OO四年六月2前言一、实验目的:数字信号处理是一门工程技术基础性质的课程,因此实验方法的学习是本门课教学过程中的一个必不可少的环节。其目的为:(一)依据理论课的内容对重要的原理加以验证,巩固和加深所学的理论知识,使学生更深入,形象地理解掌握所学知识。(二)熟悉典型数字信号处理技术。(三)熟悉数字信号处理软件 Matlab 的操作。(四)学会处理实验数据,分析实验结果,编写实验报告;培养严谨、实事求是的科学作风,并从实验结果中分析出正确结论。(五)学会查找实验故障,并排除故障。(六)培养科学的工作态度,即认真地按
2、要求完成操作。做到细致、周密,并勤于动手,善于思考。二、实验要求:(一)进入实验室以前,必须复习与此次实验的有关理论知识。了解本次实验的实验目的、原理、内容、仪器及注意事项等,并完成理论分析与计算,并做好预习报告。(二)进入实验后,首先认真检查仪器、设备是否齐全、完好。(三)实验中遇有异常气味和危险现象时,应立即切断电源并通知指导教师,只有在找出故障后方可继续实验。实验室规则1 进入实验室后,按预先编号小组进入相应实验台,自觉遵守纪律,做实验时不得大声喧哗和打闹,不准做其他有碍实验的活动。进行实验时,如违反实验室各项规定,指导教师有权停止实验。2 实验时一定要亲自动手,独立操作,对实验数据与波
3、形要认真、实事求是地做以记录,善始善终。对无故缺课者原则上不予补做,并以实验不及格处理。3 测量数据和使用仪器时应注意设备及人身安全,要特别小心,防止触电故事的发生。4 要以主人翁的态度爱护实验设备、仪器、仪表,按操作规程使用,不得无目的乱旋乱开,不得乱动与本次实验无关的仪器、设备。对违章使用造成仪器、仪表损坏者,视情3节轻重按学校的有关规定严肃处理。4目录 1、实验一:离散时间信号分析 42、实验二:离散时间系统分析 73、实验三:用 FFT 进行谱分析114、实验四:利用 FFT 实现快速卷积155、实验五:无限冲激响应(IIR)数字滤波器的设计186、实验六:有限冲激响应(FIR)数字滤
4、波器的设计217、实验七:数字信号处理综合设计258、实验报告基本内容要求279、实验报告格式285实验一 离散时间信号分析实验学时:2实验类型:验证实验要求:必修一、实验目的1掌握各种常用的序列,理解其数学表达式和波形表示。2掌握在计算机中生成及绘制数字信号波形的方法。3掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。4掌握线性卷积软件实现的方法。5掌握计算机的使用方法和常用系统软件及应用软件的使用。6通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。二、实验原理1序列的基本概念离散时间信号在数学上可用时间序列 来表示,其中 代表序列的第 n 个数字,)(nx)(nx
5、n 代表时间的序列,n 的取值范围为 的整数, n 取其它值 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号 进行等间隔采样,采样间)(ta隔为 T,得到 一个有序的数字序列就是离散时间信号,简称序列。)(nxa2常用序列常用序列有:单位脉冲序列(单位抽样) 、单位阶跃序列 、矩形序列)(n)(nu、实指数序列、复指数序列、正弦型序列等。)(nRN3序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。4序列的卷积运算 )()()( nhxmnhxnym上式的运算关系称为卷积运算,式中 代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移
6、位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下 4 个步骤。(1)反褶:先将 和 的变量 换成 ,变成 和 ,再将 以纵)(nxhnm)(xmh)(轴为对称轴反褶成 。m(2)移位:将 移位 ,得 。当 为正数时,右移 位;当 为负数时,)()(n6左移 位。n(3)相乘:将 和 的对应点值相乘。)(mnh(x(4)求和:将以上所有对应点的乘积累加起来,即得 。)(ny三、主要实验仪器及材料微型计算机、Matlab 编程环境。四、实验内容1知识准备认真复习以上基础理论,理解本实验所用到的实验原理。2离散时间信号(序列)的产生利用 MATLAB 或 C 语言编程产生和绘制
7、下列有限长序列:(1)单位脉冲序列 )(n(2)单位阶跃序列 u(3)矩形序列 )(8R(4)正弦型序列 )35sin(Ax(5)任意序列 )4(5)(4)2()1(2)( nnx nh3序列的运算利用 MATLAB 或 C 语言编程完成上述两序列的移位、反褶、和、积、标乘、累加等运算,并绘制运算后序列的波形。4卷积运算利用 MATLAB 或 C 语言编制一个计算两个序列线性卷积的通用程序,计算上述两序列,并绘制卷积后序列的波形。)(nhx5上机调试并打印或记录实验结果。6完成实验报告。五、思考题1如何产生方波信号序列和锯齿波信号序列?2实验中所产生的正弦序列的频率是多少?是否是周期序列?六、
8、实验报告要求1简述实验原理及目的。2列出计算卷积的公式,画出程序框图,并列出实验程序清单(可略) (包括必要的7程序说明) 。3记录调试运行情况及所遇问题的解决方法。4给出实验结果,并对结果作出分析。5简要回答思考题。8实验二 离散时间系统分析实验学时:2实验类型:验证实验要求:必修一、实验目的1掌握离散时间信号与系统的时域分析方法。2掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。 3熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。 二、实验原理1离散时间系统一个离散时间系统是将输入序列变换成输出序列的一种运算。若以 来表示这
9、种运算,T则一个离散时间系统可由下图来表示: T图 离散时间系统输出与输入之间关系用下式表示)()(nxTy离散时间系统中最重要、最常用的是线性时不变系统。2离散时间系统的单位脉冲响应设系统输入 ,系统输出 的初始状态为零,这是系统输出用 表示,)(nx)(ny )(nh即 ,则称 为系统的单位脉冲响应。)()(Tnhh可得到: )()(hxmym该式说明线性时不变系统的响应等于输入序列与单位脉冲序列的卷积。3连续时间信号的采样采样是从连续信号到离散时间信号的过渡桥梁,对采样过程的研究不仅可以了解采样前后信号时域何频域特性发生的变化以及信号内容不丢失的条件,而且有助于加深对拉氏9变换、傅氏变换
10、、Z 变换和序列傅氏变换之间关系的理解。对一个连续时间信号进行理想采样的过程可以表示为信号与一个周期冲激脉冲的乘积,即: )()(txtTa其中, 是连续信号 的理想采样, 是周期冲激脉冲)(txa)(tTmTtt)(设模拟信号 ,冲激函数序列 以及抽样信号 的傅立叶变换分别为xa )(tT)(txa、 和 ,即)(jXa)(jM)(jXtFaajT)()(txaa根据连续时间信号与系统中的频域卷积定理,式(2.59)表示的时域相乘,变换到频域为卷积运算,即)()(21)( jXjMjXaa其中dtetxtFj jaaa )()()(由此可以推导出 ksaa jkXTjX)1由上式可知,信号理
11、想采样后的频谱式原来信号频谱的周期延拓,其延拓周期等于采样频率。根据香农定理,如果原信号是带限信号,且采样频率高于原信号最高频率的 2 倍,则采样后的离散序列不会发生频谱混叠现象。4有限长序列的分析对于长度为 N 的有限长序列,我们只观察、分析在某些频率点上的值。nNnx其 它01),(一般只需要在 之间均匀的取 M 个频率点,计算这些点上的序列傅立叶变换:210)()(Nnjnj kkexeX10其中, , 。 是一个复函数,它的模就是幅频特Mk/21,0 )(jeX性曲线。三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。四、实验内容1知识准备认真复习离散信号与
12、系统、单位脉冲响应、抽样定理等有关内容,阅读本实验原理与方法。2编制信号产生子程序,用于产生实验中要用到的信号序列(1)系统单位脉冲响应序列 )4()3(2)(3)1(2)( nnnh (2)矩形序列 )(6Rx(3)理想采样信号序列对信号 进行理想采样,可以得到一个理想的采样信号序列)(cos)(tuAetta, 。其中 A为幅度因子, 是衰减因子, 是)(nTnTxnT10频率, 为采样周期。这几个参数要在实验过程中输入,以产生不同的 。)(nx3离散信号、系统和系统响应的分析观察信号 x(n)和系统 h(n)的时域和频域特性;利用线性卷积求信号通过系统以后的响应。比较系统响应和系统的时域
13、和幅频特性。注意它们之间有无差异,绘出图形。4分析理想采样信号序列的特性产生理想采样信号序列,使:(1)首先选用采样频率为 1000Hz,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并作记录。(2)改变采样频率为 300Hz,T=1/300,观察所得理想采样信号的幅频特性曲线的变化,并作记录。(3)进一步减小采样频率为 200Hz,T=1/200,观察频谱混叠现象是否明显存在,说明原因,并记录此时的幅频特性曲线。11五、思考题1线性时不变系统的输出的长度与输入和系统的单位冲激响应的长度有什么关系?2. 对信号进行理想抽样时,抽样频率不同,相应
14、理想采样序列傅立叶变换频谱的数字频率度量是否都相同7它们所对应的模拟频率是否相同?为什么?六、实验报告要求 1简述实验原理及目的。2. 总结在上机实验内容中要求比较时域、幅频曲线差异部分内容的结果,定性分析它们正确与否,并简要说明这些结果的含义。3.总结实验所得主要结论。4.简要回答思考题。12实验三 用 FFT 进行谱分析实验学时:2实验类型:设计实验要求:必修一、实验目的1.进一步加深对 DFT 算法原理和基本性质的理解(因为 FFT 只是 DFT 的一种快速算法,所以 FFT 的运算结果必然满足 DFT 的基本性质) 。2.熟悉 FFT 算法原理和 FFT 子程序的应用。3.学习用 FF
15、T 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用 FFT。二、实验原理1快速傅立叶变换(FFT)算法长度为 N 的序列 的离散傅立叶变换 为:)(nx)(kX10 1,.0)(nkNWkXN 点的 DFT 可以分解为两个 N/2 点的 DFT,每个 N/2 点的 DFT 又可以分解为两个 N/4 点的 DFT。依此类推,当 N 为 2 的整数次幂时( ),由于每分解一次降低一阶幂次,所MN2以通过 M 次的分解,最后全部成为一系列 2 点 DFT 运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。当需要进行变换的序列的长度不是 2 的整数
16、次方的时候,为了使用以 2为基的 FFT,可以用末尾补零的方法,使其长度延长至 2 的整数次方。序列 的离散傅立叶反变换为)(kXxnNXkWnNNn()(),.1010离散傅立叶反变换与正变换的区别在于 变为 ,并多了一个 的运算。因为 和1 NW对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将 FFT 和快速傅1NW立叶反变换(IFFT)算法合并在同一个程序中。2利用 FFT 进行频谱分析13若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行 FFT 运算求得 ,)(kX就代表了序列在 之间的频谱值。)(kX2,0幅度谱 )()()(22kXkXIR相位谱 )(arc
17、tnRI若信号是模拟信号,用 FFT 进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用 FFT 来对连续信号进行谱分析。按采样定理,采样频率应大于 2 倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低sf通滤波器。用 FFT 对模拟信号进行谱分析的方框图如下所示。抗混叠低通滤波器 采样 T=1/fs N 点 FFT三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。四、实验内容1知识准备实验前学生应认真复习 DFT 和 FFT 有关的知识,掌握快速傅里叶变换的基本原理以及如何用 FFT 等计算信号频谱。2离散时间信号
18、(序列)的产生利用 MATLAB 或 C 语言编程产生和绘制下列两有限长序列:、 、)8cos(nT)si( )5.0cos(*2)5.0sin(nTT、2co125.0.i3用一种语言编写 FFT 的通用程序块4画主程序实现框图并编写主程序,实现信号的谱分析。5记录下实验内容中各信号 的 X(k)值,作出频谱图。)(nx五、思考题 1. 根据实验中各 的 X(k)值以及频谱图,说明参数的变化对信号频谱产生哪些影)(响?142.如果周期信号的周期预先不知道,如何用 FFT 进行分析?六、实验报告要求 1.简述实验原理及目的。2.结合实验中所得给定典型序列幅频特性曲线,与理论结合比较,并分析说明
19、误差产生的原因以及用 FFT 作谱分析时有关参数的选择方法。3.总结实验所得主要结论。4.简要回答思考题。FFT 参考子程序void fft(double *dr,double *di,int N)int lh,m;lh=N/2;m=int(log(N)/log(2)+0.9999);int j=lh;int k;for(int i=1;i=k) j=j-k;k=k/2;j=j+k;for(i=1;i=m;i+)int b=int(pow(2.0,(i-1);for(j=0;jb;j+)double p;p=j*pow(2.0,(m-i)*2.0*PI/N;15for(k=j;kN; )dou
20、ble tr,ti;tr=drk+b*cos(p)+dik+b*sin(p);ti=dik+b*cos(p)-drk+b*sin(p);drk+b=drk-tr;dik+b=dik-ti;drk=drk+tr;dik=dik+ti;k=int(k+pow(2.0,i);16实验四 利用 FFT 实现快速卷积实验学时:2实验类型:设计实验要求:必修一、实验目的1加深理解 FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用 FFT 进行数字信号处理。2掌握循环卷积和线性卷积两者之间的关系。二、实验原理数字滤波器根据系统的单位脉冲响应 h(n)是有限长还是无限长可分为有限长单位脉冲响应(F
21、inite Impulse Response)系统(简记为 FIR 系统)和无限长单位脉冲响应(Infinite Impulse Response)系统(简记为 IIR 系统) 。对 于 FIR 滤 波 器 来 说 , 除 了 可 以 通 过 数 字 网 络 来 实 现 外 , 也 可 以 通 过 FFT 的 变 换 来 实 现 。首先我们知道,一个信号序列 x(n)通过 FIR 滤波器时,其输出应该是 x(n)与 h(n)的卷积:mnhxnhxy )()(*)(当 h(n)是一个有限长序列,即 h(n)是 FIR 滤波器,且 10Nn时10)()(Nmn在数字网络类的 FIR 滤波器中,普遍
22、使用的横截型结构就是按这个卷积公式构成的。应用 FFT 实现数字滤波器实际上就是用 FFT 来快速计算有限长度序列的线性卷积。这种方法就是先将输入信号 x(n)通过 FFT 变换为它的频谱采样值 X(k),然后再和 FIR滤波器的频响采样值 H(k)相乘, H(k)可事先存放在存储器中,最后再将乘积 H(k)X(k)通过快速傅里叶变换(简称 IFFT)还原为时域序列,即得到输出 y(n)。X(k)x(n)FFTIFFTH(k)H(k)X(k) y(n)现以 FFT 求有限长序列间的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT 的快速卷积方法。1 序 列 x(n)和 h(n)的 长 差
23、 不 多 。 设 x(n)的 长 为 N1, h(n)的 长 为 N2, 要 求1710)()()(Nmnxhnyxny用 FFT 完成这一卷积的具体步骤如下:为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度 ,若采用基 2-FFT 完成卷积运算,要求 ( m为整数) 。121N N2用补零方法使 x(n)和 h(n)变成列长为 N 的序列。0)(11nxn)(22Nh用 FFT 计算 x(n)和 h(n)的 N 点离散傅里叶变换完成 X(k)和 H(k)乘积, )()(kHxkY用 FFT 计算 Y(k)的离散傅里叶反变换得 *10*10 )()()( Nknk
24、NnNk WWny2当 x(n)长度很长时,即 ,通常不允许等 x(n)全部采集齐后再进行卷积,21否则使输出相对于输入有较长的延时,另外,若 太大,h(n)要补上太多的零点,121很不经济,且 FFT 的计算时间也要很长。为此,采用分段卷积的方法,即把 x(n)分成长度与 h(n)相仿的一段段,分别求出每段卷积的结果,然后用相应的方式把它们结合起来,便是总的输出。分段卷积方法主要有两种,即重叠相加法和重叠保留法。具体内容请参考数字信号处理教材中“快速离散傅里叶变换”一章中的线性卷积的 FFT 算法部分,本实验这部分不作重点要求。三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、T
25、C 编程环境。四、实验内容1数字滤波器的脉冲响应为 ,N 2取 8。)(2/1)(2nRnh输入序列 x(n)可选下列几种情况 ,N 1取 8。)()(1nRx ,N 1取 8。2cos ,N 1取 8。)(3)(1xn2实验前,预先计算好 的值。)(*nhx3实验前,预先编制一个应用 FFT 实现数字滤波器的通用程序。4上机独立调试,并打印或记录实验结果。185将实验结果与预先笔算的结果比较,验证其正确性。五、思考题1N 同时取 8、16、32 时,线性卷积和循环卷积的结果有何不同,为什么?2分析直接计算线性卷积和利用 FFT 计算线性卷积的时间。六、实验报告要求 1.简述实验原理及目的。2
26、.记录调试运行情况及所遇问题的解决方法。3. 给出实验结果,并对结果作出分析。4简要回答思考题。19实验五 IIR 数字滤波器的设计实验学时:2实验类型:设计实验要求:必修一、实验目的 1掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通 IIR 数字滤波器的计算机编程。2观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。 3熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特性。二、实验原理1利用模拟滤波器设计 IIR 数字滤波器方法
27、(1)根据所给出的数字滤波器性能指标计算出相应的模拟滤波器的设计指标。 (2)根据得出的滤波器性能指标设计出相应的模拟滤波器的系统函数 H(S)。(3)根据得出的模拟滤波器的系统函数 H(S),经某种变换得到对该模拟滤波器相应的数字仿真系统数字滤波器。将模拟滤波器转换成数字滤波器的实质是,用一种从 s 平面到 z 平面的映射函数将Ha(s)转换成 H(z)。对这种映射函数的要求是:(1) 因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。 (2)数字滤波器的频率响应模仿模拟滤波器的频响,s 平面的虚轴映射 z 平面的单位圆,相应的频率之间成线性关系。脉冲响应不变法和双线性变换法都满足如上要
28、求。2脉冲响应不变法用数字滤波器的单位脉冲响应序列 h(n)模仿模拟滤波器的冲激响应 ha(t),让 h(n)正好等于 ha(t)的采样值,即 h(n)=ha(nT),其中 T 为采样间隔。3双线性变换法s 平面与 z 平面之间满足以下映射关系: 120s 平面的虚轴单值地映射于 z 平面的单位圆上,s 平面的左半平面完全映射到 z 平面的单位圆内。双线性变换不存在混叠问题。双线性变换时一种非线性变换 ,这种非线性引起的幅频特性畸变可通过)2/(tg预畸而得到校正。以低通数字滤波器为例,将设计步骤归纳如下:(1)确定数字滤波器的性能指标:通带临界频率 fp、阻带临界频率 fs;通带内的最大衰减
29、 Ap;阻带内的最小衰减 As; (2)确定相应的数字角频率, p=2fp; s=2fs; (3)计算经过预畸的相应模拟低通原型的频率, ; )2/(tg(4)根据 p 和 s 计算模拟低通原型滤波器的阶数 N,并求得低通原型的传递函数 Ha(s);(5)用上面的双线性变换公式代入 Ha(s),求出所设计的传递函数 H(z); (6)分析滤波器特性,检查其指标是否满足要求。三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。四、实验内容1知识准备在实验前复习数字信号处理理论课中有关滤波器设计的知识,认真阅读本实验的原理部分。2编制用脉冲响应不变法和用双线性变换法设计
30、IIR 数字滤波器的程序。采样周期、通带和阻带临界频率以及相应的衰减等参数在程序运行时输入;根据这些输入参数,计算阶数 N、传递函数;输出分子分母系数;绘制幅频特性曲线,绘制点数为 50 点。(1)利用脉冲响应不变法设计 Butterworth、Chebyshev 和椭圆数字低通滤波器,要求满足 , 。6.0,2.sp dBAap15,2(2)利用双线性变换法设计 Butterworth、Chebyshev 和椭圆数字滤波器,要求满足, 。.,.0sp dap,(3)设计 Butterworth、Chebyshev 和椭圆高通数字滤波器,3dB 数字截止频率为,阻带下边频 ,阻带衰减 。rad
31、c. rs05.dBAs48五、实验思考1双线性变换法中 和 之间的关系是非线性的,在实验中你注意到这种非线性关系21了吗?从那几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系? 2能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?六、实验报告要求 1.简述实验原理及目的。2.按照实验步骤及要求,比较各种情况下的滤波性能。3.总结实验所得主要结论。4.简要回答思考题。22实验六 FIR 数字滤波器的设计实验学时:2实验类型:设计实验要求:必修一、实验目的1熟悉 FIR 滤波器的设计基本方法2掌握用窗函数设计 FIR 数字滤波器的原理与方法,熟悉相应的计算机高级语言编程。3熟悉线性相
32、位 FIR 滤波器的幅频特性和相位特性。4了解各种不同窗函数对滤波器性能的影响。二、实验原理与方法FIR 滤波器的设计问题在于寻求一系统函数 ,使其频率响应 逼近滤波器)(zH)(jeH要求的理想频率响应 ,其对应的单位脉冲响应 。)(jdeHnhd1用窗函数设计 FIR 滤波器的基本方法设计思想:从时域从发,设计 逼近理想 。设理想滤波器 的单位脉)(nh)(d )(jde冲响应为 。以低通线性相位 FIR 数字滤波器为例。)(nhddeHnhejnddjnj )(21)(一般是无限长的,且是非因果的,不能直接作为 FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器 h(n),最
33、直接的方法是截断 ,即截取)()(nwhd为有限长因果序列,并用合适的窗函数进行加权作为 FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即2/)1(Nanwhd用矩形窗设计的 FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的 9%,这个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。2典型的窗函数(1)矩形窗(Rectangle Window)23)()(nRwN其频率响应和幅度响应分别为:, 21)/si()(Njj eeW )2/sin()(NW
34、R(2)三角形窗(Bartlett Window)12,10)( NnNnw其频率响应为: 2)/si(4)(jj eeW(3)汉宁(Hanning)窗,又称升余弦窗)(12cos(1)(nRNnw其频率响应和幅度响应分别为: )12()12(5.0)(5.)( )()(.)(.)( )21( NWWe ee RRRaj NjRRRj (4)汉明(Hamming)窗,又称改进的升余弦窗)(cos(46.)( nNnw其幅度响应为: )12()123.0)5. NRRR (5)布莱克曼(Blankman)窗,又称二阶升余弦窗)(4cos(8.)12cos(.04)( nNnnw其幅度响应为: )
35、1()(.)2250WNWRRR(6)凯泽(Kaiser)窗0,)()1/21()020 NnInInw其中: 是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,24越大,过渡带越宽,阻带越小衰减也越大。I 0()是第一类修正零阶贝塞尔函数。若阻带最小衰减表示为 , 的确定可采用下述经验公式:ssA1log2 50)7.8(102. )(06.54 214. ss sA若滤波器通带和阻带波纹相等即 p=s 时,滤波器节数可通过下式确定:136.495FANs式中: 2ps3利用窗函数设计 FIR 滤波器的具体步骤如下:(1)按允许的过渡带宽度 及阻带衰减 AS,选择合适的窗函
36、数,并估计节数 N:其中 A 由窗函数的类型决定。(2)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应 。)(nhd(3)确定延时值 (4)计算滤波器的单位取样响应 , 。)(nh)(wnhd(5)验算技术指标是否满足要求。三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。四、实验内容及步骤1知识准备在实验编程之前,认真复习有关 FIR 滤波器设计的有关知识,尤其是窗函数的有关内容,阅读本次实验指导,熟悉窗函数及四种线性相位 FIR 滤波器的特性,掌握窗函数设计滤波器的具体步骤。2编制窗函数设计 FIR 滤波器的主程序及相应子程序。绘制它的幅频和相位曲线,观察幅
37、频和相位特性曲线的变换情况,注意长度 N 对曲线的影响。(1) 设计一线性相位 FIR 数字低通滤波器,截止频率 ,过渡带宽度2.0c,阻带衰减 dB。4.040sA(2) 设计一线性相位 FIR 数字高通滤波器,要求通带截止频率 ,阻带截止频5.p率 ,通带最大衰减 ,阻带最小衰减 。 25.s dBp1dBAs40(3) 用 Kaiser 窗设计满足下列指标的线性相位 FIR 低通滤波器。 ,3.0p25,Ap=1dB, As=40dB。5.0s五、实验思考1定性地说明用本实验程序设计的 FIR 滤波器的 3dB 截止频率在什么位置?它等于理想频率响应 Hd(ej)的截止频率吗? 2如果没
38、有给定 h(n)的长度 N,而是给定了通带边缘截止频率 c 和阻带临界频率p,以及相应的衰减,你能根据这些条件用窗函数法设计线性相位 FIR 低通滤波器吗? 六、实验报告要求 1简述实验原理及目的。2按照实验步骤及要求,比较各种情况下的滤波性能。3总结实验所得主要结论。4简要回答思考题。26实验七 数字信号处理综合设计 实验学时:2实验类型:设计实验要求:必修一、实验目的1学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法;2掌握在 Windows 环境下语音信号采集的方法;3掌握数字信号处理的基本概念、基本理论和基本方法;4掌握 MATLAB 设计 FIR 和 IIR 数字滤波器
39、的方法;5学会用 MATLAB 对信号进行分析和处理。二、实验原理参考数字信号处理教材。三、主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。四、实验内容1语音信号的采集要求利用 windows 下的录音机或其他软件,录制一段自己的话音,时间控制在 1 秒左右。然后在 MATLAB 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频率和采样点数。通过 wavread 函数的使用,要求理解采样频率、采样位数等概念。wavread 函数调用格式:y=wavread(file),读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。y,fs,n
40、bits=wavread(file),采样值放在向量 y 中,fs 表示采样频率( Hz) ,nbits 表示采样位数。y=wavread(file,N),读取前 N 点的采样值放在向量 y 中。y=wavread(file,N1,N2),读取从 N1 点到 N2 点的采样值放在向量 y 中。2语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在 MATLAB 中,可以利用函数 fft 对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。273设计数字滤波器和画出频率响应根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1
41、000Hz,fc=1200 Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800 Hz,fp=5000 Hz As=100dB,Ap=1dB;3)带通滤波器性能指标, fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB,Ap=1dB。要求学生首先用窗函数法设计上面要求的三种滤波器,在 MATLAB 中,可以利用函数 fir1 设计 FIR 滤波器;然后在用双线性变换法设计上面要求的三种滤波器,在 MATLAB 中,可以利用函数 butte、cheby1 和 ellip设计 IIR 滤波器;最后,利用 MA
42、TLAB 中的函数 freqz 画出各滤波器的频率响应。4用滤波器对信号进行滤波比较两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在MATLAB 中,FIR 滤波器利用函数 fftfilt 对信号进行滤波,IIR 滤波器利用函数 filter 对信号进行滤波。5比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。6回放语音信号在 MATLAB 中,函数 sound 可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。五、实验思考1双线性变换法中 和 之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?
43、从那几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系? 2能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?六、实验报告要求 1.简述实验原理及目的。2.按照实验步骤及要求,比较各种情况下的滤波性能。3.总结实验所得主要结论。4.简要回答思考题。28附件五:(学生实验报告基本内容要求)实验报告的基本内容及要求每门课程的所有实验项目的报告必须以课程为单位装订成册,格式参见附件五。实验报告应体现预习、实验记录和实验报告,要求这三个过程在一个实验报告中完成。1实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品
44、资料以及简要的实验步骤,形成一个操作提纲。对实验中的安全注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案。2实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3实验总结主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法等。29附件六:实验报告格式贵州大学实验报告学院: 专业: 班级:姓名 学号 实验组实验时间 指导教师 成绩实验项目名称实验目的实验要求实验原理实验仪器实验步骤30实验内容实验数据实验总结指导教师意见 签名: 年 月 日注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。