使用分区截断奇异值分解滤波的近似卷积
J. Atkins, A. Strauss and C. Zhang, “Approximate convolution using partitioned truncated singular value decomposition filtering,” 2013 IEEE International Conference on Acoustics, Speech and Signal Processing, Vancouver, BC, Canada, 2013, pp. 176-180
引言
在现代信号处理系统中,大型卷积运算的实时实现一直是一个具有挑战性的问题。特别是在音频信号处理领域,无论是电信还是多媒体应用,经常需要处理非常长的房间脉冲响应(RIR),这些响应可能包含数万个系数。传统的实现方法,如重叠相加(overlap-add)和重叠保留(overlap-save)技术,虽然通过频域处理降低了计算复杂度,但固有的块处理结构引入了系统延迟,这在许多实时应用中是不可接受的。
本文深入分析了Beats Electronics研究团队提出的分区截断奇异值分解(Partitioned Truncated Singular Value Decomposition, PTSVD)滤波方法。这种方法通过将脉冲响应在时间上分区,利用奇异值分解进行因式分解,然后仅使用对应于最大奇异值的部分奇异向量进行重构,实现了计算复杂度和内存占用的显著降低。
数学框架与理论基础
滤波器的矩阵表示
考虑一个长度为L L L 的脉冲响应:
h = [ h ( 0 ) , h ( 1 ) , … , h ( L − 1 ) ] T \mathbf{h} = [h(0), h(1), \ldots, h(L-1)]^T
h = [ h ( 0 ) , h ( 1 ) , … , h ( L − 1 ) ] T
将这个脉冲响应分区成P P P 个长度为N N N 的段,其中N = ⌈ L / P ⌉ N = \lceil L/P \rceil N = ⌈ L / P ⌉ 。如果必要,对h \mathbf{h} h 进行零填充使其长度恰好为P × N P \times N P × N 。通过这种分区,我们可以构造一个N × P N \times P N × P 的矩阵H \mathbf{H} H :
H = [ h ( 0 ) h ( N ) h ( 2 N ) ⋯ h ( ( P − 1 ) N ) h ( 1 ) h ( N + 1 ) h ( 2 N + 1 ) ⋯ h ( ( P − 1 ) N + 1 ) ⋮ ⋮ ⋮ ⋱ ⋮ h ( N − 1 ) h ( 2 N − 1 ) h ( 3 N − 1 ) ⋯ h ( P N − 1 ) ] \mathbf{H} = \begin{bmatrix}
h(0) & h(N) & h(2N) & \cdots & h((P-1)N) \\
h(1) & h(N+1) & h(2N+1) & \cdots & h((P-1)N+1) \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
h(N-1) & h(2N-1) & h(3N-1) & \cdots & h(PN-1)
\end{bmatrix} H = ⎣ ⎢ ⎢ ⎢ ⎢ ⎡ h ( 0 ) h ( 1 ) ⋮ h ( N − 1 ) h ( N ) h ( N + 1 ) ⋮ h ( 2 N − 1 ) h ( 2 N ) h ( 2 N + 1 ) ⋮ h ( 3 N − 1 ) ⋯ ⋯ ⋱ ⋯ h ( ( P − 1 ) N ) h ( ( P − 1 ) N + 1 ) ⋮ h ( P N − 1 ) ⎦ ⎥ ⎥ ⎥ ⎥ ⎤
这种矩阵化表示的巧妙之处在于,矩阵的每一列代表了原始滤波器的一个时间分区,相邻列之间相差N N N 个采样点的延迟。
奇异值分解
对矩阵H \mathbf{H} H 进行奇异值分解:
H = U S V H \mathbf{H} = \mathbf{U}\mathbf{S}\mathbf{V}^H
H = U S V H
其中:
U ∈ C N × N \mathbf{U} \in \mathbb{C}^{N \times N} U ∈ C N × N 是左奇异向量矩阵,其列向量形成C N \mathbb{C}^N C N 空间的标准正交基
V ∈ C P × P \mathbf{V} \in \mathbb{C}^{P \times P} V ∈ C P × P 是右奇异向量矩阵,其列向量形成C P \mathbb{C}^P C P 空间的标准正交基
S ∈ R N × P \mathbf{S} \in \mathbb{R}^{N \times P} S ∈ R N × P 是对角矩阵,主对角线上包含按降序排列的奇异值σ 1 ≥ σ 2 ≥ ⋯ ≥ σ min ( N , P ) ≥ 0 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_{\min(N,P)} \geq 0 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ m i n ( N , P ) ≥ 0
低秩近似与误差分析
通过仅保留最大的M M M 个奇异值及其对应的奇异向量,我们得到秩为M M M 的近似:
H M = U M S M V M H \mathbf{H}_M = \mathbf{U}_M\mathbf{S}_M\mathbf{V}_M^H
H M = U M S M V M H
其中U M ∈ C N × M \mathbf{U}_M \in \mathbb{C}^{N \times M} U M ∈ C N × M ,S M ∈ R M × M \mathbf{S}_M \in \mathbb{R}^{M \times M} S M ∈ R M × M ,V M ∈ C P × M \mathbf{V}_M \in \mathbb{C}^{P \times M} V M ∈ C P × M 。
近似误差定义为:
e ( M , N ) = ∥ H − H M ∥ 2 = ∑ i = M + 1 min ( N , P ) σ i 2 e(M, N) = \|\mathbf{H} - \mathbf{H}_M\|_2 = \sqrt{\sum_{i=M+1}^{\min(N,P)} \sigma_i^2}
e ( M , N ) = ∥ H − H M ∥ 2 = i = M + 1 ∑ m i n ( N , P ) σ i 2
根据Eckart-Young-Mirsky定理,这种截断SVD提供了在Frobenius范数意义下的最优秩M M M 近似。
滤波器结构的实现
展开形式与信号流
将H M \mathbf{H}_M H M 展开为外积形式:
H M = ∑ m = 0 M − 1 σ m u m v m H \mathbf{H}_M = \sum_{m=0}^{M-1} \sigma_m \mathbf{u}_m \mathbf{v}_m^H
H M = m = 0 ∑ M − 1 σ m u m v m H
其中u m \mathbf{u}_m u m 是U M \mathbf{U}_M U M 的第m m m 列,v m \mathbf{v}_m v m 是V M \mathbf{V}_M V M 的第m m m 列。
对于输入信号x ( n ) x(n) x ( n ) ,输出信号可以表示为:
y ( n ) = ∑ p = 0 P − 1 ∑ m = 0 M − 1 v m ( p ) σ m u m T x ( n − p N ) y(n) = \sum_{p=0}^{P-1} \sum_{m=0}^{M-1} v_m^{(p)} \sigma_m \mathbf{u}_m^T \mathbf{x}(n - pN)
y ( n ) = p = 0 ∑ P − 1 m = 0 ∑ M − 1 v m ( p ) σ m u m T x ( n − p N )
其中v m ( p ) v_m^{(p)} v m ( p ) 是向量v m \mathbf{v}_m v m 的第p p p 个元素,x ( n − p N ) \mathbf{x}(n - pN) x ( n − p N ) 是时刻( n − p N ) (n - pN) ( n − p N ) 的最近N N N 个输入样本组成的向量。
图像分析与解释
图1:典型房间脉冲响应及其PTSVD近似误差
图1(a)展示了一个RT60(混响时间)为400毫秒的典型房间脉冲响应。该响应在前5000个采样点内具有较高的能量集中度,随后逐渐衰减至接近零。这种能量分布特征使得低秩近似特别有效。
图1(b)呈现了一个三维误差曲面,横轴表示近似的秩M M M (从2到10),纵轴表示块长度占总长度的百分比( N / L × 100 % ) (N/L \times 100\%) ( N / L × 1 0 0 % ) ,颜色编码表示误差的分贝值。深蓝色区域(误差约-60dB)表明即使使用很低的秩(M = 2 M=2 M = 2 或3),在合适的块长度选择下也能达到非常好的近似效果。误差曲面显示出一个明显的"谷"区域,对应于最优的参数组合。
图2:PTSVD滤波器的详细结构
图2展示了PTSVD滤波器的完整信号流图。输入信号x ( n ) x(n) x ( n ) 同时进入M M M 个并行的滤波器分支。每个分支包含:
一个由σ m u m \sigma_m\mathbf{u}_m σ m u m 定义的长度为N N N 的FIR滤波器
一个由P − 1 P-1 P − 1 个z − N z^{-N} z − N 延迟单元组成的抽头延迟线
每个延迟抽头乘以相应的系数v m ( p ) v_m^{(p)} v m ( p )
所有分支的输出最终求和得到输出信号y ( n ) y(n) y ( n ) 。这种结构类似于一个分析滤波器组后接延迟线网络,但具有特殊的系数配置。
图3:IIR近似的误差分析
图3展示了对前4个u m \mathbf{u}_m u m 和v m \mathbf{v}_m v m 滤波器进行IIR近似的频域误差(以dB为单位)。左列显示u m \mathbf{u}_m u m 滤波器的近似误差(使用9阶IIR),右列显示v m \mathbf{v}_m v m 滤波器的近似误差(使用41阶IIR)。蓝线表示原始FIR响应,红线表示IIR近似。误差在大部分频率范围内保持在-20dB以下,在某些频率点达到-40dB,表明IIR近似的高精度。
图4:复杂度和内存使用对比
图4提供了全面的性能对比分析:
图4(a)和4(b)展示了基本PTSVD方法的计算复杂度和内存使用
图4©和4(d)展示了PTSVD-IIR方法的性能
虚线表示分区卷积方法的性能基准
不同颜色的曲线对应不同的秩M M M (从2到10)
结果显示,对于长度超过1000的滤波器,PTSVD-IIR方法在复杂度和内存使用上都显著优于传统方法。
图5:PTSVD和PTSVD-IIR的时域误差
图5直接展示了近似滤波器与原始滤波器的差异。图5(a)显示基本PTSVD的误差,图5(b)显示PTSVD-IIR的误差。两种方法都能很好地保持原始响应的主要特征,误差主要集中在低能量的尾部区域。
IIR模型优化
理论基础
IIR滤波器的传递函数可以表示为:
H ( z ) = B ( z ) A ( z ) = ∑ k = 0 Q b b k z − k 1 + ∑ k = 1 Q a a k z − k H(z) = \frac{B(z)}{A(z)} = \frac{\sum_{k=0}^{Q_b} b_k z^{-k}}{1 + \sum_{k=1}^{Q_a} a_k z^{-k}}
H ( z ) = A ( z ) B ( z ) = 1 + ∑ k = 1 Q a a k z − k ∑ k = 0 Q b b k z − k
对于每个u m \mathbf{u}_m u m 和v m \mathbf{v}_m v m 滤波器,我们寻找最小化频域误差的IIR系数:
min a k , b k ∑ ω ∣ H F I R ( e j ω ) − H I I R ( e j ω ) ∣ 2 W ( ω ) \min_{a_k, b_k} \sum_{\omega} |H_{FIR}(e^{j\omega}) - H_{IIR}(e^{j\omega})|^2 W(\omega)
a k , b k min ω ∑ ∣ H F I R ( e j ω ) − H I I R ( e j ω ) ∣ 2 W ( ω )
其中W ( ω ) W(\omega) W ( ω ) 是频率加权函数。
实现细节
采用二阶节(Second-Order Sections, SOS)级联形式实现IIR滤波器:
H ( z ) = ∏ i = 1 L S O S b 0 i + b 1 i z − 1 + b 2 i z − 2 1 + a 1 i z − 1 + a 2 i z − 2 H(z) = \prod_{i=1}^{L_{SOS}} \frac{b_{0i} + b_{1i}z^{-1} + b_{2i}z^{-2}}{1 + a_{1i}z^{-1} + a_{2i}z^{-2}}
H ( z ) = i = 1 ∏ L S O S 1 + a 1 i z − 1 + a 2 i z − 2 b 0 i + b 1 i z − 1 + b 2 i z − 2
这种实现方式具有更好的数值稳定性和灵活性。
复杂度的深入分析
计算复杂度比较
定义以下符号:
C F I R C_{FIR} C F I R :直接FIR实现的复杂度
C P T S V D C_{PTSVD} C P T S V D :基本PTSVD方法的复杂度
C P T S V D − I I R C_{PTSVD-IIR} C P T S V D − I I R :PTSVD-IIR方法的复杂度
C P F C C_{PFC} C P F C :分区频域卷积的复杂度
各方法的计算复杂度(每样本的乘加运算次数)为:
C F I R = L C_{FIR} = L
C F I R = L
C P T S V D = M × ( N + P ) C_{PTSVD} = M \times (N + P)
C P T S V D = M × ( N + P )
C P T S V D − I I R = 2.5 M ( Q U + Q V ) C_{PTSVD-IIR} = 2.5M(Q_U + Q_V)
C P T S V D − I I R = 2 . 5 M ( Q U + Q V )
C P F C = 4 α log 2 ( 2 N ) + 4 P + 1 C_{PFC} = 4\alpha \log_2(2N) + 4P + 1
C P F C = 4 α log 2 ( 2 N ) + 4 P + 1
其中α \alpha α 是平台相关的FFT效率因子,典型值为1.5-2.0。
内存需求分析
各方法的内存需求(变量数)为:
M F I R = 2 L M_{FIR} = 2L
M F I R = 2 L
M P T S V D = M × ( N + P + L ) + N M_{PTSVD} = M \times (N + P + L) + N
M P T S V D = M × ( N + P + L ) + N
M P T S V D − I I R = 3.5 M ( Q U + Q V ) M_{PTSVD-IIR} = 3.5M(Q_U + Q_V)
M P T S V D − I I R = 3 . 5 M ( Q U + Q V )
M P F C = 4 P N M_{PFC} = 4PN
M P F C = 4 P N
实际应用案例研究
混响引擎仿真
对于一个典型的音乐厅混响(RT60 = 400ms,采样率48kHz,总长度L = 20 , 315 L = 20,315 L = 2 0 , 3 1 5 ),在给定的约束条件下(每样本500次运算,1000个变量的内存),通过网格搜索得到最优参数:
分区长度:N = 53 N = 53 N = 5 3
近似秩:M = 4 M = 4 M = 4
U滤波器IIR阶数:Q U = 9 Q_U = 9 Q U = 9
V滤波器IIR阶数:Q V = 41 Q_V = 41 Q V = 4 1
这个配置实现了:
计算复杂度:500 ops/sample(相比FIR的20,315 ops/sample,改进98%)
内存使用:700变量(相比FIR的40,630变量,改进98.3%)
系统延迟:53样本(相比分区卷积的128样本,改进58.6%)
性能评估指标
近似质量通过多个指标评估:
时域误差 :
E t i m e = 20 log 10 ( ∥ h − h M ∥ 2 ∥ h ∥ 2 ) dB E_{time} = 20\log_{10}\left(\frac{\|\mathbf{h} - \mathbf{h}_M\|_2}{\|\mathbf{h}\|_2}\right) \text{ dB}
E t i m e = 2 0 log 1 0 ( ∥ h ∥ 2 ∥ h − h M ∥ 2 ) dB
频域误差 :
E f r e q ( ω ) = 20 log 10 ∣ H ( ω ) − H M ( ω ) H ( ω ) ∣ dB E_{freq}(\omega) = 20\log_{10}\left|\frac{H(\omega) - H_M(\omega)}{H(\omega)}\right| \text{ dB}
E f r e q ( ω ) = 2 0 log 1 0 ∣ ∣ ∣ ∣ ∣ H ( ω ) H ( ω ) − H M ( ω ) ∣ ∣ ∣ ∣ ∣ dB
感知误差 (考虑人耳的频率敏感性):
E p e r c = ∫ ω ∣ H ( ω ) − H M ( ω ) ∣ 2 A ( ω ) d ω E_{perc} = \int_{\omega} |H(\omega) - H_M(\omega)|^2 A(\omega) d\omega
E p e r c = ∫ ω ∣ H ( ω ) − H M ( ω ) ∣ 2 A ( ω ) d ω
其中A ( ω ) A(\omega) A ( ω ) 是A计权曲线。
扩展与改进方向
自适应PTSVD
对于时变系统,可以开发自适应版本:
H M ( n ) = U M ( n ) S M ( n ) V M H ( n ) \mathbf{H}_M(n) = \mathbf{U}_M(n)\mathbf{S}_M(n)\mathbf{V}_M^H(n)
H M ( n ) = U M ( n ) S M ( n ) V M H ( n )
使用递归最小二乘(RLS)或随机梯度下降(SGD)更新奇异向量。
多通道扩展
对于空间音频应用,可以将方法扩展到多输入多输出(MIMO)系统:
H M I M O = [ H 11 ⋯ H 1 Q ⋮ ⋱ ⋮ H P 1 ⋯ H P Q ] \mathbf{H}_{MIMO} = \begin{bmatrix}
\mathbf{H}_{11} & \cdots & \mathbf{H}_{1Q} \\
\vdots & \ddots & \vdots \\
\mathbf{H}_{P1} & \cdots & \mathbf{H}_{PQ}
\end{bmatrix} H M I M O = ⎣ ⎢ ⎢ ⎡ H 1 1 ⋮ H P 1 ⋯ ⋱ ⋯ H 1 Q ⋮ H P Q ⎦ ⎥ ⎥ ⎤
通过联合SVD或张量分解实现更高效的近似。
频率选择性处理
在某些应用中,不同频段可能需要不同的近似精度。可以采用子带分解:
H = ∑ k = 1 K H k \mathbf{H} = \sum_{k=1}^{K} \mathbf{H}_k
H = k = 1 ∑ K H k
其中每个H k \mathbf{H}_k H k 对应一个频带,使用不同的秩M k M_k M k 进行近似。
结论
PTSVD滤波方法为实时信号处理系统中的大型卷积问题提供了一个优雅而高效的解决方案。通过结合矩阵分解理论、滤波器组结构和IIR近似技术,该方法在保持高精度的同时显著降低了计算和内存需求。特别是对于音频信号处理中的混响、房间校正和空间音频渲染等应用,PTSVD方法展现出了巨大的潜力。
该方法的成功关键在于利用了实际脉冲响应的低秩特性——大多数能量集中在少数主要模式中。这种特性使得即使使用很低的秩(如M = 4 M=4 M = 4 )也能获得优秀的近似精度。同时,无延迟的特性使其特别适合对延迟敏感的实时应用。
附录:数学推导
A. 最优秩-M近似
定理(Eckart-Young-Mirsky) :对于任意矩阵H ∈ C N × P \mathbf{H} \in \mathbb{C}^{N \times P} H ∈ C N × P ,其最优秩-M M M 近似(在Frobenius范数意义下)由截断SVD给出。
证明 :
设H = ∑ i = 1 r σ i u i v i H \mathbf{H} = \sum_{i=1}^r \sigma_i \mathbf{u}_i \mathbf{v}_i^H H = ∑ i = 1 r σ i u i v i H 是H \mathbf{H} H 的完整SVD,其中r = rank ( H ) r = \text{rank}(\mathbf{H}) r = rank ( H ) 。
对于任意秩为M M M 的矩阵B \mathbf{B} B ,定义误差:
E ( B ) = ∥ H − B ∥ F 2 E(\mathbf{B}) = \|\mathbf{H} - \mathbf{B}\|_F^2
E ( B ) = ∥ H − B ∥ F 2
展开Frobenius范数:
E ( B ) = tr [ ( H − B ) H ( H − B ) ] E(\mathbf{B}) = \text{tr}[(\mathbf{H} - \mathbf{B})^H(\mathbf{H} - \mathbf{B})]
E ( B ) = tr [ ( H − B ) H ( H − B ) ]
由于U \mathbf{U} U 和V \mathbf{V} V 是酉矩阵,我们有:
E ( B ) = ∥ U H H V − U H B V ∥ F 2 = ∥ S − B ~ ∥ F 2 E(\mathbf{B}) = \|\mathbf{U}^H\mathbf{H}\mathbf{V} - \mathbf{U}^H\mathbf{B}\mathbf{V}\|_F^2 = \|\mathbf{S} - \tilde{\mathbf{B}}\|_F^2
E ( B ) = ∥ U H H V − U H B V ∥ F 2 = ∥ S − B ~ ∥ F 2
其中B ~ = U H B V \tilde{\mathbf{B}} = \mathbf{U}^H\mathbf{B}\mathbf{V} B ~ = U H B V 。
由于rank ( B ~ ) ≤ rank ( B ) = M \text{rank}(\tilde{\mathbf{B}}) \leq \text{rank}(\mathbf{B}) = M rank ( B ~ ) ≤ rank ( B ) = M ,B ~ \tilde{\mathbf{B}} B ~ 最多有M M M 个非零奇异值。为最小化∥ S − B ~ ∥ F 2 \|\mathbf{S} - \tilde{\mathbf{B}}\|_F^2 ∥ S − B ~ ∥ F 2 ,最优选择是让B ~ \tilde{\mathbf{B}} B ~ 保留S \mathbf{S} S 的前M M M 个最大奇异值:
B ~ o p t = diag ( σ 1 , … , σ M , 0 , … , 0 ) \tilde{\mathbf{B}}_{opt} = \text{diag}(\sigma_1, \ldots, \sigma_M, 0, \ldots, 0)
B ~ o p t = diag ( σ 1 , … , σ M , 0 , … , 0 )
因此:
B o p t = U B ~ o p t V H = ∑ i = 1 M σ i u i v i H = H M \mathbf{B}_{opt} = \mathbf{U}\tilde{\mathbf{B}}_{opt}\mathbf{V}^H = \sum_{i=1}^M \sigma_i \mathbf{u}_i \mathbf{v}_i^H = \mathbf{H}_M
B o p t = U B ~ o p t V H = i = 1 ∑ M σ i u i v i H = H M
最小误差为:
E m i n = ∑ i = M + 1 r σ i 2 E_{min} = \sum_{i=M+1}^r \sigma_i^2
E m i n = i = M + 1 ∑ r σ i 2
B. 滤波器实现的等价性证明
命题 :PTSVD滤波器结构与原始FIR滤波器的截断近似在数学上是等价的。
证明 :
从卷积的定义开始:
y ( n ) = ∑ k = 0 L − 1 h ( k ) x ( n − k ) y(n) = \sum_{k=0}^{L-1} h(k)x(n-k)
y ( n ) = k = 0 ∑ L − 1 h ( k ) x ( n − k )
将求和按分区重新组织:
y ( n ) = ∑ p = 0 P − 1 ∑ i = 0 N − 1 h ( p N + i ) x ( n − p N − i ) y(n) = \sum_{p=0}^{P-1} \sum_{i=0}^{N-1} h(pN + i)x(n - pN - i)
y ( n ) = p = 0 ∑ P − 1 i = 0 ∑ N − 1 h ( p N + i ) x ( n − p N − i )
定义h p = [ h ( p N ) , h ( p N + 1 ) , … , h ( p N + N − 1 ) ] T \mathbf{h}_p = [h(pN), h(pN+1), \ldots, h(pN+N-1)]^T h p = [ h ( p N ) , h ( p N + 1 ) , … , h ( p N + N − 1 ) ] T 为第p p p 个分区,则:
y ( n ) = ∑ p = 0 P − 1 h p T x ( n − p N ) y(n) = \sum_{p=0}^{P-1} \mathbf{h}_p^T \mathbf{x}(n - pN)
y ( n ) = p = 0 ∑ P − 1 h p T x ( n − p N )
根据矩阵H \mathbf{H} H 的构造,h p \mathbf{h}_p h p 是H \mathbf{H} H 的第p p p 列。使用SVD近似:
h p ≈ ∑ m = 0 M − 1 σ m v m ( p ) u m \mathbf{h}_p \approx \sum_{m=0}^{M-1} \sigma_m v_m^{(p)} \mathbf{u}_m
h p ≈ m = 0 ∑ M − 1 σ m v m ( p ) u m
代入得:
y ( n ) ≈ ∑ p = 0 P − 1 ∑ m = 0 M − 1 σ m v m ( p ) u m T x ( n − p N ) y(n) \approx \sum_{p=0}^{P-1} \sum_{m=0}^{M-1} \sigma_m v_m^{(p)} \mathbf{u}_m^T \mathbf{x}(n - pN)
y ( n ) ≈ p = 0 ∑ P − 1 m = 0 ∑ M − 1 σ m v m ( p ) u m T x ( n − p N )
这正是PTSVD滤波器结构的输出表达式。
C. IIR近似的频域分析
问题 :给定FIR滤波器h [ n ] h[n] h [ n ] ,寻找IIR滤波器系数使频域误差最小。
方程误差方法 :
定义频域误差:
E = ∑ k = 0 K − 1 ∣ H ( e j ω k ) − H I I R ( e j ω k ) ∣ 2 E = \sum_{k=0}^{K-1} |H(e^{j\omega_k}) - H_{IIR}(e^{j\omega_k})|^2
E = k = 0 ∑ K − 1 ∣ H ( e j ω k ) − H I I R ( e j ω k ) ∣ 2
其中ω k = 2 π k / K \omega_k = 2\pi k/K ω k = 2 π k / K 是频率采样点。
展开H I I R ( e j ω ) H_{IIR}(e^{j\omega}) H I I R ( e j ω ) :
H I I R ( e j ω ) = ∑ n = 0 Q b b n e − j n ω 1 + ∑ n = 1 Q a a n e − j n ω H_{IIR}(e^{j\omega}) = \frac{\sum_{n=0}^{Q_b} b_n e^{-jn\omega}}{1 + \sum_{n=1}^{Q_a} a_n e^{-jn\omega}}
H I I R ( e j ω ) = 1 + ∑ n = 1 Q a a n e − j n ω ∑ n = 0 Q b b n e − j n ω
定义误差函数:
ε ( ω ) = H ( e j ω ) ( 1 + ∑ n = 1 Q a a n e − j n ω ) − ∑ n = 0 Q b b n e − j n ω \varepsilon(\omega) = H(e^{j\omega})\left(1 + \sum_{n=1}^{Q_a} a_n e^{-jn\omega}\right) - \sum_{n=0}^{Q_b} b_n e^{-jn\omega}
ε ( ω ) = H ( e j ω ) ( 1 + n = 1 ∑ Q a a n e − j n ω ) − n = 0 ∑ Q b b n e − j n ω
最小二乘问题变为:
min a n , b n ∑ k = 0 K − 1 ∣ ε ( ω k ) ∣ 2 \min_{a_n, b_n} \sum_{k=0}^{K-1} |\varepsilon(\omega_k)|^2
a n , b n min k = 0 ∑ K − 1 ∣ ε ( ω k ) ∣ 2
这是一个线性最小二乘问题,可以通过正规方程求解:
A H A θ = A H b \mathbf{A}^H\mathbf{A}\boldsymbol{\theta} = \mathbf{A}^H\mathbf{b}
A H A θ = A H b
其中θ = [ a 1 , … , a Q a , b 0 , … , b Q b ] T \boldsymbol{\theta} = [a_1, \ldots, a_{Q_a}, b_0, \ldots, b_{Q_b}]^T θ = [ a 1 , … , a Q a , b 0 , … , b Q b ] T 是待求系数向量。
D. 计算复杂度的详细分析
PTSVD基本结构 :
每个输入样本的运算分解:
M M M 个长度为N N N 的FIR滤波:M × N M \times N M × N 次乘加
M M M 个长度为P P P 的延迟线加权求和:M × P M \times P M × P 次乘加
最终求和:M − 1 M-1 M − 1 次加法
总计:M ( N + P ) + ( M − 1 ) ≈ M ( N + P ) M(N + P) + (M-1) \approx M(N + P) M ( N + P ) + ( M − 1 ) ≈ M ( N + P ) 次运算
PTSVD-IIR结构 (使用二阶节实现):
M M M 个Q U / 2 Q_U/2 Q U / 2 阶段的输入IIR滤波:M × 2.5 Q U M \times 2.5Q_U M × 2 . 5 Q U 次乘加
M M M 个Q V / 2 Q_V/2 Q V / 2 阶段的输出IIR滤波:M × 2.5 Q V M \times 2.5Q_V M × 2 . 5 Q V 次乘加
总计:2.5 M ( Q U + Q V ) 2.5M(Q_U + Q_V) 2 . 5 M ( Q U + Q V ) 次运算
内存需求分析 :
PTSVD基本结构:
M M M 个输入滤波器系数:M × N M \times N M × N
M M M 个延迟线:M × L M \times L M × L
M M M 个输出权重向量:M × P M \times P M × P
输入缓冲:N N N
总计:M ( N + L + P ) + N M(N + L + P) + N M ( N + L + P ) + N 个存储单元
PTSVD-IIR结构(二阶节实现):
每个二阶节需要5个系数和2个状态变量
M M M 个输入IIR:M × 3.5 Q U M \times 3.5Q_U M × 3 . 5 Q U
M M M 个输出IIR:M × 3.5 Q V M \times 3.5Q_V M × 3 . 5 Q V
总计:3.5 M ( Q U + Q V ) 3.5M(Q_U + Q_V) 3 . 5 M ( Q U + Q V ) 个存储单元
E. 误差传播分析
考虑量化误差和舍入误差的影响。设量化步长为Δ \Delta Δ ,则量化噪声功率为:
σ q 2 = Δ 2 12 \sigma_q^2 = \frac{\Delta^2}{12}
σ q 2 = 1 2 Δ 2
对于PTSVD结构,总输出噪声功率为:
σ o u t 2 = M × ( N + P ) × σ q 2 \sigma_{out}^2 = M \times (N + P) \times \sigma_q^2
σ o u t 2 = M × ( N + P ) × σ q 2
信噪比(SNR)为:
SNR = 10 log 10 ( σ y 2 σ o u t 2 ) = 10 log 10 ( 12 σ y 2 M ( N + P ) Δ 2 ) \text{SNR} = 10\log_{10}\left(\frac{\sigma_y^2}{\sigma_{out}^2}\right) = 10\log_{10}\left(\frac{12\sigma_y^2}{M(N+P)\Delta^2}\right)
SNR = 1 0 log 1 0 ( σ o u t 2 σ y 2 ) = 1 0 log 1 0 ( M ( N + P ) Δ 2 1 2 σ y 2 )
这表明噪声功率随M M M 、N N N 和P P P 的增加而增加,在选择参数时需要权衡近似精度和数值稳定性。
F. 参数选择的优化框架
定义多目标优化问题:
min N , M , Q U , Q V α 1 ⋅ e ( M , N ) + α 2 ⋅ C ( M , N , Q U , Q V ) + α 3 ⋅ M ( M , N , Q U , Q V ) s.t. 1 ≤ M ≤ min ( N , P ) N ⋅ P ≥ L Q U , Q V ≥ 0 C ( M , N , Q U , Q V ) ≤ C m a x M ( M , N , Q U , Q V ) ≤ M m a x \begin{aligned}
\min_{N,M,Q_U,Q_V} \quad & \alpha_1 \cdot e(M,N) + \alpha_2 \cdot C(M,N,Q_U,Q_V) + \alpha_3 \cdot M(M,N,Q_U,Q_V) \\
\text{s.t.} \quad & 1 \leq M \leq \min(N,P) \\
& N \cdot P \geq L \\
& Q_U, Q_V \geq 0 \\
& C(M,N,Q_U,Q_V) \leq C_{max} \\
& M(M,N,Q_U,Q_V) \leq M_{max}
\end{aligned} N , M , Q U , Q V min s.t. α 1 ⋅ e ( M , N ) + α 2 ⋅ C ( M , N , Q U , Q V ) + α 3 ⋅ M ( M , N , Q U , Q V ) 1 ≤ M ≤ min ( N , P ) N ⋅ P ≥ L Q U , Q V ≥ 0 C ( M , N , Q U , Q V ) ≤ C m a x M ( M , N , Q U , Q V ) ≤ M m a x
其中α 1 \alpha_1 α 1 、α 2 \alpha_2 α 2 、α 3 \alpha_3 α 3 是权重系数,C m a x C_{max} C m a x 和M m a x M_{max} M m a x 是计算和内存约束。
这个非线性整数规划问题可以通过以下方法求解:
网格搜索(适用于参数空间较小的情况)
遗传算法或粒子群优化(适用于大规模搜索)
分支定界法(保证全局最优)
实践中,通常采用分层优化策略:
首先固定N N N (基于系统的块处理要求)
选择满足误差要求的最小M M M
优化IIR阶数Q U Q_U Q U 和Q V Q_V Q V 以满足复杂度约束
评论(0)