|
自适应滤波算法与机器学习
自适应信号处理 (adaptive signal process)活跃在噪声消除、回声控制、信号预测、声音定位等众多信号处理领域
尽管其应用领域十分广泛,但基本的系统构造大致只有如下几种分类:
1、未知系统(有输入输出的)的识别system_identify
2、信号预测,通过信号过去的值预测(计算)现在的值
3、信号均衡器,均衡某未知系统对信号做的弯曲signal_equation
4、线性卷积的逆运算
LMS算法的主要缺点之一是每次迭代都有一个固定的步长参数。
这需要在开始自适应滤波操作之前了解输入信号的统计信息。
实际上,这是很难实现的。即使我们假设自适应回声抵消系统的唯一输入信号是语音,但仍有许多因素如信号输入功率和振幅会影响其性能
这个步长与输入向量x(n)的系数的瞬时值的总期望能量的倒数成正比
由于步长参数是根据当前的输入值来选择的,因此NLMS算法在未知信号下具有更大的稳定性。该算法具有良好的收敛速度和相对简单的计算能力
NLMS算法是LMS算法的一个同样简单但更健壮的变体,它在简单性和性能之间表现出比LMS算法更好的平衡。由于其良好的性能,NLMS在实时应用中得到了广泛的应用
NLMS算法的两种实现方法:用纯Python编写,和用ctypes调用C语言编写。
普通LMS的mu或lr学习率是常数,而NLMS是对mu做了归一化处理,加速收敛速度的变形
收敛速度和稳定性一直是自适应滤波器需要追求的一种平衡,能否在频域发现更加优秀的算法取得收敛速度和稳定性的统一考量。
因此,频域自适应滤波(FDAF)、正交自适应滤波和子带自适应滤波被提出来,有书中归纳为块自适应滤波
block LMS的两个核心运算:1、输入向量与滤波器系数向量的线性卷积 2、误差信号与输入向量的线性相关
自适应过程是以块为单位来更新,这区别原始的以采样点为更新基础的算法
block adaptive filtering权重因子更新算法是显著区别于经典算法的
查看论文:频域自适应滤波算法及应用
|
|