数字信号处理实验指导书思考题答案实验图
- 格式:doc
- 大小:426.00 KB
- 文档页数:12
一、思考题1、C2、C3、D4、A5、D6、B7、D8、B9、C 10、A 11、C 12、C 13、A 14、A 15、B 16、C 17、A 18、C二、概念填空题1、(1)付氏级数(2) hd (n)(理想的单位脉冲响应)(3) R N(n)(N点矩形窗或N点矩形序列)(4) h (n)(单位脉冲响应)(5)吉布斯(6)波动(不平稳)(7)衰减(最小衰减)2、(8)(9)三角窗、汉宁窗、哈明窗、布莱克曼窗(10)过渡带(11)衰减3、(12)时(13) h (n)(数字滤波器单位脉冲响应)(14) h a(t)(模拟滤波器冲激响应)(15)频谱混叠(16 )折叠频率(兀/T)4、(17)偶对称(奇对称)(18)奇对称(偶对称)(19)〃二堕二1! (20)线性相位特性25、(21)时(22)窗函数(23)有限长(24)逼近6、(25)某种优化逼近方法(26)逼近(27)频率响应(28)最优三、判断说明题1、判断:正确简述:按照频率采样滤波器结构的推导,上述说法是正确的,这正是频率采样结构的一个优点。
但对于不同的频响形状,N个并联一阶节的支路增益H (k)不同。
2、判断:一致简述:由于对模拟滤波器而言,因果稳定系统传递函数H a(s)的极点均在S平面的左半平面,只要转换关系满足使S平面的左半平面转换到Z平面的单位圆内,就保证了转换后数字滤波器系统函数H (z) 的极点全部在Z平面的单位圆内,从而保证了系统的因果稳定性。
3、判断:不对简述:正确的表述应为:IIR滤波器只能采用递归型结构实现;FIR 滤波器一般采用非递归型结构实现,但也可使结构中含有递归支路。
就是说滤波器结构与特性没有必然的联系。
4、判断:一致简述:由于对模拟域而言,其频率轴就是S平面的虚轴j。
轴,而对数字域来说,其频率轴是z平面的单位圆,因此两者是一致的。
四、计算应用题1、解:1)容易将H (z)写成级联型的标准形式如下:)二(2 + 3广)(3-2广 + 广)H(Z一(4 —广)(1 + 0.9广—0.81厂2)0.5+ 3-2广+疽—— ________ z ______ * ___________________________________1 + 0.9/—0.81厂2显见,该系统的级联结构由一个直接II型一阶节和一个直接II型二阶节级联而成,因此容易画出该系统的级联型结构图如图A-1所示。
数字信号处理实验讲义二O一六年三月目录实验一离散时间信号的时域分析 (5)实验二离散时间系统的时域分析 (10)实验三离散时间信号的频域分析 (14)实验四线性时不变离散时间系统的频域分析 (20)实验五IIR数字滤波器的设计 (23)实验六FIR数字滤波器的设计 (33)附录A MATLAB系统的常用概念 (36)附录B 信号处理工具箱函数 (44)前言数字信号处理研究数字序列信号的表示方法,并对信号进行运算,以提取包含在其中的特殊信息。
近几十年来,由于在研究及应用两方面均取得了进展,数字信号处理领域已日趋成熟。
由于计算机的大量使用,从而很容易向学生提供实际环境,以验证所学的概念和算法。
本指导书编程语言是MATLAB,它广泛应用于高性能数值计算和可视化。
本书假定读者已具备MATLAB基础知识。
前面的一些实验帮助学生理解信号处理的重要概念,后面以设计性实验项目为主,有利于加强对原理的理解并且加强对技术的应用。
附录中给出了本书中用到的MATALB函数及简要解释。
实验一离散时间信号的时域分析一.实验目的熟悉MATLAB中产生信号和绘制信号的基本命令;熟悉序列的简单运算,如:加法、标量乘法、时间反转、延时、乘法等。
二.实验相关知识准备1.用到的MATLAB命令运算符号::. + - * / ; %基本矩阵:i ones pi rand randn zeros基本函数:cos exp imag real数据分析:sum二维图形:axis grid legend plot subplot stairs stem title xlableylable clf工具箱:sawtooth square离散时间信号用数字序列x[n]来表示,常用的信号有单位冲激信号,单位阶跃信号,正弦信号,指数信号等三.实验内容1.离散时间序列的产生(1) 单位抽样序列(单位冲激信号)的产生和绘制%program 1clf; % 清除图形窗口n=-10:20; % 产生向量n,取值-10 - 20,间隔为1u=[zeros(1,10) 1 zeros(1,20)]; % 生成单位冲激信号,前面10个0,后面20个0stem(n,u); % 以n为横坐标,u为纵坐标画杆状图xlabel('Time index n');ylabel('Amplitude');%定义横纵坐标轴名称title('Unit Sample Sequence'); %标注图形名称axis([-10 20 0 1.2]); %定义坐标轴范围(2) 单位阶跃信号的产生用S=ones(1, N)(表示产生长度为N的一维行向量), 请采用与程序1相似的过程产生单位阶跃信号并画图。
《数字信号处理》上机实验指导书万国龙周秀芝编写北京航空航天大学电子工程系目录1.前言 (1)2.实验一:连续信号的采样 (3)3.实验二:IIR滤波器的设计 (5)4.实验三:FIR滤波器的设计 (7)5.实验四:用FFT对连续时间信号进行频谱分析 (9)6.实验五:卷积和滤波 (11)7.实验六:电话号码分析 (13)8.附录A:MA TLAB系统与语言简介 (14)9.附录B:信号处理工具箱函数 (21)10.参考书目 (22)前言自60年代以来,随着计算机和信息学科的飞速发展,数字信号处理(Digital Signal Processing,DSP)技术应用而生并迅速发展,现已形成一门独立的学科体系。
当前,我们正在全面地进入数字时代,随着微电子技术的迅速发展,通用的DSP芯片的性能不断提高,而价格持续地下降。
以DSP芯片及外围开发设备为主,正在形成一个具有较大潜力的产业与市场。
众所周知,几乎所有的工程技术领域都要涉及到信号问题。
这些信号包括电的、磁的、机械的、热的、声的、光的及生物体的等等各个方面。
如何在较强的背景噪声下提取出真正的信号或信号的特征并将其应用于工程实际是信号处理技术要完成的任务。
因此可以说,信号处理几乎涉及到所有的工程技术领域。
数字信号处理是一门以算法为核心的理论性很强的学科。
它是利用数字计算机或专用处理设备,以数值计算的方法对信号进行采集、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。
近30来年,数字信号处理是紧紧围绕着理论、实现及应用三个方面迅速发展起来的,它以众多的学科为理论基础,其成果又渗透到众多的学科,成为理论与实践并重、在高新技术领域中占有重要地位的新兴学科。
数字信号处理的实现,大体上有如下几种方法:(1)在通用的微计算机上用软件来实现。
数字信号处理实验指导书(带源程序)实验一离散时间系统与MATLAB一.实验目的1.进一步加深对离散时间系统的理解。
2.学习在MATLAB中怎样表示离散时间信号。
3.熟悉离散时间信号的作图。
二.实验步骤1.复习离散时间系统的有关内容。
2.复习MATLAB的基本语法。
3.按实验内容熟悉tem。
4.编写程序。
5.输出结果,总结结论,按要求写出实验报告。
三.实验内容1.掌握tem函数STEM(Y)plotthedataequenceYatemfromthe某a某iterminatedwithcircleforthedatavalue.STEM(某,Y)plotthedataequenceYatthevaluepecifiedin某.例:t=[0:0.1:2];某=co(pi某t+0.6);tem(t,某);某n=[4,2,2,3,6,7];tem(某n);思考:STEM(Y)与STEM(某,Y)有什么不同?STEM与PLOT函数有什么不同?2.掌握ubplot函数H=SUBPLOT(m,n,p),orSUBPLOT(mnp),breaktheFigurewindowintoanm-by-nmatri某ofmalla某e,electthep-tha某eforthecurrentplot,andreturnthea某ihandle.Thea某earecountedalongthetoprowoftheFigurewindow,thentheecondrow,etc.例:n1=0:3;某1=[1,1,1,1];ubplot(221);tem(n1,某1);title('某1序列');n2=0:7;某2=[1,2,3,4,4,3,2,1];ubplot(222);tem(n2,某2);title('某2序列');n3=0:7;某3=[4,3,2,1,1,2,3,4];ubplot(223);tem(n3,某3);title('某3序列');n4=0:7;某41=co((pi/4)某n4);ubplot(224);tem(n4,某41);title('某4序列');思考:ubplot是怎样分配各个作图分区的顺序号的?3.信号的运算某1(n)[1,0.7,0.4,0.1,0],某2(n)[0.1,0.3,0.5,0.7,0.9],请作出某1(n)某2(n),某1(n)某2(n)的图形。
1-1画出下列序列的示意图(1)(2)(3)(1)(2)(3)1-2已知序列x(n)的图形如图1.41,试画出下列序列的示意图。
图1.41 信号x(n)的波形(1) (2)(3) (4)(5) (6)(修正:n=4处的值为0,不是3)(修正:应该再向右移4个采样点)1-3判断下列序列是否满足周期性,若满足求其基本周期(1)解:非周期序列;(2)解:为周期序列,基本周期N=5;(3)解:,,取为周期序列,基本周期。
(4)解:其中,为常数,取,,取则为周期序列,基本周期N=40。
1-4 判断下列系统是否为线性的?是否为移不变的?(1)非线性移不变系统(2) 非线性移变系统(修正:线性移变系统)(3) 非线性移不变系统(4) 线性移不变系统(5) 线性移不变系统(修正:线性移变系统)1-5判断下列系统是否为因果的?是否为稳定的?(1) ,其中因果非稳定系统(2) 非因果稳定系统(3) 非因果稳定系统(4) 非因果非稳定系统(5) 因果稳定系统1-6已知线性移不变系统的输入为x(n),系统的单位脉冲响应为h(n),试求系统的输出y(n)及其示意图(1)(2)(3)解:(1)(2)(3)1-7若采样信号m(t)的采样频率fs=1500Hz,下列信号经m(t)采样后哪些信号不失真?(1)(2)(3)解:(1)采样不失真(2)采样不失真(3),采样失真1-8已知,采样信号的采样周期为。
(1) 的截止模拟角频率是多少?(2)将进行A/D采样后,的数字角频率与的模拟角频率的关系如何?(3)若,求的数字截止角频率。
解:(1)(2)(3)1-9计算下列序列的Z变换,并标明收敛域。
(1) (2)(3) (4)(5)解:(1)(2)(3)(4) ,,收敛域不存在(5)1-10利用Z变换性质求下列序列的Z变换。
(1)(2)(3)(4)解:(1) ,(2) ,(3),(4) , 1-11利用Z变换性质求下列序列的卷积和。
(1)(2)(3)(4)(5)(6)解:(1) ,,,,(2) ,,,(3) , ,,(4) ,,(5) ,,,(6) ,,,1-12利用的自相关序列定义为,试用的Z 变换来表示的Z变换。
目 录 实验一 Matlab与数字信号处理基础………………………………………………………… 2 实验二 离散傅里叶变换与快速傅里叶变换………………………………………………… 4 实验三 数字滤波器结构……………………………………………………………………… 6 注释 ………………………………………………………………………………………… 9 主要参考文献 …………………………………………………………………………………… 9
实验一 Matlab与数字信号处理基础 - 1 -
一、实验目的和任务 1、 熟悉Matlab的操作环境 2、学习用Matlab建立基本序列的方法; 3、学习用仿真界面进行信号抽样的方法。
二、实验内容 1、基本序列的产生: 单位抽样序列、单位阶跃序列、矩形序列、实指数序列和复指数序列的产生 2、用仿真界面进行信号抽样练习: 用simulink建模仿真信号的抽样
三、实验仪器、设备及材料
计算机、Matlab软件 四、实验原理 序列的运算、抽样定理 五、主要技术重点、难点
Matlab的各种命令与函数、建模仿真抽样定理 六、实验步骤
1、 基本序列的产生: 单位抽样序列δ(n): n=-2:2; x=[0 0 1 0 0]; stem(n,x); 单位阶跃序列u(n): n=-10:10; x=[zeros(1,10) ones(1,11)]; stem(n,x); 矩形序列RN(n): n=-2:10; x=[0 0 ones(1,5) zeros(1,6)]; stem(n,x); 实指数序列0.5n: n=0:30; x=0.5.^n stem(n,x); 复指数序列e(-0.2+j0. 3)n:n=0:30; x=exp((-0.2+j*0.3)*n); 模:stem(n,abs(x)); 幅角:stem(n,angle(x));
2、用仿真界面进行信号抽样练习: (1)在Matlab命令窗口中输入 simulink 并回车,以打开仿真模块库;
(2)按CTRL+N,以新建一仿真窗口; 在仿真模块库中用鼠标点击Sources(输入源模块库),从中选择sine wave(正弦波模块)并 - 2 -
将其拖至仿真窗口; (3)在仿真模块库中用鼠标点击Discrete(离散模块库),从中选择Zero-Order Hold(零阶保持器模块)并将其拖至仿真窗口; (4)在仿真模块库中用鼠标点击Sinks(显示模块库),从中选择Scope(示波器模块)并将其拖至仿真窗口; (5)在仿真窗口中把上述模块依次连接起来; (6)用鼠标双击Scope模块,以打开示波器的显示界面; (7)用鼠标点击仿真窗口工具条中的►图标开始仿真,结果显示在示波器中; (8)用鼠标双击Zero-Order Hold模块,打开其参数设置窗口,改变sample time参数值,例如1、0.5、0.1、0.05…,用鼠标点击仿真窗口工具条中的►图标开始仿真,比较示波器显示结果(选三个参数值,得三个结果); (9)在仿真模块库中用鼠标点击Sinks(显示模块库),从中选择To Workspace(输出到当前工作空间的变量模块)并将其拖至仿真窗口; (10)用鼠标双击To Workspace模块,打开其参数设置窗口,改变variable name参数值为x ;同时把save format参数值设置为Array ; (11)在仿真窗口中先用鼠标点击Zero-Order Hold模块与Scope模块的连线,然后按住CTRL键,从选中连线的中部引出一条线到To Workspace模块; (12)用鼠标双击Zero-Order Hold模块,打开其参数设置窗口,改变sample time参数值,例如1、0.5、0.1、0.05…,用鼠标点击仿真窗口工具条中的►图标开始仿真,并返回命令窗口,用stem(x)作图,比较序列图显示结果(选三个参数值,得三个结果); 七、实验报告要求 1、实验步骤按实验内容指导进行; 2、对于实验内容1和2的数据必须给出的离散图,其相关参数应在图中注明; 3、具有关联性和比较性的图形最好用subplot()函数,把它们画在一起; 4、实验报告按规定格式填写,要求如下: (1)实验步骤根据自己实际操作填写; (2)各小组实验数据不能完全相同,否则以缺席论处; 5、实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处;
八、实验注意事项 1、Matlab编程、文件名、存盘目录均不能使用中文。Matlab要区分英文大小写。 - 3 -
2、实验结果要保存,打印后贴在实验报告上。 3、拷图技巧 stem(n,x)得到的Figure (1)在Figure界面下,先把整个窗口缩小; (2)在Figure界面下,点击菜单Edit / Copy Figure ; (3)在Word界面下,用粘贴命令… Scope显示的图 (1)键盘上按Prt Screen键 (2)打开Windows附件->画图->编辑->粘贴 (3)选画图板左边工具栏虚线方框按钮,用鼠标在图中选定所需区域,按CTRL+c (4) 在Word文档中按CTRL+v
九、思考题
1、已知离散系统的输入x(n)和冲激响应h(n)如下,求相应的响应y(n),在计算前估算y(n)的长度。 x(n)=[1,4,3,5,1,2,3,5] h(n)=[4,2,4,0,4,2] 提示:卷积命令c=conv(f,h);
2、实验步骤2中的奈奎斯特频率是多少? 1/3Hz 实验二 离散傅里叶变换与快速傅里叶变换 一、实验目的和任务 1、练习M文件(函数)的编写; 2、学习DFT、FFT的初步应用; 二、实验内容
1、编写离散傅里叶变换式的M文件: 2、自编函数dft、idft与工具函数fft、ifft的比较: 用simulink建模仿真信号的抽样
三、实验仪器、设备及材料
计算机、Matlab软件 四、实验原理 DFT、IDFT、FFT、IFFT 五、主要技术重点、难点
Matlab的各种命令与函数、分别绘出DFT、IDFT的实部和虚部 - 4 -
六、实验步骤 1、编写自己的离散傅里叶变换式: 说明:离散傅里叶变对表达式如下
102102)(1)()()(NkNknjNnNknj
ekXNnxenxkXIDFTDFT
编写M文件(函数)的具体步骤 (1) 用鼠标点击Matlab主界面工具条上的New M-File图标,打开M文件编辑窗口; (2) 在编辑框中输入以下程序后以文件名“dft.m”存盘(请不要改变路径设置); DFT.m程序 程序说明 function [Xk]=dft(xn) 定义函数dft,xn为参数 xn为需要进行DFT的序列 if nargin<1 error('need x(n)!'); end dft需要参数
N=length(xn); 取序列的点数 n=0:N-1; k=0:N-1; WN=exp(-j*2*pi/N); 计算Nje2
nk=n'*k; WNnk=WN.^nk; Xk=xn*WNnk;
(3) 重复步骤(1),在编辑框中输入以下程序后以文件名“idft.m”存盘; IDFT.m程序代码 程序说明 function [xn]=idft(Xk) 定义函数dft,xn为参数 xn为需要进行DFT的序列 if nargin<1 error('need X(k)!'); end dft需要参数
N=length(Xk); 取序列的点数 n=0:N-1; k=0:N-1; WN=exp(-j*2*pi/N); 计算Nje2
nk=n'*k; WNnk=WN.^(-nk); xn=Xk*WNnk/N; 2、自编函数dft、idft与工具函数fft、ifft的比较:
(1) 在命令窗口中建立一序列x(6点); x=[5 2 1 组号 ]
(2) 分别用dft和fft对x进行离散傅立叶变换(X1=dft(x); X2=fft(x);),比较结果; (3) 分别用idft和ifft进行逆离散傅立叶变换(x1=idft(X1); x2=ifft(X2);),比较结果(x1、x2与原序列x进行比较,x1和x2相互比较); - 5 -
3、DFT的应用: (1) 在Matlab主界面中,用鼠标点击菜单File / Import Data…;
(2) 在文件对话框中选择数据文件dsp01.mat,导入信号x;(x为512点的序列) (3) 对信号进行fft变换,作出幅度谱和相位谱。 程序代码 程序说明 N=length(x); 取得信号点数 n=0:N-1; X=fft(x); 进行DFT mX=abs(X); 取模 aX=angle(X); 取幅角 w=2*pi*n/N; 计算各点频率 subplot(2,1,1); plot (w(1:256),mX(1:256)); 作幅度谱(线图) subplot(2,1,2); plot (w(1:256),aX(1:256)); 作相位谱(线图)
七、实验报告要求 1、实验步骤按实验内容指导进行; 2、对于实验内容1要给出程序; 3、对于实验内容2要给出对比数据和相关结论; 4、对于实验内容3要给出相关谱线; 5、实验报告按规定格式填写,要求如下: (1)实验步骤根据自己实际操作填写; (2)各小组实验数据不能完全相同,否则以缺席论处; 6、实验结束,实验数据交指导教师检查,得到允许后可以离开,否则以缺席论处。 八、实验注意事项 1、Matlab编程、文件名、存盘目录均不能使用中文。 2、实验结果要保存,打印后贴在实验报告上。 3、 拷图技巧 (1)在Figure界面下,先把整个窗口缩小; (2)在Figure界面下,点击菜单Edit / Copy Figure ; (3)在Word界面下,用粘贴命令…
九、思考题
1、在离散幅度谱中本已分开的谱线,用线图表示时却没有分开,为什么? 提示:stem与plot命令的区别
实验三 数字滤波器结构