《数字信号处理》实验指导书周春编写适用专业:电子信息工程通信工程安徽建筑工业学院电子与信息工程学院2008年09月1前言《数字信号处理》是一门理论和实践密切结合的课程,为深入掌握课程内容,应当在学习理论的同时上机实验。上机实验不仅可以帮助学生深入的理解和消化基本理论,而且能锻炼初学者独立解决问题的能力。本书根据课程重点编写了四个实验。采样定理,时域离散系统的时域和频域分析以及系统对输入信号的响应是数字信号处理的基本内容,在学习完该部分内容后,进行实验一,以帮助读者掌握以上内容。同时加深学生对“数字信号处理是通过对输入信号的一种运算达到处理目的的一种运算”的理解DFT、FFT是数字信号处理的重要数学工具,它具有广泛的使用内容。学习完该部分内容后,进行实验二“用FFT对信号进行谱分析”,通过该实验加深理解DFT的基本概念、基本性质,及其快速算法FFT。DFT和FFT是学习数字信号处理必须掌握的内容。数字滤波器的基本理论和设计方法是数字信号处理技术的重要内容。学习这一部分时,应重点掌握IIR和FIR两种滤波器的基本设计方法。IIR滤波器的单位脉冲响应是无限长的,设计方法是先设计模拟滤波器,然后通过S-Z平面转换,求出响应滤波器的系统函数。这里的平面转换有两种方法,即脉冲响应不变法和双线性变换法。后者没有频率混叠的缺点,且转换简单,是一种普遍应用的方法。FIR滤波器的单位脉冲响应是有限长的,设计滤波器的目的即是求出符合要求的单位脉冲响应。窗函数法是一种基本的,也是重要的设计方法。《数字信号处理》实验适用于电子信息工程、通信工程等专业学生2的实践性教学环节,通过该课程的学习,使学生能够熟练掌握数字信号处理的一般方法,熟练使用Matlab作为编程工具,实现在课堂上学习过的各种数字信号处理方法与滤波器设计方法,在此基础上养成严谨认真的科学工作作风,为今后的工作打下良好的基础。在本课程的学习中,学生应达到如下要求:1、提前预习课本、实验指导书和参考书籍,巩固和加深对实验中要用到基本理论知识的理解;2、在实验过程中认真观察分析实验结果,运用所学知识解决实验中发生的问题;3、能熟练使用编程工具Matlab;4、正确处理实验数据,并完成符合要求的实验报告。本实验指导书共包括四个实验,分别是:信号、系统及系统响应、用FFT作谱分析、用双线性变换法设计IIR数字滤波器、用窗函数法设计FIR数字滤波器,均为必做实验。主讲教师可以根据实际教授的专业和课时情况适当增、减部分实验内容。学生在做完每个实验后,必须独立写出详细的实验报告,包括实验方法、实验过程(步骤)及结果、实验结果分析等等。3实验简要介绍序号实验项目名称内容提要主要仪器设备及台套数实验类型实验要求计划学时每组人数1信号、系统及系统响应1、用matlab画出指定的连续信号,并对其采样,观察不同采样频率的采样结果。2、用matlab观察信号的时域、频域响应,验证卷积定理计算机Matlab验证必做2402用FFT作谱分析1、用matlab显示指定信号并做谱分析2、观察不同点数FFT结果计算机Matlab验证必做2403用双线性变换法设计IIR数字滤波器用双线性变换法设计巴特沃斯低通IIR数字滤波器,显示其幅频率响应,并用其对心电信号滤波计算机Matlab验证必做2404用窗函数法设计FIR数字滤波器编写程序实现矩形窗、升余弦窗、改进升余弦窗和二阶升余弦窗的FIR数字滤波器计算机Matlab验证必做240合计84目录前言..........................................................................................................1实验一:信号、系统及系统响应................................................................5实验二:用FFT作谱分析.........................................................................11实验三:用双线性变换法设计IIR数字滤波器......................................16实验四:用窗函数法设计FIR数字滤波器.............................................195实验一:信号、系统及系统响应实验学时:2实验类型:验证实验要求:必修一、实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对采样定理的理解。2、熟悉时域离散系统的时域特性。3、利用卷积方法观察分析系统的时域特性。4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。二、实验内容1、认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容。2、编制实验用主程序及相应子程序,包括(1)信号产生子程序,用于产生实验中要用到的下列信号序列:a、采样信号序列:对下面的连续信号:)()sin()(0tutAetxata(1.1)进行采样,可得到采样序列500),()sin()()(0nnunTAenTxnxanTaa(1.2)其中A为幅度因子,a为衰减因子,Ω0是模拟角频率,T为采样间隔。这些参数都要在实验过程中由键盘输入,产生不同的xa(t)和xa(n)。b、单位脉冲序列:)()(nnxbc、矩形序列:10),()(NnRnxNc6(2)系统单位脉冲响应序列产生子程序。本实验要用到两种FIR系统a、)()(10nRnhab、)3()2(5.2)1(5.2)()(nnnnnhb(3)有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。可以直接调用MATLAB语言中卷积函数conv。conv用于两个有限长度序列的卷积,它假定两个序列都从n=0开始。调用格式如下:y=conv(x,h)其中参数x和y是两个已赋值的行向量序列。在完成编制上述子程序的基础上,编制本实验主程序。图1.1给出主程序流程框图,供参考。开始调用信号产生子程序调用序列傅氏变换数值计算子程序,求)(kjeX两次调用绘图子程序,分别绘制x(n),的图形)(kjeX改变信号序列否?YN调用系统单位脉冲响应序列产生子程序,求h(n)调用傅氏变换数值计算子程序,求)(kjeH两次调用绘图子程序,分别绘制h(n),的图形)(kjeH改变h(n)否?YN调用卷积子程序,求y(n)=x(n)*h(n)调用傅氏变换数值计算子程序,求)(kjeY两次调用绘图子程序,分别绘制y(n),的图形)(kjeY结束图1.17三、实验原理、方法和手段采样是连续信号数字处理的第一个关键环节。对采样过程的研究不仅可以了解采样前后信号时域和频域发生的变化以及信号信息不丢失的条件,而且可以加深对傅里叶变换、Z变换和序列傅里叶变换之间关系式的理解。我们知道,对一个连续信号xa(t)进行理想采样的过程可以用下式表示)()()(^tptxtxaa(1.3)其中)(^txa为)(txa的理想采样,p(t)为周期冲激脉冲,即nnTttp)()((1.4))(^txa的傅里叶变换)(^jXa为msaamjXTjX)]([1)(^(1.5)上式表明,)(^jXa为)(jXa的周期延拓,其延拓周期为采样角频率(Ωs=2π/T)。只有满足采样定理时,才不会发生频率混叠失真。在计算机上用高级语言编程,直接按照1.5式计算)(^txa的频谱)(^jXa很不方便,下面导出用序列的傅里叶变换来计算)(^jXa的公式。将1.4式代入1.3式,并进行傅里叶变换,nTjnatjnatjnaaenTxdtenTttxdtenTttxjX)()()(])()([)(^(1.6)式中的xa(nT)就是采样后的序列x(n),即:x(n)=xa(nT)x(n)的傅里叶变换为nnjjenxeX)()((1.7)比较1.7和1.6可知TjaeXjX)()(^(1.8)说明两者之间只在频率度量上差一个常数因子T。实验过程中应注意这一差别离散信号和系统在时域均可以用序列来表示,序列图形给人以形象直观的印8象,它可以加深我们对信号和系统的时域特征的理解。本实验还将观察分析几种信号及系统的时域特性。为了在数字计算机上观察分析各种序列的频域特性,通常对X(ejω)在[0,2π]上进行M点采样来观察分析。对长度为N的有限长序列x(n),有10)()(NnnjkjkemxeX(1.9)其中1,...,1,0,2MkkMk通常M应取的大一些,以便观察谱的细节变化。取模)(kjeX可绘出幅频特性曲线。一个时域离散线性非移变系统的输入/输出关系为mmnhmxnhnxny)()()(*)()((1.10)这里y(n)为系统的输出序列,x(n)为输出序列。h(n)、x(n)可以是无限长,也可以是有限长,为了计算机绘图观察方便,主要讨论有限长情况。如果h(n)和x(n)的长度分别为N和M,则y(n)的长度为L=N+M-1。这样(1.10)式所描述的卷积运算就是序列移位、相乘和累加的过程,所以编程十分简单。上述卷积运算也可以在频域实现)()()(jjjeHeXeY(1.11)1.11式右边的相乘是在个频点{ωk}上的频谱值相乘。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用集中授课形式为主的方式进行。五、实验条件1、计算机2、matlab9六、实验步骤1、分析采样序列的特性,产生采样信号序列xa(n),使250250128.4440,,aA。图1.2给出了连续信号xa(t)的幅频特性曲线。由此图可以确定对xa(t)应采用的采样频率。a、取采样频率fs=1kHz,即T=1ms。观察所得采样xa(n)的幅频特性)(jeX和图1.2中的)(jXa在折叠频率附近有无明显差别。应当注意,实验中所得频率是用序列xa(n)的傅里叶变换公式求得的,所以在频率度量存在关系:T,ω为数字频率,Ω为模拟频率。b、改变采样频率,fs=300Hz,观察)(jeX,并做记录(打印曲线);进一步降低采样频率fs=200Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的)(jeX曲线。2、时域离散信号、系统和系统响应分析。a、观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域和频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。b、观察系统ha(n)对信号xc(n)的响应特性。利用线性卷积求系统响应y(n),并判断y(n)的图形及其非零值序列长度是否与理论结果一致,对xc(n)=ha(n)=R10(n),说出一种定性判断y(n)图形正确与否的方法,调用序列傅里叶变换数值计算子程序,求得)(kjeY,观察)(kjeY特性曲线,定性判断结果的正确性。改变xc(n)的长度,取N=5,重复改实验。注意参数变化的影响,说明变化前后的差异,并解释所得结果。3、卷积定理的验证。将实验2中的信号换成xa(n),使110374.24.00TAa,,,,重复实验2a,打印)(kjeY曲;对主程序做简单修改,按式1.11计算11,0)()()(MkeHeXeYkkkjbjaj,,,010020030040050010.80.60.40.20图1.2|xa(jf)|10所得结果之间有无差异?为什么?七、思考题1、在分析理想采样序列特性的实验中,采样频率不同时,相应的理想采样序列的傅里叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?2、