雷达 · 通信 · 电子战 / 基础精学 089
普通 LMS 的有效步长等于固定系数乘以输入功率。自动增益或场景切换造成的幅度变化可能让原本稳定的步长变慢或发散。
NLMS 用参考向量瞬时能量归一化梯度,使相同无量纲步长在输入幅度变化时保持近似一致的更新尺度。
μ0:归一化步长(至 2)
δ:分母正则量(功率)
:参考向量瞬时能量(功率)
e[n]:估计误差(幅度)
:单次权重更新(系数)
NLMS 更新为
若输入整体乘以常数,分子按一次比例变化而分母按平方变化,误差中的相应尺度共同使权重更新保持合理范围。
输入接近零时,δ 防止分母过小导致巨大更新。它应与量化噪声底和最低有效输入功率匹配。
NLMS 把每次梯度步长按当前输入能量缩放。强输入时自动迈小步,弱输入时适当放大,但在接近零时由正则量限制。
MATLAB 让参考输入中途放大十倍,使用同一初始条件比较 LMS 与 NLMS 的系数轨迹、误差和更新幅度。
| 量 | 数值 |
|---|---|
| 样本数 | 6500 |
| lms step size | 0.012 |
| nlms step size | 0.7 |
| nlms regularization | 0.05 |
| input scale change | 5 |
| lms postchange mse | 0.00632911732814 |
| nlms postchange mse | 0.00196587247056 |
| nlms final weight error | 0.00194738936202 |
图 1 输入幅度突变下 LMS 与 NLMS 的权重和误差轨迹
数值结果由配套 MATLAB 脚本在固定参数和固定随机种子下实际执行。脚本包含针对闭式关系 边界条件或估计误差的断言,并把 MATLAB 版本与关键数值写入独立结果文件。
RTL 实现误差乘输入、向量能量累加和正则化分母接口;倒数可用查表加一次迭代。
配套 RTL 只实现本课中可明确量化的定点核函数或数据通路。浮点矩阵分解 概率统计和图形生成保留在 MATLAB 参考程序中。
NLMS 适用于输入功率变化明显的回声与噪声抵消。它改善尺度敏感性,但不能消除输入相关性造成的慢模态。
瞬时能量估计自身有波动。
正则量过大时弱输入更新过慢。
倒数量化会改变有效步长。
高度相关输入仍可能收敛缓慢。
NLMS 通过瞬时输入能量归一化梯度,对幅度尺度变化更稳定。正则量控制低能量时的最大更新。
内容依据:每日精学第 89 课《NLMS 步长归一化与输入尺度变化》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。