赞
踩
引言
最小均方误差算法(LMS)作为一种自适应均衡和滤波算法,在通信与信号处理中具有广泛的应用,可以有效地滤除信道噪声,获取很好的通信质量。本文针对该算法进行了理论分析,Matlab仿真与FPGA实现。
1、理论分析
在前面的博文中我们对常见的几种MIMO均衡算法(CMA,LMS,RLS)理论进行了详细介绍,这里不再赘述,见链接:MIMO均衡算法(CMA,LMS,RLS)原理介绍
这里主要介绍一下LMS算法的主要流程:
2、Matlab仿真
根据如前所述的算法原理,我们利用Matlab算法仿真工具对该算法进行了仿真,相应代码及注释如下:
- % 最小均方误差(LMS)
- function [e,w,y]=LMS(mu,M,x,d)
- %% 参数定义
- % 输出参数:
- % e: 误差输出
- % w: 最终滤波器系数 M*1维
- % y: 输出信号
-
- % 输入参数:
- % mu: 因子
- % M:滤波器长度
- % x: 输入信号,N*1维
- % d: 目标信号
- %%
- %step1: 算法初始化
- % 滤波器系数
- w=zeros(M,1);
- % 输入向量长度
- N=length(x);
- % 执行LMS
- for n=M:N
- % 倒序输入
- filter_in = x(n:-1:n-M+1);
- % 计算输出
- y(n) = w'*filter_in;
- % 误差计算
- e(n) = d(n)- y(n);
- % 滤波器系数更新
- w = w + mu*filter_in*e(n);
- end
- clc;
- clear;
- %% 产生待滤波信号
- Fs = 20000; %采样频率
- N = 2^12; %采样点数
- t = 0:1/Fs:N/Fs-1/Fs;%时间跨度
- s = sin(2000*2*pi*t) + sin(6000*2*pi*t) + sin(9000*2*pi*t);%待滤波波形
- % 归一化
- s = (s - min(s))/(max(s) - min(s));
- %% 通过高斯信道
- noise=0.05*randn(1,length(s));
- s_addnoise = s + noise;
- % %% RLS
- % lambda = 1;
- % M = 15;
- % delta = 1e-7;
- % [e,w,y]=RLS(lambda,M,s_addnoise',s',delta);
- %% LMS
- M = 15;
- mu = 0.0234;
- [e,w,y]=LMS(mu,M,s_addnoise',s');
- % %% NLMS
- % M = 15;
- % mu = 0.05;
- % a = 1e-4;
- % [e,w,y]=NLMS(mu,M,s_addnoise',s',a);
- %% 时域波形
- figure(1);
- subplot(3,1,1);
- plot(t,s,'r','LineWidth',1.2);
- axis([1500/Fs,1600/Fs,0,1]);
- title('滤波前时域波形');
- subplot(3,1,2);
- plot(t,s_addnoise,'r','LineWidth',1.2);
- axis([1500/Fs,1600/Fs,0,1]);
- title('加噪声后时域波形');
- subplot(3,1,3);
- plot(t,y,'r','LineWidth',1.2);
- axis([1500/Fs,1600/Fs,0,1]);
- title('自适应滤波后时域波形');
- %% 误差曲线
- figure(2);
- plot(abs(e),'r','LineWidth',1.2);
- title('误差曲线');
如下所示为LMS算法对应的误差曲线,迭代次数为 500次的时候误差基本已经收敛。
3、FPGA实现
一种算法要想在实际应用中产生实际效果,就必须研究其具体的实现方式,FPGA作为一种并行处理器,在通信及信号处理领域应用比较广泛,因此,本文还研究了该算法的FPGA实现。该算法应用流水线的思想进行实现,流水线处理思想增大了数据吞吐量,降低了数据的处理延时,可以使得该算法能应用于高速度的通信场合。
- `timescale 1ns/1ps
- module conv(
- // system signals
- input clk ,
- input rst_n ,
- // 输入待滤波数据
- input signed [15:0]data_in ,
- // 权值数据
- input signed [15:0]w0 ,
- input signed [15:0]w1 ,
- input s
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。