s-Domin 或 z-Domain - 用于混合系统的内容

信息处理 z变换 拉普拉斯变换 离散化
2022-02-13 12:33:31

我最近不得不处理一个电力电子系统,我必须实现一个电源转换器的动态模型,以便为该转换器设计一个合适的控制器。该控制将在 DSP 上实现,该 DSP 从一些 ADC 读取数字化值(电压和电流)。设备本身由一个 PWM 调制器和一个四阶 LC 滤波器组成。由于 ADC 和控制是数字系统,我可以使用 z 变换来描述它们,而 LC 滤波器是我通常使用拉普拉斯变换来描述的模拟系统。

现在出现的问题是:我应该离散滤波器的时间连续传递函数并使用 z 变换计算整个系统动态,还是我应该在 s 域中描述数字控制器并将整个系统描述为时间连续系统?

在我学习期间,我一直使用拉普拉斯变换。我听说也有 z 变换,但我从未真正使用过它。这通常工作得很好,但是,在我发现作者使用 z 变换的大多数论文中,我真的不知道何时应该将其中一种用于混合系统。据我所知,只要我关注的频率与系统的采样频率相比“足够低”,它就不会真正在我工作的领域发挥作用。这是真的?

我面临的另一个问题:当我在 matlab 的 s 域中使用这些动态模型并让程序计算传递函数时,结果模型表现出疯狂的高阶(例如,对于应该具有 7 阶的系统的 100 阶)。我知道这是数字问题,并且这些系统中的大多数极点都被非常靠近极点的零点抵消了。有一个 matlab 命令(“minreal”)可以消除一些零极点组合,但不是全部。我可以通过切换到 z 域来减少这个问题吗?如果不是:“minreal”命令的可信度如何?如果我在每个传递函数上应用此命令,我是否有丢失重要信息的风险?

1个回答

第一选择 :

在对 DAC 建模时,使用 ZOH 方法将过程的拉普拉斯变换转换为 Z 域。在您的情况下,您的 DAC 是一个 PWM。

第二选择 :

在拉普拉斯域中工作,但要考虑到您的 PWM 造成的延迟,它应该是 T/2,其中 T 是您的 PWM 周期。要对延迟建模,您可以使用 Padé 近似。

我个人使用了第二种技术。它更容易,更直观。但这两种技术都行得通。

对于数值问题:包含控制器时,您的传递函数的顺序可能会变大,我也使用了 minreal,但是您可以将您的传递函数转换为 ZPK,这解决了您可能遇到的许多数值问题。

编辑:正如蒂姆韦斯科特在评论中提到的那样。使用真正的 DAC 时,ZOH 建模是准确的。对于 PWM 而言并非如此。最好在 s 域中工作,并尝试尽可能准确地对延迟(采样、PWM、计算等)进行建模。