考虑一个实现 5/7 的合理采样率变化的系统:为此,我们级联 5 个上采样器、一个截止频率为 π/7 的低通滤波器和一个 7 个下采样器。低通滤波器是一个 4 阶巴特沃斯滤波器,具有传输功能
假设输入以每秒 1000 个样本的速率工作。系统每秒需要多少次乘法?假设乘以零不计算在内。
由于剩下 9 个滤波器系数和 5000 个样本(在上采样、滤波、下采样之后),9*5000 = 45000 是我的 MAC 计算,但这似乎是错误的方法,还有其他想法可以解决这个问题吗???
考虑一个实现 5/7 的合理采样率变化的系统:为此,我们级联 5 个上采样器、一个截止频率为 π/7 的低通滤波器和一个 7 个下采样器。低通滤波器是一个 4 阶巴特沃斯滤波器,具有传输功能
假设输入以每秒 1000 个样本的速率工作。系统每秒需要多少次乘法?假设乘以零不计算在内。
由于剩下 9 个滤波器系数和 5000 个样本(在上采样、滤波、下采样之后),9*5000 = 45000 是我的 MAC 计算,但这似乎是错误的方法,还有其他想法可以解决这个问题吗???
一种可能的选择是将低通滤波器分成 FIR 部分和纯递归 IIR 部分。
您仍然需要将递归部分应用于上采样域中的每个样本,但您只需要在需要实际输出样本时运行 FIR。所以这可能是
就稳定性和噪音性能而言,这不是一个好主意,但如果你有足够的精度和头部空间,那就可以了。
更新:
还有其他方法可以潜在地减少乘法。Butterworth 的 FIR 部分可以分为两个二阶部分,它们很简单所以你可以把它写成
因此,在这种情况下,它可以降低到每秒 25000 次乘法,尽管它不是一个特别有用的实现。最后,有多种不同的方式来实现它们,哪一种更好取决于平台的属性。