离散系统冲激响应和阶跃响应

离散系统冲激响应和阶跃响应

impz() \textbf{impz()} impz() stepz() \textbf{stepz()} stepz()求解离散系统的单位冲激响应和阶跃响应

impz() \textbf{impz()} impz() stepz() \textbf{stepz()} stepz()用法

impz()
[h,t]=impz(b,a);%求解数字系统的冲激响应h
[h,t]=impz(b,a,n);%求解数字系统的冲激响应h,取样点数是n
stepz()
[h,t]=stepz(b,a);%求解数字系统的阶跃响应h
[h,t]=stepz(b,a,n);%求解数字系统的阶跃响应h,取样点数是n

例题

因果系统: 6 y ( n ) + 2 y ( n − 2 ) = x ( n ) + 3 x ( n − 1 ) + 3 x ( n − 2 ) + x ( n − 3 ) 6y(n)+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3) 6y(n)+2y(n2)=x(n)+3x(n1)+3x(n2)+x(n3)
初始条件: y ( − 1 ) = 0 , x ( − 1 ) = 0 y(-1)=0,x(-1)=0 y(1)=0,x(1)=0
求冲激响应和阶跃响应

格式一:

%%%%%%注意归一化%%%%%%
a=[1 0 1/3 0];%对应y,由于a和b位数应该统一,所以不是a=[1 0 1/3]
b=[1/6 1/2 1/2 1/6 ];%对应x

N=32;%取N=32作图
n=0:N-1;

hn=impz(b,a,n);
gn=stepz(b,a,n);

figure('Color','w');
subplot(121),stem(n,hn,"filled");title('系统冲激响应');
ylabel('h(n)');xlabel('n');
subplot(122),stem(n,gn,"filled");title('系统阶跃响应');
ylabel('g(n)');xlabel('n');

格式二:

a=[1 0 1/3 0];%对应y,由于a和b位数应该统一,所以不是a=[1 0 1/3]
b=[1/6 1/2 1/2 1/6 ];%对应x

N=32;%取N=32作图

[hn,n]=impz(b,a,N);
[gn,n]=stepz(b,a,N);

figure('Color','w');
subplot(121),stem(n,hn,"filled");title('系统冲激响应');
ylabel('h(n)');xlabel('n');
subplot(122),stem(n,gn,"filled");title('系统阶跃响应');
ylabel('g(n)');xlabel('n');

在这里插入图片描述

已知 H ( z ) = 0.1321 − 0.3963 z − 2 + 0.3963 z − 4 − 0.1321 z − 6 1 + 0.34319 z − 2 + 0.60439 z − 4 + 0.20407 z − 6 H(z)=\frac{0.1321-0.3963z^{-2}+0.3963z^{-4}-0.1321z^{-6}}{1+0.34319z^{-2}+0.60439z^{-4}+0.20407z^{-6}} H(z)=1+0.34319z2+0.60439z4+0.20407z60.13210.3963z2+0.3963z40.1321z6
求冲激响应和阶跃响应

a=[0.1321 0 0.3963 0 0.3963 0 -0.1321];%对应y
b=[1 0 0.34319 0 0.60439 0 0.20407];%对应x

N=32;%取N=32作图

[hn,n]=impz(b,a,N);
[gn,n]=stepz(b,a,N);

figure('Color','w');
subplot(121),stem(n,hn,"filled");title('系统冲激响应');
ylabel('h(n)');xlabel('n');
subplot(122),stem(n,gn,"filled");title('系统阶跃响应');
ylabel('g(n)');xlabel('n');

在这里插入图片描述

filtic() \textbf{filtic()} filtic() filter() \textbf{filter()} filter()求解离散系统的单位冲激响应和阶跃响应

filtic() \textbf{filtic()} filtic() filter() \textbf{filter()} filter()用法

filtic()
z=filtic(b,a,y,x)%y,x是初始状态
z=filtic(b,a,y)%x初始状态为零
filter()
y=filter(b,a,x);
[y,zf]=filter(b,a,x);%除得到结果y还得到x最终状态zf
y=filter(b,a,x,zi);%zi是x初始状态

例题

因果系统: 6 y ( n ) + 2 y ( n − 4 ) = x ( n ) − 3 x ( n − 2 ) + 3 x ( n − 4 ) − x ( n − 6 ) 6y(n)+2y(n-4)=x(n)-3x(n-2)+3x(n-4)-x(n-6) 6y(n)+2y(n4)=x(n)3x(n2)+3x(n4)x(n6)
初始条件: y ( − 1 ) = 0 , x ( − 1 ) = 0 y(-1)=0,x(-1)=0 y(1)=0,x(1)=0
求冲激响应和阶跃响应

a=[1 0 0 0 -1/3 0 0];
b=[1/6 0 -1/2 0 1/2 0 -1/6];

N=32;
n=0:N-1;
h=zeros(size(n));
h(n==0)=1;
g=zeros(size(n));
g(n>=0)=1;

%定义初始条件
x0=0;y0=0;
zi=filtic(b,a,y0,x0);%用filter进行处理

hn=filter(b,a,h,zi);
gn=filter(b,a,g,zi);

figure('Color','w');
subplot(121)
stem(n,hn,"filled");title('单位冲激信号')
subplot(122)
stem(n,gn,"filled");title('单位阶跃信号')

在这里插入图片描述

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮光启行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值