欢迎访问yhm138的博客园博客, 你可以通过 [RSS] 的方式持续关注博客更新

MyAvatar

yhm138

HelloWorld!

Mathemtica画出一个s域传递函数描述的系统的频域特性;z域传递函数描述的系统的频域特性

拿到的问题是这样的

拿双线性变换法做

双线性变换法:优点是克服多值映射关系、不会产生混叠失真;缺点是模拟到数字( s到z)的变换是非线性的,在高频处会有较大的失真。

研究拿到的s域函数的频域特性

2/((s + 1) (s + 3)) /. {s -> I*\[CapitalOmega] }
Plot[Abs[%], {\[CapitalOmega], -1000, 1000}]

画出\(\frac{2}{(s+1)(s+3)}\)的频域特性

用那种最传统的双线性变换法得到一个z域函数

(*使用双线性变换法*)
T = 0.1;(*采样周期设置为0.1*)
2/((s + 1) (s + 3)) /. {s -> 
    2/T*(1 - z^{-1})/(1 + z^{-1})} // FullSimplify
% /. {z -> Exp[I*\[Omega]]}
  Plot[Abs[%], {\[Omega], -2 Pi, 2 Pi}]

得到的z域传函是\(\frac{0.00414079 (z+1.)^2}{z (1. z-1.64389)+0.668737}\)

画对比图

Plot[{Abs[2/((1 + I*10 \[Omega]) (3 + I*10 \[Omega]))], 
  Abs[(0.004140786749482401` (1.` + E^(I \[Omega]))^2)/(
   0.6687370600414079` + 
    E^(I \[Omega]) (-1.6438923395445135` + 
       1.` E^(I \[Omega])))]}, {\[Omega], 0, Pi}, 
 PlotLegends -> Automatic]

画对比图的时候利用了数字角频率和模拟角频率间的互换关系

用脉冲响应不变法做一下

脉冲响应不变法:优点是模拟到数字的转换是线性转换,并且以数字滤波器的单位脉冲响应近似模拟滤波器的单位脉冲响应,因此有较好的时域逼近特性;缺点是:有频谱周期延拓效应,因此只能用于带限的频响特性,如衰减特性很好的低通或带通。

用那种最传统的脉冲响应不变法得到一个z域函数

T = 0.1;
InverseLaplaceTransform[2/((s + 1)*(s + 3)), s, t]
% /. {t -> n*T}
ZTransform[%, n, z] // FullSimplify
% /. {z -> Exp[I*\[Omega]]}
Plot[Abs[%], {\[Omega], -2 Pi, 2 Pi}]

得到的z域函数是\(z \left(\frac{1}{0.740818\, -1. z}+\frac{1}{z-0.904837}\right)\)

画对比图

Plot[{Abs[2/((1 + I*10 \[Omega]) (3 + I*10 \[Omega]))]
  , Abs[E^(
    I \[Omega]) (1/(0.7408182206817179` - 1.` E^(I \[Omega])) + 
      1/(-0.9048374180359595` + E^(I \[Omega])))]}, {\[Omega], 0, Pi},
  PlotLegends -> Automatic]

参考

IIR滤波器设计-冲激响应不变法
双线性变换法详解

posted @ 2021-04-02 13:56  yhm138  阅读(1078)  评论(0编辑  收藏  举报