在 simulink 中再现离散滤波器块

Reproducing a discrete filter block in simulink

我想制作一个离散滤波器,其中采样率可以由输入控制。我正在尝试了解离散滤波器块的外观,"under its own mask." 是否可以检索此块背后的代码以便对其进行修改以供我使用?

该块太复杂,选项太多,无法简单地查看掩码下的内容。您最好的选择是查看 documentation,它确实在某些特定情况下显示了该块的一些详细实现以了解想法,然后尝试使用基本构建块重新创建您想要的离散滤波器,使用一开始是恒定的采样时间,直到您可以针对 Simulink 库模块验证您自己的实现。只有这样,才开始考虑如何更改采样时间。不过,您的主要问题是滤波器系数会随采样时间而变化,因此您需要能够即时重新计算它们。这不是一个简单的问题,我什至不知道是否可能

您可以使用 user-defined function 作为滤波器,选择滤波器传递函数,将其转换为差分方程(离散时间等价于微分方程),在函数中实现该差分方程,然后将采样率作为输入(采样率将在差分方程中显示为常数)。