1数字信号处理课程设计选做题目及要求一、课程设计题目1.DFT在信号频谱分析中的应用2.用窗函数法设计FIR数字低通滤波器注:以上课程设计题目具体要求可参考附录一二、课程设计的考核方法及成绩评定课程设计的考核依据学生的学习态度、方案合理性、资料完备性、创造性、报告撰写规范性和书面表达能力等为考核点,对学生进行综合考核。成绩评定采用优秀、良好、中等、及格和不及格五级记分制。评定细则如下:1.遵守纪律(10%):根据设计出勤情况、遵守纪律情况及设计态度等因素评定;2.设计报告(80%):根据课程设计报告书内容要求和实际完成情况评定;3.设计效果(10%):根据设计实际完成的质量及设计中的创造性评定;对设计任务理解透彻,能够全面、正确、独立地完成设计内容所规定的任务,得出正确的设计结果,并按时提交完整、规范的设计报告,可评为优秀;按照设计任务要求能够顺利地完成任务,得出结果,按时提交较完整的、符合要求的设计报告,可评定为良好;按照设计要求完成了软件的编程与调试,基本完成了任务要求,提交符合要求的设计报告,可评为中等;基本完成设计目标,但不够完善,存在缺陷,在帮助指导下能够完成任务要求,提交设计报告,可评为及格;不能完成规定的任务和要求,未提交设计报告的,或抄袭他人设计报告的评为不及格。三、课程设计报告撰写格式要求课程设计报告格式按附录三中的要求去做。报告应认真书写,条理清晰,内容充实、插图规范,符合设计格式要求。程序执行结果的图形尽量打印出来。注:附录一:可供参考的课程设计题目及具体内容要求附录二:MATLAB语言简介附录三:课程设计报告撰写格式2附录一:可供参考的设计题目及具体内容要求设计一DFT在信号频谱分析中的应用一、设计目的1.熟悉DFT的性质。2.加深理解信号频谱的概念及性质。3.了解高密度谱与高分辨率频谱的区别。二、设计任务与要求1.学习用DFT和补零DFT的方法来计算信号的频谱。2.用MATLAB语言编程来实现,在做课程设计前,必须充分预习课本DTFT、DFT及补零DFT的有关概念,熟悉MATLAB语言,独立编写程序。三、设计内容1.用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。并与MATLAB中的内部函数文件fft.m作比较。2.对离散确定信号()cos(0.48)cos(0.52)xnnn作如下谱分析:(1)截取()xn使()xn成为有限长序列N(0nN-1),(长度N自己选)写程序计算出()xn的N点DFT()Xk,画出时域序列图xn~n和相应的幅频图()~Xkk。(2)将(1)中()xn补零加长至M点,长度M自己选,(为了比较补零长短的影响,M可以取两次值,一次取较小的整数,一次取较大的整数),编写程序计算()xn的M点DFT,画出时域序列图和两次补零后相应的DFT幅频图。(3)利用补零DFT计算(1)中N点有限长序列()xn频谱()jXe并画出相应的幅频图()~jXe。3.研究高密度谱与高分辨率频谱。对连续确定信号333()cos(26.510)cos(2710)cos(2910)axtttt以采样频率fs=32kHz对信号()axt采样得离散信号()xn,分析下列三种情况的幅频特性。(1)采集数据()xn长度取N=16点,编写程序计算出()xn的16点DFT()Xk,并画出相应的幅频图()~Xkk(2)采集数据()xn长度N=16点,补零加长至M点(长度M自己选),利用补零DFT计算3()xn的频谱1()jXe并画出相应的幅频图1()~jXe。(3)采集数据()xn长度取为M点(注意不是补零至M),编写程序计算出M点采集数据()xn的的频谱2()jXe并画出相应的幅频图2()~jXe。四、设计报告要求1.简述设计目的及原理。2.完成设计中要求的各种理论推导和计算,并列出相应的MATLAB程序。3.绘出设计中要求的各种曲线,并作出说明。4.结合设计过程,归纳得出结论,并分析设计中遇到的问题及解决思路和方法。5.写出设计体会。6.简要回答如下思考题:(1)对比设计内容2中(1)(2)(3)的图,说明补零DFT的作用。(2)解释设计内容3中1()~jXe图和2()~jXe图有什么区别?补零DFT能否提高信号的频谱分辨率,说明提高频谱密度、频谱分辨率的措施各是什么?设计二用窗函数法设计FIR数字低通滤波器一、设计目的1.熟悉设计线性相位数字滤波器的一般步骤。2.掌握用窗函数法设计FIR数字滤波器的原理和方法。3.熟悉各种窗函数的作用以及各种窗函数对滤波特性的影响。4.学会根据指标要求选取合适的窗函数。二、设计任务与要求1.学会计算滤波器各项性能指标及如何来满足给定的指标要求。2.用MATLAB语言编程实现给定指标要求的滤波器的设计。3.熟悉MATLAB语言,独立编写程序。4.设计低通FIR滤波器的指标:通带最大波动0.25,pRdB,0.2p阻带最小衰减50,sAdB,0.3s三、设计内容1.熟悉各种窗函数,在MATLAB命令窗下浏览各种窗函数,绘出(或打印)所看到的窗函数图。2.编写计算理想低通滤波器单位抽样响应hd(n)的m函数文件ideal.m。43.编写计算N阶差分方程所描述系统频响函数()jHe的m函数文件fr.m。4.根据指标要求选择窗函数的形状与长度N。5.编写.m程序文件,通过调用ideal.m和fr.m文件,计算你设计的实际低通FIR滤波器的单位抽样响应h(n)和频率响应()jHe,打印在频率区间[O,π]上的幅频响应特性曲线()~jHe,幅度用分贝表示。6.验证所设计的滤波器是否满足指标要求。四、设计报告要求1.简述设计目的及原理。2.完成设计中要求的各种理论推导和计算,并列出相应的MATLAB源程序。3.绘出(或打印)设计中要求的各种曲线及数据,并作出说明。4.将你所设计的滤波器的技术指标计算出来,并与给定的指标作比较,归纳得出结论。5.写出设计体会。6.简要回答如下思考题:(1)设计线性相位数字滤波器的一般步骤。(2)窗函数有哪些指标要求?对给定指标要求的低通滤波器,理论计算所需窗函数的长度N。(3)用窗函数法设计FIR滤波器,滤波器的过渡带宽度和阻带衰减与哪些因素有关?(4)比较所选窗长N相同但窗形状不同对滤波器设计结果的影响以及选同一种窗函数但窗长N不同时对滤波器设计结果的影响,将结论写在报告中。附录二:MATLAB简介本课程设计是以MATLAB语言程序用法为基础,在MATLAB环境下完成各项设计内容。下面介绍MATLAB语言及其用法。(一)MATLAB语言概述1、MATLAB语言的发展MATLAB语言是由美国的CleverMoler博士于1980年开发的,设计者的初衷是为解决“线性代数”课程的矩阵运算问题,取名MATLAB即MatrixLaboratory矩阵实验室的意思。MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理;声音处理于一身,并提供了丰富的Windows图形界面设计方法。MATLAB语言是功能强大的计算机高级语言,它以超群的风格与性能风靡全世界,成功地应用于各工程学科的研究领域。MATLAB在美国已经作为大学工科学生必修的计算机语言之一(C、FOR-TRAN、ASSEMBLER、MATLAB)。近年来,MATLAB语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校。2、MATLAB能在各领域做什么5①工业研究与开发;②数学教学,特别是线性代数;③数值分析和科学计算方面的教学与研究;④电子学、控制理论和物理学等工程和科学学科方面的教学与研究;⑤经济学、化学和生物学等计算问题的所有其他领域中的教学与研究,等等。3、MATLAB语言的功能①强大的数值(矩阵)运算功能;②广泛的符号运算功能;③高级与低级兼备的图形功能(计算结果的可视化功能);④可靠的容错功能;⑤应用灵活的兼容与接口功能;⑥信息量丰富的联机检索功能。(二)MATLAB的程序设计MATLAB语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易。m文件简介:用户如想灵活应用matlab去解决实际问题,充分调用matlab的科学技术资源,就需要编辑m文件。包含matlab语言代码的文件称为m文件,其扩展名为m。编辑m文件可使用各种文本编辑器。1、matlab的工作模式窗口+m文件窗口。(1)指令驱动模式通常matlab以指令驱动模式工作,即在matlab窗口下当用户输入单行指令时,matlab立即处理这条指令,并显示结果,这就是matlab命令行方式。命令行操作时,matlab窗口只允许一次执行一行上的一个或几个语句。(2)m文件模式将matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。程序文件不能在指令窗口下建立,因为指令窗口只允许一次执行一行上的一个或几个语句。2、m文件的创建m文件的类型是普通的文本文件,我们可以使用系统认可的文本文件编辑器来建立m文件。如dos下的edit,windows的记事本和word等。3、matlab文件的类型(1)数据文件(mat)mat文件是matlab以标准二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来。mat文件的生成和调用是由函数save和load完成的。(2)m文件m文件的语法类似于c语言,但又有其自身特点。它只是一个简单的ASCII码文本文件,执行程序时逐行解释运行程序,matlab是解释性的编程语言。m文件有两类独立的m文件:命令文件和函数文件。函数文件为可调用的m文件,即简单的m文件;命令文件实际上是一串指令的集合,与在命令窗口逐行执行文件中的所有指令,其结果是一样的。没有输入输出参数。命令文件包括两部分:注释文件和程序文件。(3)matlab内置函数文件matlab自定义的函数文件称内置函数文件。调用内置函数的方法:使用函数名并给出相应的入口、出口参数即可。(4)函数m文件需要输入变量,返回输出变量。matlab用户可以根据需要编辑自己的m文件,它们可以像库函数一样方便的调用,从而极大地扩展了matlab的能力。对于某一类特殊问题,6如创建了许多m函数文件,则可形成新的工具箱。这种用matlab语言创建定义新的matlab函数的功能,正体现了matlab语言强大的扩展功能。函数m文件的格式:function返回变量=函数名(输入变量)注释说明语句段程序语句段(三)MATLAB矩阵运算1、矩阵的输入①在命令窗口中输入》a=1;b=2;c=3;》x=[5bc;a*ba+cc/b]x=5.0002.0003.0002.0004.0001.500②语句生成用线性等间距生成向量矩阵(start:step:end)》a=[1:2:10]a=13579③一些常用的特殊矩阵单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);zeros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量V=[a1,a2,…,an]A=diag(V)随机矩阵:rand(m,n)产生一个m×n的均匀分别的随机矩阵2、矩阵的运算①转置。对于实矩阵用(’)符号或(.’)求转置结果是一样的;然而对于含复数的矩阵,则(’)将同时对复数进行共轭处理,而(.’)则只是将其排列形式进行转置。②四则运算与幂运算。③逆矩阵与行列式计算。④求逆inv(A)。⑤求行列式det(A)。(四)绘图简介MATLAB提供了丰富的绘图功能:helpgraph2d可得到所有画二维图形的命令。helpgraph3d可得到所有画三维图形的命令。下面介绍常用的二维图形命令。1、基本的绘图命令plot(x1,y1,option1,x2,y2,option2,…)。x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似地绘制第二个二维图形,……等。这是plot命令的完全格式,在实际应用中可以根据需要进行简化。比如:plot(