自适应滤波实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LMS 自适应滤波实验报告

姓名: 学号: 日期:2015.12.2

实验内容:

利用自适应滤波法研究从宽带信号中提取单频信号的方法。

设()()()()t f B t f A t s t x 212cos 2cos πϕπ+++=,()t s 是宽带信号,A ,B ,1f ,2f ,

ϕ任选

(1)要求提取两个单频信号;

(2)设f f f ∆+=12,要求提取单频信号()t f 22cos π,研究f ∆的大小对提取单频信号的影响。

1. 自适应滤波器原理

自适应滤波器理论是现代信号处理技术的重要组成部分,它对复杂信号的处理具有独特的功能。自适应滤波器在信号处理中属于随机信号处理的范畴。在一些信号和噪声特性无法预知或他们是随时间变化的情况下,自适应滤波器通过自适应滤波算法调整滤波器系数,使得滤波器的特性随信号和噪声的变化,以达到最优滤波的效果,解决了固定全系数的维纳滤器和卡尔曼滤波器的不足。

(1) 自适应横向滤波器

所谓自适应滤波,就是利用前一时刻已获得的滤波器参数等结果,自动调节现时刻的滤

波器参数,以适应信号和噪声未知或随时间变化的统计特性,从而实现最优滤波。自适应滤波器由两个部分组成:滤波器结构和调节滤波器系数的自适应算法。自适应滤波器的特点是自动调节自身的冲激响应,达到最优滤波,此算法适用于平稳和非平稳随机信号,并且不要求知道信号和噪声的统计特性。

一个单输入的横向自适应滤波器的原理框图如图所示:

实际上这种单输入系统就是一个FIR 网络结构,其输出()n y 用滤波器单位脉冲响应表示成下式:

()()()∑-=-=1

N m m n x m w n y

这里()n w 称为滤波器单位脉冲响应,令:()()n i n x x i w w m i i i ,1,1,1+-=-=+=用j 表示,上式可以写成

∑==N

i ij i j x w y 1

这里i w 也称为滤波器加权系数。用上面公式表示其输出,适用于自适应线性组合器,也适用于FIR 滤波器。将上式表示成矩阵形式:

X

W

W

X j

T

T

j

j y ==

式中

[][]

T

Nj j j

j

T N

x x x

w w w X W ,...,,,,...,,212

1

==

误差信号表示为

X

W

j

T

j j j j d y d e -=-=

(2) 最小均方(LMS )算法

Widrow 等人提出的最小均方算法,是用梯度的估计值代替梯度的精确值,这种算法简单易行,因此获得了广泛的应用。

LMS 算法的梯度估计值用一条样本曲线进行计算,公式如下:

[]

⎥⎥⎦

⎤⎢⎢

⎣⎡∂∂∂∂∂∂=∇=∇∧

N j

j j j

j w e w e w e e 22

2122

... 因为 X

W j

T

j j d e

-=

所以 X j T

N j

j j w e w e w e -=⎥⎥⎦

⎢⎢⎣⎡∂∂∂∂∂∂22

212...

X

j

j j e 2-=∇∧

X

W W

j

j j j e μ21

+=+

FIR 滤波器中的第i 个权系数的计算公式为

N i x e w w i j j i j i j

,...,3,2,12,,,1=+=+μ 2. 编程思想

在本题目中,要求在受宽带信号干扰的输入信号中分别提取出两个单频信号,因此,可采用KLS 自适应滤波方法提取。在仿真中设置如下:

(1)单频信号幅度A=2,B=3,相位3

π

ϕ=

(2)调整步长分别设为mu1=0.0001,mu2=0.00001; (3)滤波器阶数M=50;

(4)宽带信号设为均值为0,方差为1的白噪声;

(5)提取单频信号()ϕπ+=t f A F 112cos ,设置期望信号为理想信号,即为1F ; (6)提取单频信号()t f B F 222cos π=,设置期望信号为理想信号,即为2F ; 然后,根据LMS 算法,更新滤波器系数

W

3. 源代码

%自适应滤波LMS 算法

function Adaptive_Filter_LMS(f1,Delte)%Delte 为f2-f1 mu1=0.0001;mu2=0.00001;%步长 Ts=0.0001;%采样间隔 N=3000;%信号长度 M=50;%阶数

A=2;B=3;f2=f1+Delte;Phi=pi/3;%频率幅度相位设置 s=1*randn(1,N);%宽带信号 k=1:N;

F1=A*cos(2*pi*f1*k*Ts+Phi);F2=B*cos(2*pi*f2*k*Ts);%两单频信号 F=F1+F2;X=s+F1+F2; Y1=zeros(1,N);Y2=zeros(1,N); W1=zeros(1,M);W2=zeros(1,M); e1=zeros(1,N);e2=zeros(1,N);

%提取信号F1

for n=M:N

x=X(n:-1:n-M+1); % 滤波器输入值

Y1(n)=W1*x'; % 滤波器输出值

e1(n)=F1(n)-Y1(n); % 误差值

W1=W1+2*mu1.*e1(n).*x; % 系数调整end

%提取信号F2

for n=M:N

x=X(n:-1:n-M+1); % 滤波器输入值

Y2(n)=W2*x'; % 滤波器输出值e2(n)=F2(n)-Y2(n); % 误差值

W2=W2+2*mu2.*e2(n).*x; % 系数调整end

figure(1)

subplot(4,1,1);

plot(F1(1:N));ylim([-2 2]);title('单频信号波形F1'); subplot(4,1,2);

plot(F2(1:N));ylim([-3 3]);title('单频信号波形F2'); subplot(4,1,3);

plot(F(1:N));title('无噪声两单频信号波形'); subplot(4,1,4);

plot(X(1:N));title('受宽带干扰的输入信号波形');

相关文档
最新文档