信号与系统实验二.docx
《信号与系统实验二.docx》由会员分享,可在线阅读,更多相关《信号与系统实验二.docx(11页珍藏版)》请在冰豆网上搜索。
![信号与系统实验二.docx](https://file1.bdocx.com/fileroot1/2023-2/24/afc4adb1-4bc4-4e73-8dc4-84bdee0e425b/afc4adb1-4bc4-4e73-8dc4-84bdee0e425b1.gif)
信号与系统实验二
信号与系统实验二
信号与系统实验
实验二:
离散时间系统的时域分析
小组成员:
黄涛13084220
胡焰焰13084219
洪燕东13084217
【实验目的】
1.通过matlab仿真一些简单的离散时间系统,并研究它们的时域特性。
2.掌握利用matlab工具箱求解LTI系统的单位冲激响应。
【实验原理】
1.离散时间系统的时域特性
1.1线性定义
对离散时间系统,若
和
分别是输入序列
和
的响应,
若输入
(2.1)
的输出响应为
(2.2)
该性质对任意输入
和
都成立,称为叠加性。
若输入
(2.3)
的输出响应为
(2.4)
该性质对任意输入
和任意常量
都成立,称为齐次性。
若同时满足叠加性和齐次性,即输入
(2.5)
的输出响应为
(2.6)
对任意常量
和
以及任意输入
和
都成立,则称为线性。
反之称为非线性。
1.2时不变定义
对于离散时间系统,若
是输入序列
的响应,
若输入
(2.7)
的输出响应为
(2.8)
对任意整数
和任意输入
及其对应输出都成立,则称为时不变。
反之称为时变。
1.3LTI系统
线性时不变(LTI)系统既满足线性特性,又满足时不变特性。
1.4单位冲激响应
若输入信号为单位冲激信号
,离散时间系统的响应称为单位冲激响应
。
1.5单位阶跃响应
若输入信号为单位阶跃信号
,离散时间系统的响应称为单位阶跃响应
。
2.相关基本matlab函数
2.1filter
可获得系统响应。
若系统表达式为
,x为输入向量
可令
,
则y=filter(num,den,x)产生的输出向量y的长度与输入向量x的长度相同,且初始值为0。
也可用y=filter(num,den,x,ic)计算系统输出,其中ic是初始值。
2.2impz
y=impz(num,den,N)
可计算LTI离散时间系统的单位冲激响应的前N个样本。
【实验内容】
1、离散时间系统的时域分析
1.1线性与非线性系统
假定系统为
输入三个不同的输入序列
、
和
,计算并求出相应的三个输出,并判断是否线性。
clearall;
n=0:
40;
a=2;b=-3;
x1=cos(2*pi*0.1*n);
x2=sin(2*pi*0.4*n);
x=a*x1+b*x2;
num=[2.242.49];
den=[1-0.4];
y1=filter(num,den,x1);
y2=filter(num,den,x2);
y=filter(num,den,x);
yt=a*y1+b*y2;
d=y-yt;%计算差值输出d[n];
subplot(3,1,1)
stem(n,y);
ylabel(‘振幅’);
subplot(3,1,2)
stem(n,yt);
ylabel(‘振幅’);
subplot(3,1,3)
stem(n,d);
ylabel(‘振幅’);
title(‘差信号’)
图像如下:
(1)假定另一个系统为
,修改以上程序,通过绘出的图形判断该系统是否线性系统。
Y[n]=x[n]+3.2x[n-2]还是线性系统,因为通过图形两个信号的差信号为2*10^-15量级,而且分析可知这部分不为0信号是由matlab软件本身造成的(具体解释见下文实验分析部分),所以可以认为这两个信号相同,所以是线性系统。
修改程序为:
clc;
n=0:
40;
a=2;
b=-3;
x1=cos(2*pi*0.1*n);
x2=sin(2*pi*0.4*n);
x=a*x1+b*x2;
num=[103.2];
den=[100];
y1=filter(num,den,x1);%x1的响应
y2=filter(num,den,x2);%x2的响应
y=filter(num,den,x);%输出响应
yt=a*y1+b*y2;
%计算差值输出d[n],根据上个实验误差值5x10^-15
d=abs(y-yt)>5*10^-15;
subplot(3,1,1)
stem(n,y);%绘制离散图形
ylabel('振幅');
subplot(3,1,2);
stem(n,yt);
ylabel('振幅');
subplot(3,1,3);
stem(n,d);
ylabel('振幅');
title('差信号');
图像如下:
1.2时变与时不变系统
根据(2.9)的系统,产生两个不同的输入序列x[n]和x[n-D],根据输出判断是否时不变系统。
clearall;
n=0:
40;
a=2;b=-3;D=10;
x=cos(2*pi*0.1*n);
xd=[zeros(1,D)x];
num=[2.242.49];
den=[1-0.4];
y=filter(num.den,x);
yd=filter(num.den,xd);
d=y-yd(1+D:
41+D);%计算差值输出d[n]
subplot(3,1,1)
stem(n,y);
ylabel(‘振幅’);
title(‘输出y[n]’);grid;
subplot(3,1,2)
stem(n,yd(1:
41));
ylabel(‘振幅’);
title(‘由于延时输入x[n’,num2str(D),’]的输出’);grid;
subplot(3,1,3)
stem(n,d);
ylabel(‘振幅’);
title(‘差信号’);
grid;
图像如下:
(1)y[n]和yd[n]有什么关系?
延时是由哪个参数控制的?
Yd[n]是同一系统输出响应y[n],延时由D控制。
(2)该系统是时不变系统吗?
该系统是时不变系统。
2、线性时不变系统的单位冲激响应
根据(2.9)的系统,计算并绘出单位冲激响应。
clearall;
N=40;
num=[2.242.49];
den=[1-0.4];
y=impz(num,den,N);
stem(y);
xlabel(‘时间序号’);ylabel(‘振幅’);
title(‘冲激响应’);
grid;
图像如下:
(1)修改以上程序,产生如下LTI系统的单位冲激响应前45个样本:
y[n]+0.71y[n-1]-0.46y[n-2]-0.62y[n-3=0.9x[n]-0.45x[n-1]+0.35x[n-2]+0.002x[n-3]
修改程序为:
clearall;
N=45;
num=[0.9-0.450.350.002];
den=[10.71-0.46-0.62];
y=impz(num,den,N);
stem(y);
xlabel('时间序号');
ylabel('振幅');
title('冲激响应');
grid;
图像如下: