我目前正在一个项目中实现不同的过滤器类型(例如 iirs - 直接形式 1、2、转置 1、2 等)。我最近才开始尝试实现二阶部分过滤器。该滤波器由级联双二阶滤波器组成,每个滤波器都实现为转置直接形式 2 级。
实现后,我想验证我的结果是否与 MATLAB 中的结果相匹配。我打开了滤波器设计工具包并生成了一个 8 阶 SOS 滤波器。当我导出这个过滤器时,它会同时导出一个 SOS 矩阵和一个缩放数组 G。
所以我的问题是:为什么 MATLAB 提供这个缩放数组 G?SOS矩阵不应该完全能够自己描述过滤器吗?为什么 MATLAB 决定排除这些收益?
这是否只是 MATLAB 的一种礼貌,以便用户可以“微调”每个滤波器级增益以确定最佳选项?