这个例子展示了如何提高一个系统的频域精度的时间延迟是一个分数倍的采样时间。
对于非采样时间整数倍的时滞系统Tustin
和匹配
方法默认情况下将时间延迟四舍五入到样本时间的最接近的倍数。为了提高这些方法对此类系统的准确性,汇集
可以选择用一个离散时间全通滤波器(Thiran滤波器)来近似时间延迟的小数部分。在这个例子中,离散的系统没有和近似的小数部分的延迟和比较结果。
创建一个传输延迟为2.5 s的连续时间传输函数。
特遣部队(G = 1(1、0.2、4)“ioDelay”, 2.5);
离散化G
使用1秒的采样时间。G
具有2 rad/s的尖锐共振。在1 s的采样时间内,峰值接近奈奎斯特频率。对于保留峰值附近动态的频域匹配,使用预曲频率为2 rad/s的Tustin方法。
discopts = c2dOptions (“方法”,“tustin”,“PrewarpFrequency”2);Gt =汇集(G, 1, discopts)
警告:将延迟舍入到采样周期的最近倍数。为了在时域中获得更高的精度,可以使用ZOH或FOH方法。为了在频域更精确,使用Thiran滤波器来近似分数延迟(输入“help c2dOptions”获取更多细节)。
Gt z ^ 2 = 0.1693 + 0.3386 + 0.1693 z ^ (3 ) * ------------------------------ z z ^ 2 + 0.7961 + 0.913样品时间:1秒的离散传递函数。
软件会警告你,它将分数时间延迟舍入到样本时间的最接近的倍数。在本例中,2.5倍的采样时间(2.5 s)的时间延迟转换为一个额外的因子z ^ (3)
在Gt
.
比较Gt
对于连续时间系统G
.
plotopts = bodeoptions;plotopts。Ylim = {(-100, 20) (-1080,0)};bodeplot (G, Gt, plotopts);传奇(‘G’,“Gt”)
离散系统之间存在相位滞后Gt
以及连续时间系统G
,随着频率接近奈奎斯特频率而增加。这种相位延迟很大程度上是由于分数阶时间延迟的舍入。在这个例子中,分数延迟是样本时间的一半。
离散化G
再次使用三阶离散时间全通滤波器(Thiran滤波器)来近似延迟的半周期部分。
discopts。FractDelayApproxOrder = 3;Gtf =汇集(G, 1, discopts);
的FractDelayApproxOrder
选项指定近似于延迟的小数部分的Thiran滤波器的顺序。其他选项discopts
是不变的。因此Gtf
是图斯汀离散化的吗G
预曲速度为2 rad/s。
比较Gtf
来G
和Gt
.
plotopts。PhaseMatching =“上”;bodeplot (G, Gt, Gtf plotopts);传奇(‘G’,“Gt”,“Gtf”,“位置”,“西南”)
的大小Gt
和Gtf
都是相同的。然而,阶段Gtf
通过谐振为连续时间系统提供更好的相位匹配。当频率接近奈奎斯特频率时,相位匹配变差。分数延迟的高阶近似将改善相位匹配,使其更接近于奈奎斯特频率。然而,每一个额外的逼近阶都会给离散系统增加一个额外的阶(或状态)。
如果您的应用程序需要在Nyquist频率附近进行精确的频率匹配,请使用c2dOptions
为了使汇集
近似的分数部分的时间延迟作为一个Thiran滤波器。