实验八 离散LTI系统
姓名:谢鑫 班级:物联一班 学号:20100740123
§8.1 MATLAB函数conv 基本题
1.已知如下有限长序列 x[n]???1 ?0 0?n?5 其余n
用解析法计算y[n]?x[n]?x[n]。 答:
?5y[n]??m???x[m]x[n?m]=?x[m]x[n?m]
m?0=x[n]+x[n-1]+ x[n-2]+ x[n-3]+ x[n-4]+ x[n-5]= 1 2 3 4 5 6 5 4 3 2 1
2.利用conv计算y[n]?x[n]?x[n]的非零样本值,并将这些样本存入向量y中。第一步应定义包含在0?n?5区间内的x[n]样本的向量x,同时应构造向量ny,ny(i)包含存在向量y中的的n个元素y[n]样本的序号,也即
y[n]?y?ny?i??。例如ny(1)应包含nx?nx。利用stem(ny,y) 画出所得结果。
代码: X=[1 1 1 1 1 1]; >> ny=[0:10]; >> Y=conv(X,X); >> stem(ny,Y); >> Y Y =
1 2 3 4 5 6 5 4 3 2 1 图形:
6543210012345678910
分析:
X的长度为6,Y的长度为11,Y=1 2 3 4 5 6 5 4 3 2 1 3.已知如下有限长序列 h[n]???n ?0 0?n?5 其余n
先用解析法计算y[n]?x[n]?h[n]。然后用conv计算y,用stem画出这一结果。 如果将h[n]看作一个LTI系统的单位冲激响应,x[n]是该系统的输入,y[n]是该系统的输出。 代码:
>> X=[1 1 1 1 1 1]; >> H=[0 1 2 3 4 5]; >> Y=conv(X,H); >> ny=[0:10]; >> stem(ny,Y); >> Y
Y =
0 1 3 6 10 15 15 14 12 9 5 图形:
151050012345678910
分析:
X的长度为6,H的长度为6,则Y的长度为11,
Y=0 1 3 6 10 15 15 14 12 9 5
4.将y2[n]?x[n]?h[n?5]与在3中导出的信号y[n]比较,结果怎样? 答:
5y2[n]?x[n]?h[n?5]=?x[m]h[n?5?m]
m?0=h[n+5]+h[n+4]+h[n+3]+h[n+2]+h[n+1]+h[n]=[0 1 3 6 10 15 15 14 12 9 5] 与3结果比较,虽然序列相同,但是时域不同,Y2比Y早5各单位发生。
5.利用conv计算y2[n],利用stem画出y2[n]。
代码: X=[1 1 1 1 1 1]; H=[0 1 2 3 4 5]; Y2=conv(X,H); ny=[-5:5]; >> stem(ny,Y); 图形:
151050-5-4-3-2-1012345
分析:
相对上一小题,Y2是在Y的基础上向左平移五个单位。 §8.2 MATLAB函数filter 基本题
1. 求解由差分方程y[n]?0.8y[n?1]?2x[n?1]表征的系统,当输入信号
x[n]?nu[n]时,在1?n?4区间内的响应y[n]。
代码: b=[0 1]; >> a=[1 -0.8];
>> b=[0 2]; >> x=[1 2 3 4]; >> y=filter(b,a,x); >> y 结果: y =
0 2.0000 5.6000 10.4800
2. 已
知
?n ?0 x[n]???1 ?0 0?n?5 其余n和
h[n]?? 0?n?5 其余n,利用filter求y[n]?x[n]?h[n]。
并与conv计算结果相比较。
解:
y[n]?x[n]?h[n]=h[n]+h[n-1]+ h[n-2]+h[n-3]+h[n-4]+h[n-5].。
利用filter求y[n]?x[n]?h[n]代码: >> a=[1]; >> b=[1 1 1 1 1 1]; >> h=[0 1 2 3 4 5]; >> y=filter(b,a,h) 结果: y =
0 1 3 6 10 15 利用conv求y[n]?x[n]?h[n]代码: >> x=[1 1 1 1 1 1]; >> h=[0 1 2 3 4 5]; >> y=conv(x,h) 结果: y =
0 1 3 6 10 15 15 14 12 9 5