离散时间系统的时域特性分析

实验目的

线性时不变离散时间系统在时域中可以通过常系数线性差分方程来表示,冲激响应序列可以可以刻画他的时域特征。本实验通过使用Matlab函数来研究离散时间系统的差分方程,冲激响应和系统的线性时不变的理解。

实验问题与做法

 

第一问步骤:

Step1:将n每个一个单位取一次,范围为0-299。同时给出x(n)的离散表达式的值。

Step2:运用filter函数求得y(n)输出表达式,由于Matlab求得的为数值解,所以采用subplot和stem画图得到输入和输出的波形。

第二问步骤:

Step1:采用impz函数获得两个系统的冲激响应序列,同样为数值解。

Step2:采用subplot和stem画图得到冲击响应序列的波形。

第三问步骤:

线性判断:

Step1:随机生成两个输入x1(n)和x2(n)。

Stpe2:随机取常数a,b为x1(n)和x2(n)前的系数。

Stpe3:取输入信号x3(n)=a*x1(n)+b*x2(n)。

Stpe4:依照第一问的方法求得y1(n),y2(n)和y3(n)。

Stpe5:判断y3(n)是否等于a*y1(n)+b*y2(n),如相等,验证了线性关系。反之,为非线性。

时不变性判断:

Step1:随机生成两个输入x1(n)和x2(n),设置时延值D=10。

Step2:取输入信号x3(n)=a*x1(n)+b*x2(n)。

Step3:将x3(n)延迟时延D个单位,记为xd(n)。

Step4:依据问题一的filter函数生成y3(n),yd(n)。

Step5:判断y3(n+D)-yd(n)是否全部为0,如果全部为0,说明为时不变系统。否则,为时变系统。

实现代码 

第一问代码与结果

 

1.clear,clc
2.%第一问:
3.n=0:299;
4.x=cos(20*pi*n/256)+cos(200*pi*n/256);
5.%y1输出构建
6.num1=[0.5,0.27,0.77];
7.den1=1;
8.%y2输出构建
9.num2=[0.45,0.5,0.45];
10.den2=[1,-0.53,0.46];
11.
12.y1=filter(num1,den1,x);
13.y2=filter(num2,den2,x);
14.
15.subplot(3,1,1)
16.stem(n,y1)
17.xlabel('时间序列n')
18.ylabel('信号幅度')
19.title('y1')
20.subplot(3,1,2)
21.stem(n,y2)
22.xlabel('时间序列n')
23.ylabel('信号幅度')
24.title('y2')
25.subplot(3,1,3)
26.stem(n,x)
27.xlabel('时间序列n')
28.ylabel('信号幅度')
29.title('y3')

第二问代码与结果

1.y3=impz(num1,den1,n);
2.y4=impz(num2,den2,n);
3.subplot(2,1,1)
4.stem(n,y3)
5.xlabel('时间序列n')
6.ylabel('信号幅度')
7.title('h1')
8.subplot(2,1,2)
9.stem(n,y4)
10.xlabel('时间序列n')
11.ylabel('信号幅度')
12.title('h2')
13.grid on

 

第三问代码与结果

1.%验证线性关系
2.%假设x1,x2
3.a=3;
4.b=2;
5.x1=cos(2*pi*0.1*n);
6.x2=cos(2*pi*0.4*n);
7.x3=a*x1+b*x2;
8.y11=filter(num2,den2,x1);
9.y12=filter(num2,den2,x2);
10.y13=filter(num2,den2,x3);
11.y13_compare=a*y11+b*y12;
12.
13.% subplot(2,1,1)
14.% stem(n,y13)
15.% subplot(2,1,2)
16.% stem(n,y13_compare)
17.% grid on
18.
19.%验证时不变关系是否成立
20.D=10; %右移十个单位
21.xd=[zeros(1,D) x3];
22.ic=[0 0];
23.yy1=filter(num2,den2,x3);
24.yy2=filter(num2,den2,xd);
25.d=yy1-yy2(1+D:length(yy1)+D);
26.stem(n,d)
27.xlabel('时间序列n')
28.ylabel('信号幅度')
29.title('d(时不变系统判断)')
30.if(all(d)==0)
31.    disp('为时不变系统')
32.end

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值