📄 A Regularized Block Diagonal RLS Algorithm for Acoustic Echo Cancellation
标签:#回声消除 #模型压缩 #高效推理 #实时处理 #理论分析
7.2/10 | 创新 1.5/2 | 严谨 1.3/1.5 | 实验 1.3/1.5 | 清晰 0.8/1 | 影响 1/1.5 | 开源 0/1.5 | 复现 0.4/0.5 | 工程 0.9/1.5
✅ 7.2/10 | 前50% | 文档类型:方法研究 | 评分置信度:中 | #回声消除 | #模型压缩 | #高效推理 #实时处理 | arxiv
👥 作者与机构
第一作者:Ruibin Hou(The College of Computer Science and Technology, Inner Mongolia Minzu University, Tongliao, 028000, Inner Mongolia, China) 通讯作者:正文未明确标注 作者列表:Ruibin Hou、Chenggang Zhang、Yufeng Diao(机构:The College of Computer Science and Technology, Inner Mongolia Minzu University, Tongliao, 028000, Inner Mongolia, China)
💡 毒舌点评
RBD-RLS 的贡献很务实:用块长 L 把 RLS 的精度和 NLMS 级资源之间变成可调折中,并诚实暴露相关性损失和长期正定风险。实验从合成到真实片段较完整。真正部署前仍需补双讲、非线性、定点与长时稳定性;若再给出实机内存/周期和开放实现,它会成为资源受限 AEC 的强基线。
📌 核心摘要
声学回声消除需要在线估计很长的回声路径;标准 RLS 收敛快,却要更新完整 N×N 逆协方差矩阵,计算为 O(N²),在长滤波器和有限精度设备上代价高且可能不稳定。RBD-RLS 将输入、滤波权重和逆协方差拆成 M 个长度 L 的子块,只更新块对角矩阵,并给各块加入 Tikhonov 对角加载,在复杂度、收敛速度和初始数值稳定之间建立可调折中。
方法复杂度降为 O(NL),各子块可并行,也减少 RLS-DCD 的数据复制;实验覆盖白噪声、彩色噪声、回声路径突变和 ICASSP AEC Challenge 真实盲测;前 4 类场景进行 100 次独立重复。λ=0.9999、δ=1 时稳态精度接近 RLS,白噪声下约 1 秒收敛,而 RLS/RLS-DCD 约 0.6 秒;真实测试 ERLE 接近两者,FRLS 则约 0.5 秒发散。
论文没有掩盖代价:忽略跨块相关会减慢收敛,正则只保证初期正定,L 增大虽更像 RLS 却提高计算;当前真实实验仍是离线片段,双讲检测、非线性回声和长期定点稳定性未解决,也未声明自身代码开源。
合成实验的共同基准为 N=512、8 kHz、4 秒信号和 20 dB 背景噪声;参数敏感性把分块长度 L 设为 64。前 4 种情形各做 100 次独立重复;彩色输入由 1 阶 AR 滤波器 1/(1-0.8z^-1) 产生,路径跟踪在第 3 秒从衰减因子 0.01 的路径 A 切到 0.05 的路径 B。真实盲测还先用 GCC-PHAT 对齐远近端延迟,说明论文同时检查了相关输入、突变和实际时延。
🔗 开源详情
实验使用公开 ICASSP AEC Challenge 盲测集并引用第三方 RLS-DCD MATLAB 代码 https://github.com/ndemoraes/Fast-RLS-DCD-MATLAB,但所读全文未声明 RBD-RLS 自身实现仓库;第三方基准和基线不能计作本工作开放。
🏗️ 方法概述和架构
信号输入。远端参考信号形成长度 N 的回归向量,麦克风信号包含扬声器—房间回声及可能的近端成分。自适应滤波器输出估计回声,与麦克风信号相减得到残差,并用该误差信号更新滤波权重。完整 RLS 需要维护 N×N 逆协方差,因此长路径时内存、乘加和矩阵数值误差都迅速增加。
请沿下图的 AEC 框图追踪远端参考、未知回声路径、麦克风混合和自适应估计器,确认改动发生在逆协方差更新。

图中残差信号由麦克风输入减去估计回声得到,块对角矩阵只改变滤波器更新路径;总复杂度因此随块长变化,但仍保留与 RLS 系列比较的输入输出口径。
块对角近似。RBD-RLS 把 N 维向量划为 M=N/L 个长度 L 子块,同时把逆协方差近似为 M 个独立 L×L 对角块,忽略块间协方差。每块根据局部输入、共享标量归一项和误差计算增益,再并行更新对应权重与矩阵。最终把所有子块滤波输出相加得到总回声估计,输出残差作为消回声信号。计算从 O(N²) 变为 M·O(L²)=O(NL),同时少于 RLS-DCD 的隐式数据复制。
正则与参数。各块以 Tikhonov 对角加载构造严格正定初值;遗忘因子 λ 控制历史权重,δ 控制初始正则强度,L 决定保留多少相关性。矩阵引理在 λ>0、归一因子为正时支持更新,但作者明确指出长期迭代仍可能偏离正定。L 越大,块间被忽略的信息越少、收敛越接近 RLS;当 L=N 时退化为完整 RLS,复杂度也回到 O(N²)。
验证输出。算法输出残余信号和路径估计,合成实验用 MIS 衡量辨识误差,并在路径突变后看重收敛;真实语音用 ERLE 评价回声抑制。对照包含 NLMS、RLS、RLS-DCD、FRLS,并在白噪声、相关彩色输入、突变路径和挑战盲测中检验速度、稳态与稳定性。前 4 组合成条件各运行 100 次,统计曲线因此不是单次随机路径结果。
共享归一与并行更新。各块先计算 v_i=P_i x_i,再把所有 x_i^T v_i 求和为全局 g;增益分母 D_inv=1/(λ+g) 在所有块间共享,因此块矩阵虽然解耦,更新并非完全互不联系。每块随后计算 k_i=v_iD_inv、w_i←w_i+k_ie,并以 P_i←(P_i-k_iv_i^T)/λ 更新。算法分为预计算与先验误差、并行子块更新、后验输出 3 个阶段,前 2 个阶段均为 O(ML²),结合 N=ML 得到 O(NL)。
实验协议。参数分析使用 4 秒、8 kHz、20 dB SNR 的零均值白噪声,N=512,分块长度 L 设为 64。实验比较 λ=0.995/0.9999 与不同 δ 的初始行为。彩色情形把白噪声送入 1/(1-0.8z^-1) 的 1 阶 AR 模型;路径突变在第 3 秒更换 2 个 512 阶路径。真实盲测取 ICASSP AEC Challenge noisy 集,先以 GCC-PHAT 对齐固有延迟,再在 0.5–3.5 秒片段上计算 ERLE。
目标函数把历史误差与 Tikhonov 对角加载写在同一式子中:
\[J_{reg}(n)=\sum_{i=1}^{n}\lambda^{n-i}[d(i)-\mathbf{w}^{T}(n)\mathbf{x}(i)]^{2}+\delta\lVert\mathbf{w}(n)\rVert_{2}^{2}.\]把 \(N\) 维逆协方差拆成 \(M=N/L\) 个 \(L\) 维子块后,总复杂度由 \(O(N^{2})\) 降为 \(O(ML^{2})=O(NL)\);这也是块长 \(L\) 同时控制速度与逼近误差的原因。
💡 核心创新点
块对角逆协方差并非单纯删参数,而是给出由 L 控制的连续谱:小 L 接近线性复杂度且易并行,大 L 恢复更多相关性并逼近完整 RLS。相比只有“快或准”的二选一,它让部署者按设备和信号相关性选择折中。
为稳定这种近似,Tikhonov 加载专门处理分块 RLS 的初期病态,使算法避免 FRLS 在部分场景的严重初始化不稳定。论文同时说明正则难以永久保证正定,创新并未被包装成无条件稳定证明。
工程上,方法在 O(NL) 算量之外还减少 RLS-DCD 隐含的数据复制,并让子块天然并行,具有硬件映射意义。作者还用路径突变与真实盲测连接解析推导和 AEC 场景,而非只在白噪声辨识上展示曲线。块长、遗忘因子和正则强度共同形成可解释的调参空间,便于按相关性与预算部署。边界是忽略跨块相关的代价不可消失,且双讲、非线性扬声器和控制逻辑仍需外部模块;因此它是核心自适应滤波器改进,不是完整通话前端,也没有提出新的感知残回声目标或端到端控制器。
更细的结构耦合发生在“局部矩阵、全局标量”之间:P_i 的矩阵递推可以分块并行,但所有增益仍共享由各块能量求和得到的 D_inv。这保留了整条滤波器对同一先验误差的协调,而不是把 AEC 粗暴拆成互不通信的多个滤波器。复杂度推导还把预计算、块更新和后验输出逐阶段展开,使 O(NL) 不只是口号,也暴露 L=N 时必然回到完整 RLS 的边界。
📊 实验结果
论文表 1 给出的复杂度关系如下:它要比较的关键问题是:RBD-RLS 的块长 L 如何改变相对 NLMS、RLS、RLS-DCD 与 FRLS 的理论复杂度?
| 算法 | 理论复杂度↓ |
|---|---|
| NLMS | O(N) |
| RLS | O(N²) |
| RLS-DCD(Nu=8) | O(N²) |
| FRLS | O(N) |
| RBD-RLS(L=32) | O(32N) |
| RBD-RLS(L=64) | O(64N) |
| RBD-RLS(L=128) | O(128N) |
λ=0.9999、δ=1 的 RBD-RLS 稳态精度可匹配 RLS;白噪声下约 1 秒收敛,RLS/RLS-DCD 约 0.6 秒,印证降复杂度换来速度损失。相关输入下增大 L 能改善收敛;路径突变时 L=128 的重收敛接近完整 RLS。真实盲测的 ERLE 轨迹接近 RLS/RLS-DCD,而 FRLS 约 0.5 秒完全发散。结果支持稳定折中,不支持“同时优于 RLS 的所有维度”。
读完上表的复杂度与收敛折中后,请在下图中比较真实盲测里 RBD-RLS、RLS、RLS-DCD 与 FRLS 的 ERLE 轨迹,并核对 FRLS 约 0.5 s 的发散。

图中 RBD-RLS 的 ERLE 轨迹接近完整 RLS 系列,而 FRLS 很快偏离;证据仅覆盖离线盲测片段,未覆盖双讲检测和定点溢出。
相关输入下较小 L 的差距比白噪声更明显,符合跨块相关被忽略的机制;L=128 改善重收敛,却难以把 1 秒白噪声结果泛化到所有块长。真实 ERLE 接近只证明该离线片段的回声消除质量,没有报告双讲期间误更新或定点溢出。
第 2 张表要回答的关键问题是:在白噪声合成与 AEC Challenge noisy 盲测中,RBD-RLS 相对 RLS 系列和 FRLS 的收敛或发散差异有多大?
| 数据 / 场景 | 固定设置 | 指标(↑/↓见行内) | RBD-RLS | 对照 |
|---|---|---|---|---|
| 白噪声合成 | λ=0.9999,δ=1 | 到 -30 dB MIS 时间↓ | 1.0 s | RLS/RLS-DCD:0.6 s |
| AEC Challenge noisy 盲测 | GCC-PHAT;0.5–3.5 s | FRLS 发散时间↑ | 未发散 | FRLS:0.5 s |
表中“接近”来自轨迹比较,正文没有给出统一的 ERLE 数值表,因而难以虚构绝对 dB 优势。换言之,RBD-RLS 未报告统一的绝对 dB 汇总,因此只能说明该离线片段的趋势接近 RLS,不能外推为所有双讲和定点条件下的绝对优势。
🔬 细节详述
前 4 组合成条件各重复 100 次,降低随机路径和输入造成的偶然性;路径突变实验直接检查在线 AEC 必需的跟踪能力。白噪声时跨块相关弱,小块近似较有效;彩色语音相关性强,忽略块间项更明显,因此 L 对收敛影响增大。这种条件差异与方法假设一致。
复杂度表显示 L 不是免费旋钮。L=32、64、128 分别付出 32N、64N、128N 量级;实际设备还要考虑小矩阵内核、缓存和并行度。RLS-DCD 的理论阶仍为 O(N²),论文强调 RBD-RLS 还减少复制,但没有给出实机周期和内存流量,因此硬件收益仍需验证。λ与δ的选择还会同时影响初始超调和稳态。
公开 AEC Challenge 片段提高了现实性,验证范围仍止于离线片段:论文没有系统研究 near-end double-talk、路径连续漂移、扬声器非线性、量化位宽和小时级运行。数学推导与参数足以自行实现,但无官方代码意味着矩阵更新顺序、保护项和数值精度可能导致复现差异。真实 ERLE 接近 RLS 是积极证据,但难以替代端到端主观残回声测试。
参数敏感性实验把 λ 与 δ 的作用分开:λ=0.995 初期适应更快,却明显损害稳态 MIS;δ=0.01 令 P_i(0)=δ^-1I 过大,造成严重瞬态超调。λ=0.9999、δ=1 给出平滑单调收敛并达到 RLS 的最终精度。白噪声相关性低,所以不同 L 差异很小;经 1/(1-0.8z^-1) 形成的强相关输入则放大块间信息损失,L 增大才明显改善。
路径变化实验在第 3 秒把 512 阶路径从衰减因子 0.01 切换到 0.05,所有算法都会先恶化再恢复,RLS 最快、FRLS 最慢,L=128 的 RBD-RLS 接近 RLS-DCD。真实 noisy 盲测包含背景噪声、混响和非线性失真;作者以 GCC-PHAT 估计远近端时延,并截取该条语音的 0.5–3.5 秒显示瞬态。这增加了现实干扰,但样本展示范围仍很窄。
⚖️ 评分理由
创新性 (1.5/2):将逆协方差近似为可并行更新的块对角矩阵,并加入 Tikhonov 对角加载,把标准 RLS 的 2 次复杂度降为与总滤波长度和块长乘积成正比,在速度与早期稳定性间给出明确新折中。
技术严谨性 (1.3/1.5):推导和参数作用较完整,但长期正定、双讲与非线性问题尚未解决;每块共享全局归一因子,且前 4 种实验各独立重复 100 次;不过真实盲测只展示单条 3 秒片段。
实验充分性 (1.3/1.5):5 组实验覆盖白噪声、彩色噪声、回声路径突变及挑战赛真实盲测,前 4 组各重复 100 次并比较 MIS、重收敛和 ERLE;但仍未覆盖完整在线双讲通话。
清晰度 (0.8/1):复杂度、收敛和 ERLE 关系可核对,部分全文公式抽取可读性一般;正文还区分 MIS 与 ERLE 的含义,并明确 ERLE 小于零表示没有有效滤波。
影响力 (1.0/1.5):线性于总滤波长度与块长的更新适合资源受限 AEC,但忽略块间相关会限制复杂回声路径和双讲场景的影响范围。
开源 (0.0/1.5):公开对象仅是第三方基准和基线,RBD-RLS 自身代码未声明开放。
可复现性 (0.4/0.5):数学推导和参数公开便于重写,缺官方实现降低数值一致性保证。
工程/实践价值 (0.9/1.5):O(NL) 复杂度和可并行子块有部署价值;缺少定点量化、真实 DSP 延迟与长期双讲稳定性测试,工程证据尚不完整。
🚨 局限与问题
忽略跨块相关必然使收敛慢于完整 RLS,且正定性并非全程保证;真实评测仍是离线盲测片段,论文把 double-talk 检测与非线性回声消除留给未来。
进一步审视
块对角近似先天地丢失跨块相关,所以对强相关语音的收敛慢于完整 RLS;L 增大可缓解,却逐步失去复杂度优势。Tikhonov 只保证初始阶段正定,长时间有限精度更新仍可能漂移。真实验证是离线盲测片段,未覆盖双讲检测、非线性回声、连续路径变化、定点实现、实际时延和能耗。自身代码未声明开放,也降低了数值细节可核查性;不同硬件的小矩阵并行效率尚属未知,长期运行是否需要重置也没有答案。对极长滤波器、突发双讲和饱和扬声器的失败恢复策略同样未定义,工程风险仍在。
真实部分只展示挑战集中的 1 个指定 far-end single-talk 样本及 3 秒片段,ERLE 主要以曲线判断而非跨文件统计;因此“接近 RLS”不是带置信区间的总体结论。GCC-PHAT 对齐发生在滤波前,也没有回答在线时延估计错误会怎样传播到块更新。