实验 离散系统的差分方程单位脉冲响应和卷积分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 离散系统的差分方程、单位脉冲响应和卷积分析
一、 实验目的
1、 熟悉并掌握离散系统的差分方程表示法;
2、 加深对单位脉冲响应和卷积分析方法的理解。
二、 实验原理
(一),
1. 单位采样序列
⎩⎨⎧=01
)(n δ 0
0≠=n n 在MATLAB 中可以利用zeros()函数实现。
;
1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:
⎩⎨⎧=-01
)(k n δ 0≠=n k n
2.单位阶跃序列
1()=0
u n ⎧⎨⎩ 00<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =
3.正弦序列 )/2sin()(ϕπ+=Fs fn A n x
在MATLAB 中
)
/***2sin(*1:0fai Fs n f pi A x N n +=-=
4.复指数序列 n j e n x ϖ=)(
在MATLAB 中
)
**exp(1:0n w j x N n =-= 5.实指数序列
n a n x =)(
在MATLAB 中
n
a x N n .^1:0=-= (二)
在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:
其输入、输出关系可用以下差分方程描述:
00()()N M
i i
i i a y n i b x n i ==-=-∑∑ 输入信号分解为单位采样序列的移位加权和,即:
()()()m x n x m n m δ∞
=-∞=
-∑ 记系统单位脉冲响应
()()n h n δ→
则系统响应为如下的卷积计算式:
()()()()()m y n x n h n x m h n m ∞
=-∞=*=
-∑ 当0,1,2,...i a i N ==时,h(n)是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。
三、 预习要求
(1) 在MATLAB 中,熟悉利用函数y=filter(b,a,x)实现差分方程的仿
真;
(2) 在MATLAB 中,熟悉用函数 y=conv(x,h)计算卷积,用
y=impz(b,a,N)求系统单位脉冲响应的过程。
四、 实验内容
1、以下程序中分别使用conv 和filter 函数计算h 和x 的卷积y 和y1,运行程序,并分析y 和y1是否有差别,为什么要使用x(n)补零后的x1来产生y1;具体分析当h(n)有i 个值,x(n)有j 个值,使用filter 完成卷积功能,需要如何补零?
% Program P2_1
clf;
h = [3 2 1 -2 1 0 -4 0 3]; % impulse response
x = [1 -2 3 -4 3 2 1]; % input sequence
y = conv(h,x);
n = 0:14;
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
x1 = [x zeros(1,8)];
y1 = filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Generated by Filtering'); grid;
2、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
3、编制程序求解下列两个系统的单位脉冲响应和阶跃响应,并绘出其图形。要求分别用filter、conv、impz三种函数完成。
+-+-=--
y n y n y n x n x n
()0.75(1)0.125(2)()(1)
=-+-+-+-
y n x n x n x n x n
()0.25[(1)(2)(3)(4)]
给出理论计算结果和程序计算结果并讨论。