自适应滤波实验报告

  • 格式:docx
  • 大小:418.80 KB
  • 文档页数:9

下载文档原格式

  / 14
  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

,...,,,

,...,,2121== 误差信号表示为

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 222122

...

因为 X

W j

T

j j d e

-=

所以 X j T

N j

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

⎤⎢⎢⎣⎡∂∂∂∂∂∂22212...

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');