用GNU Octave求解系统特性

        在电子领域,线性时不变系统具有广泛的代表意义。

       系统的冲激响应h(t)和系统函数H(s)从时域和变换域两方面表征了同一系统的两个侧面。H(s)是用s域表示的系统函数,它不仅仅是频域的概念。

      应用GNU Octave的impulse()函数,可以从系统函数H(s), 求出冲激响应h(t),

      例如,对于系统函数H1(s),可以用以下程序求出冲激响应和阶跃响应。

                                

  

 num=[1 -2];den=[1 1 0];

sys=tf(num,den);

figure(1)

subplot(221);

pzmap(sys);

axis([-2.5 2.5 -1.5 1.5]);

t=0:0.02:15;

subplot(222);

y=impulse(sys,t);

plot(t,y);

subplot(223);

z=step(sys,t);

plot(t,z);

      图一为冲击响应:  y=-2+3exp(-t)的波形

                 图一

     图二为阶跃响应: y=-2t+3-3exp(-t)的波形

                                           图二

                

        但是,当遇到如下系统函数,按照上面的程序进行求解时,会遇到问题。

                                    

      问题显示如下:          

                 

       原因是:本例的系统函数,分子和分母都是2阶的。按照s变换的定义,在变换为时域的冲激响应时,存在δ(t)函数。完整的冲激响应为:h(t)= δ(t)-2exp(-t)*cost.但在用符号函数进行求解时,直接将h(t)写为:-2exp(-t)*cost。

       因此,为了使用上面的程序求出这个系统的冲激响应函数,需将s函数先减去1,即,消除δ(t),变为如下:

                        

                                    图三

        该程序输出了零极点、冲激响应h(t)、频率响应H(jw),如图四。

                           图四

     总结:

        本文通过GNU Octave软件的impulse函数,求解系统函数对应的冲激响应和频率响应曲线。

系统函数的分子的阶数大于等于分母的阶数时,会遇到无法求解的问题。

分析出原因,并加以解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值