【信号系统实验4】MATLAB—离散信号与系统的时域与z域分析

目录

1. 已知某离散系统的差分方程为y(k)-y(k-1)+0.9y(k-3)=f(k)试作出:

2. 已知某系统的系统函数如下y(k+2)+0.4y(k+1)-0.12y(k)=f(k+2)+2f(k+1)计算在输入信号为f(k)=u(k)时的系统零状态响

3.求下列离散时间序列的z变换

4.采用变换域分析法求解系统的零状态响应

5.已知某离散时间系统的系统函数如下

H(z)=z^2/( z^2+2^0.5·z+1)


 

1. 已知某离散系统的差分方程为y(k)-y(k-1)+0.9y(k-3)=f(k)试作出:

(1)以默认方式绘出系统 h(k)的时域波形;

(2)绘出系统在0~60取样点范围内 h(k)的时域波形;

(3)绘出系统在-10~40离散时间范围内 h(k)的时域波形;

(4)求出系统在-5~10离散时间范围内 h(k)的数值解。

实验代码如下:

a=[1,-1,0,0.9];
b=[1];
subplot(3,1,1);
impz(b,a);
subplot(3,1,2);
impz(b,a,60);
subplot(3,1,3);
impz(b,a,-10:40);
y=impz(b,a,-5:10)

y =

             0

             0

             0

             0

             0

    1.0000

    1.0000

    1.0000

    0.1000

   -0.8000

   -1.7000

   -1.7900

   -1.0700                    

    0.4600

    2.0710

    3.0340

2. 已知某系统的系统函数如下y(k+2)+0.4y(k+1)-0.12y(k)=f(k+2)+2f(k+1)计算在输入信号为f(k)=u(k)时的系统零状态响

实验代码如下:

a=[1,0.4,-0.12];
b=[1,2];
N=30;
f=ones(1,N);
k=0:1:N-1;
y=filter(b,a,f);
stem(k,y);
xlabel('k');
title('系统零状态响应 y(k)')

3.求下列离散时间序列的z变换

(1) f1(n)=u(n);

(2) f2(n)=a^n·u(n);

(3) f3(n)=0.5n[u(n)-u(n-5)];

(4) f4(n)= a^n·cos(nπ/2)u(n);

syms n;
%(1)f_1(n)=u(n)
f_1=sym('1');
F_1=ztrans(f_1);
'f_1=',pretty(f_1);
'F_1=',pretty(F_1);
%(2)f_2(n)=a^n*u(n)
syms a;
f_2=a^n;
F_2=ztrans(f_2);
'f_2=',pretty(f_2);
'F_2=',pretty(F_2);
%(3)f_3(n)=0.5n[u(n)-u(n-5)];
f_3=0.5*n*(heaviside(n)-heaviside(n-5));
F3=ztrans(f_3);
'f_3=',pretty(f_3);
'F_3=',pretty(F3);
%(4)f_4(n)=a^n*cos(n*pi/2)u(n)
f4=a^n*cos(n*pi/2)*heaviside(n);
F4=ztrans(f4);
'f_4=',pretty(f4);
'F_4=',pretty(F4);

ans =

    'f_1='

1

ans =

    'F_1='

  z

-----

z - 1

ans =

    'f_2='

  n

a

ans =

    'F_2='

    z

- ---------

  a - z

ans =

    'f_3='

  n (heaviside(n - 5) - heaviside(n))

- -------------------------------------------

                 2

ans =

    'F_3='

               2

             z       5 z  + 2 z - 5

--------------- - --------------------

            2         5         2

2 (z - 1)     4 z  (z - 1)

ans =

    'f_4='

  n       / pi n \

a  cos| ------ | heaviside(n)

          \  2    /

ans =

    'F_4='

              /      / pi (n + 1) \         z \

a ztrans| cos| ------------- |,  n, --- |

              \      \        2      /         a /    1

-----------------------------------------  + ----

                             z                         2

4.采用变换域分析法求解系统的零状态响应

(1)已知线性离散时间系统的

激励函数为f(n)=(-1)^nu(n)

单位脉冲响应h(n)=[(-1)^n/3+2*3^n/3]u(n)

实验代码如下:

syms n;
f=(-1)^n;
h=(-1)^n/3+2*3^n/3;
F=ztrans(f);
H=ztrans(h);
Y=H*F;
y=iztrans(Y)

y =

(5*(-1)^n)/6 + 3^n/2 + ((-1)^n*(n - 1))/3

(2) 已知线性离散时间系统的

激励函数为f(n)= u(n)

系统传递函数为H(z)=z(7z-2)/(z-0.2)(z-0.5)

syms n z;
f=1^n;
F=ztrans(f);
H=z*(7*z-2)/((z-0.2)*(z-0.5));
yf=iztrans(H*F)

仿真结果如下:

yf =

25/2 - (1/5)^n/2 - 5*(1/2)^n

 

5.已知某离散时间系统的系统函数如下

H(z)=z^2/( z^2+2^0.5·z+1)

(1) 试利用 MATLAB求系统的单位序列响应h(n)并绘出h(n)的时域波形。

(2) 利用 MATLAB计算系统的零、极点,并绘出 系统的零、极点分布图,判断系统是否稳定。

b=[1 0 0];
a=[1 sqrt(2) 1];
[r,p,k]=residue(b,a)
subplot(2,1,1);
impz(b,a,-10:30);
subplot(2,1,2);
num=[1 0 0];
den=[1 sqrt(2) 1];
p=roots(den)%求多项式的根
z=roots(num)
zplane(z,p);% z为零点列向量、 p为极点列向量
title('零极点分布图 '); 

仿真结果如下:

r =

  -0.7071 - 0.0000i

      -0.7071 + 0.0000i

p =

  -0.7071 + 0.7071i

  -0.7071 - 0.7071i

k =

     1

p =

  -0.7071 + 0.7071i

  -0.7071 - 0.7071i

z =

     0

     0

  • 26
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值