实验一用递推法解差分方程以及用线性卷积法求线性时不变系统的输出
一、实验目的
1学习用递推法求解差分方程的方法。2学习用线性卷积法求网络输出的方法。
二、实验原理
一般网络或系统用线性常系数差分方程描述,如果已知差分方程和输入信号,用递推法求解差分方程或者求网络输出,最适合用计算机求解。但要注意N阶差分方程要预先给定N个初始条件。下面用例子说明用递推法求解差分方程的方框图。例如一个二阶差分方程如下y
a1y
1a2y
2b0x
b1x
1式中,系数a1、a2、b0、b1为已知系数,x
是输入序列。设x
是因果序列,x10,从
0开始递推。当
0时,y0a1y1a2y2b0x0b1x1a1y1a2y2b0x0式中y1和y2是两个初始条件,要预先给定。这样求解网络输出的计算框图如图1所示。
输入x
x-1=0y-1=0y-2=0a1,a2,b0,b1
=0
y
=a1y
-1+a2y
-2+b0x
+b1x
-1
=
+1
N
>N-1Y输出y
结束
图1用递推法求解差分方程的框图已知h
和输入x
,求系统输出y
,可以用线性卷积法进行。线性卷积的公式如下:y
x
h
m
xmh
m
计算时,关键问题是根据x
和h
的特点,确定求和的上下限。例如,h
09
u
,x
R10
卷积公式为
m
y
m
Rm09u
m
10
根据上式中的R10
,限制非零区间为:0≤m≤9,由u
限制非零区间为:m≤
。由上面的不等式知道m的取值与
有关,可以分几种情况:当
0时,y
0
y
09
m
m0
f当0≤
<9时,当
≥9时,
y
09
m
m0
9
最后得到:
0
y
09
m0m909
mm0
00
9
9
三、实验用MATLAB函数介绍
1co
v功能:计算离散卷积、多项式相乘。调用格式:y
co
vh
x
计算向量h
和x
的卷积,卷积结果向量为y
。如果用N和M分别表示h
和x
的长度,则y
的长度为NM1。如果h
和x
表示两个多项式的系数向量,则y
为两个多项式乘积的系数向量。例如,程序:h
[1111]x
[1111]y
co
vh
x
运行结果为y
[1234321]2Impz功能:计算数字滤波器的单位脉冲响应。调用格式:[h
]impzBA:计算出单位脉冲响应列向量h
,并返回时间列向量
。自动选择h
的样点数。调用参数B和A分别为数字滤波器系统函数Hz的分子和分母多项式系数向量。[h
]impzBAN计算出单位脉冲响应N个样值。如果Nr