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

文章目录

  • 离散系统冲激响应和阶跃响应
    • impz() \textbf{impz()} impz() stepz() \textbf{stepz()} stepz()求解离散系统的单位冲激响应和阶跃响应
      • == impz() \textbf{impz()} impz() stepz() \textbf{stepz()} stepz()用法==
        • `impz()`
        • `stepz()`
      • 例题
    • filtic() \textbf{filtic()} filtic() filter() \textbf{filter()} filter()求解离散系统的单位冲激响应和阶跃响应
      • == filtic() \textbf{filtic()} filtic() filter() \textbf{filter()} filter()用法==
        • `filtic()`
        • `filter()`
      • 例题

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

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');

离散系统冲激响应和阶跃响应_第1张图片

已知 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');

离散系统冲激响应和阶跃响应_第2张图片

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('单位阶跃信号')

离散系统冲激响应和阶跃响应_第3张图片

你可能感兴趣的:(DSP数字信号处理,dsp开发)