滤波器组的完美重建:原理、MDCT 及 Python 实现
1. 完美重建的目标与条件
在滤波器组的研究中,我们的目标是找到滤波器组的脉冲响应 (h_k(n)) 和 (g_k(n)),使得合成滤波器组的输出与分析滤波器组的输入完全相同,仅存在一定的系统延迟 (n_d),即 (\hat{x}(n) = x(n - n_d))。这个系统延迟是由于在分析和合成滤波器组中使用因果滤波器进行滤波操作而产生的。
为了实现完美重建,我们使用多相矩阵来表示合成滤波器组的输出:
(\hat{X}(z) = Y(z) \cdot G(z) = X(z) \cdot H(z) \cdot G(z))
完美重建意味着合成滤波器组的输出 (\hat{X}_T(z)) 与分析滤波器组的输入 (X_T(z)) 仅相差一个延迟。为了简化,我们将滤波器引入的延迟限制为块大小 (N) 的倍数 (d)。因此,当满足以下条件时,可实现完美重建:
(G(z) = z^{-d}H^{-1}(z))
从这个公式可以看出,设计用于完美重建的合成滤波器组“仅”需要对分析多相矩阵 (H(z)) 进行矩阵求逆。然而,问题在于如何对多项式矩阵进行求逆,并且最好在分析滤波器组使用有限长单位脉冲响应(FIR)滤波器的情况下,使得合成滤波器组也能得到 FIR 滤波器。
2. 简单的求逆方法
对于块变换矩阵,一种简单的方法是使其正交。这样,分析和合成的脉冲响应除了时间反转关系外是相同的。在多相描述中,类似的概念是所谓的准酉多相矩阵,其逆矩阵是将 (z) 替换为 (z^{-1}) 后的转置矩阵,即:
(H^{-1}(z) = H^T(z^{-1}))
超级会员免费看
订阅专栏 解锁全文
1696

被折叠的 条评论
为什么被折叠?



