sxinpower 发表于 2019-6-17 18:09:43

连续传递函数离散化双线性预修正

本帖最后由 sxinpower 于 2019-6-17 18:11 编辑

找资料发现双线性与修正方法离散化的话有图1所示的关系。
但是用matlab的c2d函数生成的和这个对应不上
请问图1是正确的吗?c2d函数在方法选择prewarp时,最后一个选相是预防畸变的频率吗?单位是模拟角频率吗?


花月mmc 发表于 2019-6-17 18:59:39

对这个不熟,帮顶

宅男 发表于 2019-6-17 21:14:55

看图1像是s域转z域,这应该是底层算法,你可以找下matlab中c2d函数的底层算法,预计是不一样的。至于这个公式是否正确,应该由你判断。最后两问没看懂,上面不是写了w1为预防畸变频率吗?

sxinpower 发表于 2019-8-14 08:35:36

所提问题已经验证,内容如下:
Matlab中对应预修正双线性变换是用s=(w/(tan(wT/2)))*(z-1)/(z+1)进行的,和图1所示的公式略有差异。
在Matlab中,用prewarp时,后边选项是预修正的频率,输入的是w,单位是rad/s
在Matlab中用到预修正双线性变换,有两种方式,一种是只用c2d,方式用prewarp,另一种是用c2dOptions和c2d结合
在预修正频率设置为1时,和tustin效果相同。

以上验证是用了一个简单函数进行测试的,把幅值相应和相位响应的结果输出出来进行比较得出的。

感谢两位大神@花月mmc,@宅男 的回复
页: [1]
查看完整版本: 连续传递函数离散化双线性预修正