数字信号处理实验指导书思考题答案实验图
- 格式:doc
- 大小:426.00 KB
- 文档页数:12
目录实验一 Matlab与数字信号处理基础 (2)实验二离散傅里叶变换与快速傅里叶变换 (4)实验三数字滤波器结构 (6)注释 (9)主要参考文献 (9)实验一 Matlab与数字信号处理基础一、实验目的和任务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);矩形序列R N(n):n=-2:10;x=[0 0 ones(1,5) zeros(1,6)];stem(n,x);实指数序列0.5n:n=0:30;x=0.5.^nstem(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(正弦波模块)并将其拖至仿真窗口;(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要区分英文大小写。
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的实部和虚部六、实验步骤1、编写自己的离散傅里叶变换式: 说明:离散傅里叶变对表达式如下∑∑-=-=-==1212)(1)()()(N k Nkn j N n Nkn j ek X Nn x en x k X ππIDFT DFT编写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); 计算N je π2- 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); 计算N je π2- 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相互比较);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); 进行DFTmX=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命令的区别实验三数字滤波器结构一、实验目的和任务1、学习Matlab 的离散仿真环境;2、学习用Matlab 建立离散系统的方法;3、通过实验操作熟悉滤波器结构;二、实验内容1、用Matlab 仿真离散系统:2、用直接Ⅰ型结构实现滤波器:3、用直接Ⅱ型结构实现滤波器:4、用级联型结构实现滤波器(选作):三、实验仪器、设备及材料计算机、Matlab 软件四、实验原理FIR 滤波器、IIR 滤波器的各种结构五、主要技术重点、难点用Matlab 提供的模块组建各种滤波器。
六、实验步骤1、用Matlab 仿真离散系统:已知某系统的差分方程为 y(n)=x(n)+2.5y(n -1)-y(n -2),其冲激响应为u(n) ](0.5)312)34[h(n)n n ⨯-⨯=(,试用Matlab 仿真差分方程,求其冲激响应,并把结果与h(n)比较。
具体操作步骤:(1) 在Matlab 命令窗口中输入 simulink 并回车,以打开仿真模块库; (2) 在该窗口中选择File / Open… 菜单,打开IIR01.mdl 文件; (3) 打开的窗口中已有所需模块,请按下图连接各模块;(4) 用鼠标点击仿真窗口工具条中的►图标开始仿真; (5) 回到Matlab 命令窗口中,输入以下程序,比较结果:程序代码程序说明n=0:10;h=(4/3)*2.^n-(1/3)*(0.5).^n; 求理论上的冲激序列subplot(2,1,1);stem(n,h); 作出理论上的冲激序列subplot(2,1,2);stem(n,y); 作出实验上的冲激序列2、用直接Ⅰ型结构实现滤波器:已知某滤波器的差分方程(见下),试用直接Ⅰ型结构实现该滤波器,求冲激响应。