杭州电子科技大学数字信号处理实验1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(
为任意常数)
常系数线性差分方程 线性时不变离散系统的输入、输出关系可用以下常系数线性差分方程描述:
当输入
为单位冲激序列时,输出 时,
即为系统的单位冲激响应
。当
是有限长度的,称系统为有限单位长单位冲激响应
系统,反之,则称系统为无限长单位冲激响应系统。
实验内容
考虑如下差分方程描述的两个离散时间系统: 系统 : 系统 : 输入 编程求上述两个系统的输出,并分别画出系统的输入输出 思路:用 直接把函数表示出来然后输出即可,过程中要调用 表示系统对 进行滤波,如果输入为单位冲激序列 即为系统的单位冲激响应 别在于 波形图 画出来是连续的, 。同时还要调用绘图的函数 ,注意 函数: ,则输出 和 的区
程序清单
1. 2. 3. 4. 5. 6. %调用impz 函数 n=0:10; num1=[0.5,0.27,0.77]; den1=[1]; y1=impz(num1,den1,n);
7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
,故此系统为时不变系统。
21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
title('输出y[n]'); grid; subplot(3,1,2); stem(yd(1:length(yd))); ylabel('信号幅度'); grid; subplot(3,1,3); stem(d); xlabel('时间序号 n'); ylabel('信号幅度'); title('差值信号'); grid;
若系统的初始状态为 ,判断系统 是否为时不变的。 思路:判断系统是不是时不变的直接根据定义去做即可,即我们输入一个函数后,已经 的得到了一个输出函数 数 波形图 ,我们此时再输入一个延时的函数 ,得到输出函 以后,两者做差看差值信号是不是都是 即可判断。
结论:由图可知 程序清单
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. %定义输入信号 n=0:40; D=10; a=2; b=-3; x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n); xd=[zeros(1,D) x];%延时D个单位 num2=[0.45,0.5,0.45]; den2=[1,-0.53,0.46]; ic=[0 0];%设置零初始条件 %定义输出信号 y=filter(num2,den2,x,ic); yd=filter(num2,den2,xd,ic); N=length(y); d=y-yd(1+D:N+D);%产生差值信号 %用stem 函数绘图 subplot(3,1,1); stem(y); ylabel('信号幅度');
基本原理
线性系统 如果系统在 和 输入时的输出分别是 及 ,即
那么当且仅当如下两个式子成立的时候系统是线性的: 和 式中 为任意常数。 以上第一个性质称为可加性,第二个性质称为齐次性或比例性,证明一个系统是线性系 统的时候,必须同时证明该系统满足如上两个特性且信号以及任何比例常数都可以是复 数。 时不变系统 系统满足如下关系的时候为时不变系统:若输入 的输出为 ,则将输入序列移动 任意位后,其输出序列除了跟着移位外,数值应保持不变,即: 则
22. 23. 24. 25. 26. 27. 28. 29.
ylabel('信号幅度'); title('输出信号1'); subplot(3,1,3); plot(y2); xlabel('时间信号 n'); ylabel('信号幅度'); title('输出信号2');
编程求上述两个系统的冲激响应序列,并画出波形。 思路:调用 波形图 函数: 表示计算系统的冲激响应序列的前 个取 样点,然后绘图即可。
wenku.baidu.com
画出来是离散的,要根据实际情况调用。
程序清单
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. %定义输入信号 n=0:299; x=cos(20*pi*n/256)+cos(200*pi*n/256); %定义输出信号 num1=[0.5,0.27,0.77]; den1=[1]; y1=filter(num1,den1,x); num2=[0.45,0.5,0.45]; den2=[1,-0.53,0.46]; y2=filter(num2,den2,x); %分三块输出 subplot(3,1,1); plot(n,x); xlabel('时间信号 n'); ylabel('信号幅度'); title('输入信号'); subplot(3,1,2); plot(y1); xlabel('时间信号 n');
若系统的初始状态为 ,判断系统 是否为线性的。 思路:判断系统是不是线性的也是直接根据定义去做即可,仿照书 序列输入,最后看 波形图 是否等于 即可判断。 页定义的三个不同
结论:由图可知上下两个图完全一样,即
,所以此系统是一个线性系统。 程序清单
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. %定义输入信号 n=0:40; a=2; b=-3; x1=cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n); x=a*x1+b*x2;%两个信号线性叠加 num2=[0.45,0.5,0.45]; den2=[1,-0.53,0.46]; ic=[0 0];%设置零的初始条件 %定义输出信号 y1=filter(num2,den2,x1,ic); y2=filter(num2,den2,x2,ic); y=filter(num2,den2,x,ic); yt=a*y1+b*y2; %绘图对比 subplot(2,1,1); stem(y); xlabel('时间序号1 n'); ylabel('信号幅度1'); subplot(2,1,2); stem(yt); xlabel('时间序号2 n'); ylabel('信号幅度2');
num2=[0.45,0.5,0.45]; den2=[1,-0.53,0.46]; y2=impz(num2,den2,n); %因为是冲激序列,所以调用stem 函数绘图 subplot(2,1,1); stem(y1); xlabel('时间序号1 n'); ylabel('信号幅度1'); title('冲激响应1'); grid; subplot(2,1,2); stem(y2); xlabel('时间序号2 n'); ylabel('信号幅度2'); title('冲激响应2'); grid;
数字信号处理实验 ——离散时间系统的时域特性 分析
通信中英2班 潘奕铭(16086214)
实验目的
线性时不变离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应序列可以 刻画其时域特性。实验通过 函数研究离散时间系统的时域特性,以加深对离散时间 系统的差分方程,冲激响应和系统的线性和时不变特性的理解。