数字信号处理实验之离散系统的差分方程、冲激响应和卷积分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字信号处理A》实验报告
实验二实验名称:离散系统的差分方程、冲激响应和卷积分析
专业及班级:电子131 姓名:XXX 学号:XXXXXX
一、实验目的
加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

二、实验步骤(附源代码及仿真结果图)
1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析
y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,
x[n]有j个值,使用filter完成卷积功能,需要如何补零?
编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。

要求分别用filter、conv、impz三种函数完成。

+n
x
-
-
=
n
+
n
y
y
n
y
n
x
-
]2
[
[
]
]1
[-
125
[
.0
]
.0
75
[
]1
给出理论计算结果和程序计算结果并讨论。

a.单位冲激响应:
(1)用filter函数
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:20;
x1=[1 zeros(1,20)];
y1filter=filter(b1,a1,x1);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
y1filter
x
y
(2)用conv 函数 a1=[1,0.75,0.125]; b1=[1,-1];
x1=[1 zeros(1,10)]; [h]=impz(b1,a1,10); y1conv=conv(h,x1); n=0:19;
stem(n,y1conv,'filled')
246
8101214161820
a1=[1,0.75,0.125]; b1=[1,-1];
impz(b1,a1,21);
n (samples)
A m p l i t u d e
Impulse Response
b. 单位阶跃响应: (1) 用filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2); stem(n,y1filter);
title('y1filter_step'); xlabel('x');
ylabel('y');
y1filter tep
x
y
a1=[1,0.75,0.125]; b1=[1,-1]; x2=ones(1,21);
[h]=impz(b1,a1,20); y1=conv(h,x2); y1conv=y1(1:21); n1=0:20;
stem(n1,y1conv,'filled'); title('y1conv'); xlabel('n'); ylabel('y1[n]');
n
y 1[n ]
2.编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。

要求分别用 filter 、conv 、impz 三种函数完成。

]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y
给出理论计算结果和程序计算结果并讨论 a.单位冲激响应: (1)用filter 函数 a1=[1];
b1=[0.25,0.25,0.25,0.25]; n=0:20;
x1=[1 zeros(1,20)];
y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
y
x
(2)用conv函数
a1=[1];
b1=[0,0.25,0.25,0.25,0.25];
x1=[1 zeros(1,10)];
[h]=impz(b1,a1,10);
y1conv=conv(h,x1);
n=0:19;
stem(n,y1conv,'filled')
(3)用impz函数
a1=[1];
b1=[0,0.25,0.25,0.25,0.25];
impz(b1,a1,21);
n (samples)
A m p l i t u d e
b.单位阶跃响应: (2) 用filter 函数 a1=[1];
b1=[0,0.25,0.25,0.25,0.25]; n=0:20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2); stem(n,y1filter);
title('y1filter_step'); xlabel('x'); ylabel('y');
y1filter s tep
x
y
(2)用conv 函数 a1=[1];
b1=[0,0.25,0.25,0.25,0.25]; x2=ones(1,21);
[h]=impz(b1,a1,20); y1=conv(h,x2); y1conv=y1(1:21); n1=0:20;
stem(n1,y1conv,'filled'); title('y1conv'); xlabel('n'); ylabel('y1[n]');
n
y 1[n ]
三、总结与体会
通过这次实验,我对冲激函数跟阶跃函数的理解更加加深了,同时加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

把课本上的内容很好的应用并且理解,做到了学以致用,这个过程中也出现了很多的问题,例如输入程序时发生错误,导致失败,上一次也出现过这样的问题,所以我提前把程序输入到Word 里保存下来,这样就会节省很多的时间,将更多的时间用于程序的理解中,这次实验还让我懂了一个道理,就是有些事情的本质是一样的,变化的只是一层外表,这次实验的两个题目本质上没有变化,只是变了一些参数,真正懂了之后就会知道怎么样去做。

相关文档
最新文档