LMS自适应滤波器的FPGA实现
简介
数字滤波器简介
滤波器一直以来都是信号处理的重要工具,在通信、医学和图像处理等领域也有着至关重要的作用。随着电子计算机、大规模集成电路及芯片工业的发展,又促使数字滤波器能通过软件计算机模拟实现,再通过大规模集成电路及芯片设计达到硬件实现。数字滤波器通常指的是通过对数字信号进行数学运算和逻辑处理,合理改变滤波参数,完成滤波功能的装置。随着芯片工业及数字信号处理技术的发展,数字滤波器的优势愈发明显。
数字滤波器相较于模拟滤波器,在应对系统外部环境时(如温度、外部信号干扰等),滤波器会因为器件本身的特性差异而产生不同的滤波效果,而数字滤波器具有统一性,只要程序实现的功能相同,产生的滤波效果基本不会有差异;并且数字滤波器还具有高度的灵活性和扩展性,只要改变程序代码,即可获得需要的滤波性能,方便快捷;随着近些年来数字集成电路的高速发展,芯片的性能和价格优势越来越明显,数字滤波器有着优秀的发展潜力。
数字滤波器的主流结构设计方法有两种,按照冲击响应的方式可分为无限冲击响应(IIR)滤波器和有限冲击响应(FIR)滤波器。两种滤波方式都有其各自优势,但在面对线性相位结构系统上,FIR 滤波器结构有着得天独厚的优势。
自适应滤波器简介
在很多信号处理系统中,并没有信号的先验统计特性,不能使用某一固定参数的滤波器来处理,比如信道均衡、回声消除以及其他因素之间的系统模型等,均采用了调整系数的滤波器,称为自适应滤波器。这样的滤波器结合了允许滤波器系数适应于信号统计特性的算法。
- 自适应滤波器的特点
- 没有关于待提取信息的先验统计知识
- 直接利用观测数据依据某种判据在观测过程中不断递归更新
- 最优化
- 自适应滤波器分类
- 按结构分:横向结构、格型结构
- 按算法分:随机梯度、最小二乘
- 按处理方式分:成批处理、递归处理
- 自适应滤波器应用
- 噪声抵消
- 回音消除
- 谱线增强
- 通道均衡
- 系统辨识
LMS算法简介
最小均方误差算法是B.Widrow和Hoff于 1960 年提出的。由于实现简单且对信号的统计特性变化具有稳健性,LMS算法获得了极为广泛的应用。LMS算法是基于最小均方误差准则(MMSE)的维纳滤波器和最陡下降法提出的。LMS算法使用随机梯度下降的方法实现代价函数最小化,具体地说,每次迭代时权矢量沿着误差性能曲面的梯度估值的负方向按一定比例更新。误差输出
ϵ k \epsilon_k ϵk
可写为:
ϵ k = d k − X k T ∗ W k \epsilon_k = d_k-X_k^T*W_k ϵk=dk−XkT∗Wk
理论基础
FIR滤波器
单位脉冲响应长度是有限的滤波器就是 FIR 滤波器。单位取样 h(n)是一个 N 点长的有限长序列,0≤n≤N-1。滤波器的输出 y(n)可表示为输入序列 x(n)与单位取样响应 h(n)的线性卷积。所以该关系表达式为:
y ( n ) = ∑ k = 0 N − 1 x ( n − k ) h ( k ) = x ( n ) ∗ h ( n ) y(n) = \sum_{k=0}^{N-1}x(n-k)h(k) = x(n)*h(n) y(n)=k=0∑N−1x(n−k)h(k)=x(n)∗h(n)
系统函数为
H ( z ) = ∑ n = 0 N − 1 h ( n ) z − n = h ( 0 ) + h ( 1 ) z − 1 + h ( 2 ) z − 2 + . . . + h ( N − 1 ) z − ( N − 1 ) H(z) = \sum_{n=0}^{N-1}h(n)z^{-n}\\=h(0)+h(1)z^{-1}+h(2)z^{-2}+...+h(N-1)z^{-(N-1)} H(z)=n=0∑N−1h(n)z−n=h(0)+h(1)z−1+h(2)z−2+...+h(