数字信号处理实验指导书(合体版)_第1页
数字信号处理实验指导书(合体版)_第2页
数字信号处理实验指导书(合体版)_第3页
数字信号处理实验指导书(合体版)_第4页
数字信号处理实验指导书(合体版)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字信号处理实验指导书实验名称:采样定理依托实验室:信号系统与处理实验室二00六年十二月数字信号处理实验一:采样定理一 实验目的1 熟练掌握SYSTEMVIEW软件工具的使用2 掌握采样定理的精髓3 了解采样定理在实际中的应用4 了解巴特沃斯滤波器的设计与仿真二 实验原理及方案1采样定理的内容:奈奎斯特采样定理说明要从抽样信号中无失真地恢复原信号,抽样频率应大于或等于信号最高频率的2倍。抽样频率小于信号最高频率的2倍时,抽样信号的频谱有混叠,用低通滤波器不可能恢复原始信号。2实验方案:观察信号波形低通滤波乘法器信号预处理信号源抽样脉冲三 实验内容系统参数设置:(1) 系统时钟采样频率:最好大于

2、4000HZ(2) 观察时间00.1秒(3) 低通滤波器:巴特沃斯滤波器(5阶,截止频率150HZ)(4) 信号预处理:低通滤波器+放大器(5) 抽样脉冲宽度:0.002秒1 信号源是100HZ的正弦波;抽样信号的频率分别设置为180HZ,350HZ,800HZ,分别观察信号的输出波形是否有失真,记录结果。2 信号源是20HZ的方波抽样信号的频率分别设置为180HZ,350HZ,800HZ,分别观察信号的输出波形是否有失真,记录结果。四 实验结果分析分析实验内容中信号的频率改变以及抽样脉冲频率改变对结果的影响,在分析的基础上得出结论。五 思考题1 方波信号的最大频率如何确定?2 为什么180H

3、Z的采样频率会使结果失真?3 滤波器的阶数改变时对结果有何影响?4系统的时钟抽样频率如何确定,为什么越大越好?数字信号处理 实验一序列的绘图一、实验目的: 1. 了解MATLAB的实验环境;2. 充分熟悉subplot函数的使用;3. 能够画出单位脉冲序列及单位阶跃序列的图形;4. 能够画出矩形序列及正弦序列的图形。二、实验步骤:1. 打开MATLAB,了解三个区域(工作区、命令区、历史记录区)的作用;2. 用help查找subplot函数的使用情况;3. 编辑并生成函数impseq.m(单位脉冲序列) function x,n = impseq(n0,n1,n2) % 产生 x(n) = d

4、elta(n-n0); n1 <= n,n0 <= n2 % x,n = impseq(n0,n1,n2) if (n0 < n1) | (n0 > n2) | (n1 > n2) error('参数必须满足 n1 <= n0 <= n2') end n = n1:n2; %x = zeros(1,(n0-n1), 1, zeros(1,(n2-n0);x = (n-n0) = 0; 以及函数stepseq.m(单位阶跃序列)function x,n = stepseq(n0,n1,n2) % 产生 x(n) = u(n-n0); n1

5、 <= n0 <= n2 % x,n = stepseq(n0,n1,n2) if (n0 < n1) | (n0 > n2) | (n1 > n2) error('参数必须满足 n1 <= n0 <= n2') end n = n1:n2; %x = zeros(1,(n0-n1), ones(1,(n2-n0+1);x = (n-n0) >= 0; 主函数test1.mn=-5:5; x1=impseq(0,-5,5); subplot(2,2,1);stem(n,x1);title('单位脉冲序列') xla

6、bel('n');ylabel('x(n)'); n=0:10; x2=stepseq(0,0,10); subplot(2,2,2);stem(n,x2);title('单位阶跃序列'); xlabel('n');ylabel('x(n)'); 或主函数test2.mn=0:10; x3=stepseq(0,0,10)-stepseq(5,0,10); subplot(2,2,3);stem(n,x3);title('矩形序列'); xlabel('n');ylabel('

7、x(n)'); n=0:20; x4=sin(0.3*n); subplot(2,2,4);stem(n,x4);title('正弦序列'); xlabel('n'); ylabel('x(n)');4. 先运行test1.m, 再运行test2.m,并改变坐标尺度n的范围,分别画出另外两种坐标尺度的图形。5. 画出,sin(0.6*n)的图形。三、实验报告要求:1. 实验目的2. 实验步骤3. 16个图形的结果,并得出结论或体会。4. 思考题:请问有几种方法可以改变坐标尺度?数字信号处理 实验二序列的运算一、实验目的: 5. 充分熟悉复

8、指数函数find、sigshift、sigfold函数的使用;6. 熟悉序列的加、减、乘、除、移位、折叠的计算;7. 能够画出结果的图形。二、实验步骤:6. 用help查找find、sigshift、sigfold函数的使用情况;7. 编辑并生成函数sigadd.m(序列相加) function y,n = sigadd(x1,n1,x2,n2) % 实现 y(n) = x1(n)+x2(n) % y,n = sigadd(x1,n1,x2,n2) % y = 在包含n1 和 n2 的n点上求序列和 % x1 = 在 n1上的第一序列% x2 = 在 n2上的第二序列(n2可与 n1不等)n

9、= min(min(n1),min(n2):max(max(n1),max(n2); % y(n)的长度 y1 = zeros(1,length(n); y2 = y1; % 初始化y1(find(n>=min(n1)&(n<=max(n1)=1)=x1; % 具有y的长度的 x1 y2(find(n>=min(n2)&(n<=max(n2)=1)=x2; % 具有y的长度的x2 y = y1+y2; % 序列相加.8. 编辑并生成函数sigmult.m(序列相乘)function y,n = sigmult(x1,n1,x2,n2) % 实现 y(n)

10、 = x1(n)*x2(n) % y,n = sigmult(x1,n1,x2,n2) % y = 在n区间上的乘积序列,n 包含 n1 和 n2 % x1 = 在 n1上的第一序列 % x2 = 在 n2上的第二序列(n2可与 n1不等)n = min(min(n1),min(n2):max(max(n1),max(n2); % y(n)的长度 y1 = zeros(1,length(n); y2 = y1; %初始化 y1(find(n>=min(n1)&(n<=max(n1)=1)=x1; % 具有y的长度的 x1 y2(find(n>=min(n2)&

11、(n<=max(n2)=1)=x2; % 具有y的长度的 x2 y = y1 .* y2; % 序列相乘 9. 编辑并生成函数sigshift.m(序列移位)function y,n = sigshift(x,m,n0) % 实现 y(n) = x(n-n0) % y,n = sigshift(x,m,n0)n = m+n0; y = x; 10. 编辑并生成函数sigfold.m(序列折叠)function y,n = sigfold(x,n) % 实现 y(n) = x(-n) % y,n = sigfold(x,n) y = fliplr(x); n = -fliplr(n); 1

12、1. 编辑并生成实现两序列相乘和相加程序clc; clear; x1=0,1,2,3,4,3,2,1,0;n1=-2:6; x2=2,2,0,0,0,-2,-2; n2=2:8; y1,n=sigmult(x1,n1,x2,n2); y2,n=sigadd(x1,n1,x2,n2); subplot(2,2,1);stem(n1,x1);title('序列x1') xlabel('n');ylabel('x1(n)');subplot(2,2,2);stem(n2,x2);title('序列x2') xlabel('n&#

13、39;);ylabel('x2(n)'); subplot(2,2,3);stem(n,y1);title('两序列相乘') xlabel('n');ylabel('y1(n)'); subplot(2,2,4);stem(n,y2);title('两序列相加') xlabel('n');ylabel('y2(n)'); 12. 改变坐标尺度重新画图,使图形更加直观;13. 在命令窗口打出x1,x2,y1,y2的值,并贴进实验报告。14. 编辑并生成实现序列移位和折叠程序x1=0,1

14、,2,3,4,3,2,1,0;n1=-2:6; y1,n2=sigshift(x1,n1,2); y2,n3=sigfold(x1,n1); subplot(3,1,1);stem(n1,x1);title('序列x1') xlabel('n');ylabel('x1(n)'); subplot(3,1,2);stem(n2,y1);title('序列移位') xlabel('n');ylabel('y1(n)'); subplot(3,1,3);stem(n3,y2);title('序列折

15、叠') xlabel('n');ylabel('y2(n)'); 9. 在命令窗口打出y1,y2,n2,n3的值,并贴进实验报告。10. 画出y3=2x1(2-n), y4=x1(3n)的图形,在命令窗口打出y3,y4的值,并贴进实验报告。三、实验报告要求:5. 实验目的6. 实验步骤7. 根据图形的结果,得出结论或体会。数字信号处理 实验三复指数序列的绘图一、实验目的: 8. 充分熟悉复指数函数exp的使用;9. 熟悉复指数函数的实部、虚部、振幅、相位的计算;10. 能够画出复指数函数实部、虚部、振幅、相位的图形。二、实验步骤:15. 用help查找e

16、xp函数的使用情况;16. 编辑并生成函数exp.m(单位脉冲序列) n=0:1:20; alpha=-0.1+0.5j; x=exp(alpha*n); subplot(2,2,1); stem(n,real(x); title('实部'); xlabel('n') subplot(2,2,3); stem(n,imag(x); title('虚部'); xlabel('n') subplot(2,2,2); stem(n,abs(x); title('振幅'); xlabel('n') subp

17、lot(2,2,4); stem(n,(180/pi)*angle(x); title('相位'); xlabel('n') 17. 先运行exp.m, 画出图形,分析图形的结果。18. 当alpha=-0.1+0.5j 时,计算x的共轭对称分量和共轭反对称分量.也分实部、虚部、振幅、相位分别画图。5. 再改变alpha=1.5, alpha=-2, 画出图形,分析图形的结果。三、实验报告要求:8. 实验目的9. 实验步骤10. 14个图形的结果,并得出结论或体会。11. 思考题:试用公式表示x=exp(alpha*n)的实部、虚部、振幅、相位。数字信号处理 实

18、验四序列的卷积和一、实验目的: 11. 充分熟悉conv函数的使用;12. 熟悉序列卷积和的计算;13. 能够画出结果的图形。二、实验步骤:19. 用help查找conv函数的使用情况;20. 编辑并生成函数conv_m.m(带长度的卷积和) function y,ny = conv_m(x,nx,h,nh) % 信号处理的改进卷积程序 % y,ny = conv_m(x,nx,h,nh) % y = 卷积结果 % ny = y 的基底(support) % x =基底 nx 上的第一个信号 % nx = x 的支架 % h =基底 nh上的第二个信号 % nh = h 的基底 nyb = n

19、x(1)+nh(1); nye = nx(length(x) + nh(length(h); ny = nyb:nye; y = conv(x,h); 21. 编辑并生成函数sigconv.m(序列卷积和)x=0 0.5 1 1.5 0;nx=-1:3; h=1 1 1 0 0; nh=-2:2; y,ny=conv_m(x,nx,h,nh); % y = conv(x,h); subplot(2,2,1);stem(nx,x);title('序列x') xlabel('n');ylabel('x(n)'); subplot(2,2,2);ste

20、m(nh,h);title('序列h') xlabel('n');ylabel('h(n)'); subplot(2,2,3);stem(ny,y);title('两序列卷积') xlabel('n');ylabel('y(n)'); 22. 用y = conv(x,h); 替代 y,ny=conv_m(x,nx,h,nh);结果会有什么不同? 为什么?23. 改变x, h 序列的值一次, 在程序中使用 y,ny=conv_m(x,nx,h,nh)语句,画出卷积和的结果。24. 在命令窗口,打出最后

21、一次的x, h及y的值,并贴进实验报告。三、实验报告要求:12. 实验目的13. 实验步骤14. 根据图形的结果,得出结论或体会。数字信号处理 实验五序列的傅里叶变换一、实验目的: 14. 充分熟悉exp函数的使用;15. 熟悉序列傅里叶变换的计算;16. 能够画出结果的图形。二、实验步骤:25. 用help查找exp函数的使用情况;26. 编辑并生成函数FourierTran .m(带长度的卷积和) function X,magX,angX = FourierTran(x,n,dot) % 计算离散序列的付立叶变换 % X,magX,angX = FourierTran(x,n) % 或X,

22、magX,angX = FourierTran(x,n,dot) if nargin< 3 % nargin是输入变量的个数 dot=600; end k=-dot:dot; w=(pi/dot)*k; X=x*(exp(-j).(n'*w); %做傅里叶变换 magX=abs(X); angX=angle(X); subplot(211); plot(w/pi,magX); xlabel('频率(单位pi)');ylabel('|X(e jomega)|'); title('幅频特性'); subplot(212); plot(w

23、/pi,angX/pi); xlabel('频率(单位pi)');ylabel('弧度/pi'); title('相频特性'); 27. 编辑并生成函数sigfourier.m(序列卷积和)x=1,1,1,1,1;n=0:4; FourierTran(x,n); 28. 分析X=x*(exp(-j).(n'*w)语句中n', 如果用n替代, 结果会有什么不同? 为什么?29. 当dot=8时,计算X幅频特性的值,并X的幅频特性的值一一列出来。30. 改变x, n, dot 的值两次, 画出两次傅里叶变换的结果。三、实验报告要求:1

24、5. 实验目的16. 实验步骤17. 根据图形的结果,得出结论或体会。18. 思考题:X=x*(exp(-j).(n'*w); 分析该语句如何实现傅里叶变换,举例说明。数字信号处理 实验六序列的FFT及频域分辨率一、实验目的: 17. 充分熟悉FFT函数的使用;18. 熟悉序列快速傅里叶变换的计算;19. 能够画出结果的图形。二、实验步骤:31. 用help查找FFT函数的使用情况;32. 编辑并生成函数sigfft .m(带长度的卷积和) clear; % 计算长度为N的原始信号的DTFT f1=2.67;f2=3.75;f3=6.75;fs=20;w=2*pi/fs; N=16;

25、x=sin(w*f1*(0:N-1)+sin(w*f2*(0:N-1)+pi/2)+sin(w*f3*(0:N-1); f=0:fs/N:fs/2-1/N; X=fft(x); X=abs(X); f=fs/N*(0:N/2-1); subplot(221) stem(f,X(1:N/2),'.');grid on; xlabel('Hz')%在数据末补N个零 x(N:2*N-1)=0; X=fft(x); X=abs(X); f=fs*(0:N-1)/(2*N); subplot(222) stem(f,X(1:N),'.');grid on;

26、 xlabel('Hz')%在数据末补7*N个零 x(N:8*N-1)=0; X=fft(x); X=abs(X); f=fs*(0:4*N-1)/(8*N); subplot(223) stem(f,X(1:4*N),'.');grid on; xlabel('Hz')%在数据末补29*N个零 x(N:30*N-1)=0; X=fft(x); X=abs(X); f=fs*(0:15*N-1)/(30*N); subplot(224) plot(f,X(1:15*N);grid on; xlabel('Hz')33. 运行该函数, 分析四个图的分辨率;34. 改变N=8, 分析四个图的分辨率, 第四图代表频谱包

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论