在 MATLAB 中使用滤波器逼近系统频率响应

信息处理 matlab 过滤器设计 频率响应
2022-02-22 06:41:55

假设我知道近似真实物理系统但仅在特定频率下的(线性)模型的频率响应f0(所以基本上我有一个复数,其模块是幅度响应,相位是相位响应)。

在 Matlab 中,我想过滤频率为的正弦信号f0通过一个近似于我的系统响应的过滤器f0不改变其他频率。滤波过程必须模拟在线行为,假设下一个信号样本是未知的。

换句话说,我的问题是:如何构建一个过滤器,其行为在f0我的系统是否相同,并且不修改其他频率分量?

我问这个的动机是我需要对频率响应进行一些转换f0利用在频率响应上执行的奇异值分解的结果的真实系统f0近似真实系统的已识别(线性 MIMO)模型。

提前致谢

1个回答

将输入信号与(实部)谐波信号进行卷积αe2πif0t+ϕ.
让我们将此输出称为y1.
参数αϕ来自您的参考系统响应。

这将为您提供输入信号上的参考系统仅在您想要的频率下的输出。

现在将输入信号与(实部)谐波信号进行卷积1e2πif0t.
让我们将此输出称为y2.
这将提取输入信号的这个分量。

计算y3=y1y2你只需要添加y3到你的信号。

有更棘手和更有效的方法可以做到这一点。
然而,我想让它保持简单和直观。