自适应滤波器的设计.docx
- 文档编号:11676503
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:12
- 大小:121.04KB
自适应滤波器的设计.docx
《自适应滤波器的设计.docx》由会员分享,可在线阅读,更多相关《自适应滤波器的设计.docx(12页珍藏版)》请在冰豆网上搜索。
自适应滤波器的设计
一、实验题目
自适应滤波器的设计
二、实验要求
产生一个含有噪声的语音信号,使其通过一个自适应滤波器,观察其结果并分析此滤波器的性能。
三、实验原理
自适应滤波器主要由两部分组成,第一部分是一个FIR滤波器,也称横向滤波器,其权系数可随时调整,完成滤波工作;第二部分是滤波器的权调整算法,也称学习算法。
图1 自适应滤波器原理图
图中,
表示输入信号,
是输出信号,
称为期望信号,或者称为参考信号、训练信号,
是误差信号。
其中
。
自适应滤波器
的系数根据误差信号,通过一定的自适应算法,不断进行改变,使输出信号
最接近期望信号
。
自适应滤波器工作过程,开始时,给FIR滤波器赋予任意的初始权系数,在每个时刻,用当前权系数对输入信号进行滤波运算,产生输出信号,输出信号与期望响应的差定义为误差信号,由误差信号与输入信号矢量一起构造一个校正量,自适应地调整权矢量,使误差信号趋于降低的趋势,从而使滤波器逐渐达到或接近最优。
我们知道,自适应过程的最终目的是寻找最佳权系数,在本实验中采用的是最小均方算法(LMS),LMS以集合平均为基础,属于统计分析的方法。
LMS(Leastmeansquare)算法是Widrow等人提出的,是用梯度的估计值代替梯度的精确值,算法简便易行,获得了广泛的应用。
但存在收敛速度慢,有额外误差等缺点。
1、LMS算法的权值计算
梯度估计值用一条样本曲线进行计算。
因为
所以
用
代替
得
FIR滤波器中第i个权系数的计算公式为
FIR滤波器中第i个权系数的控制电路如图
图2FIR第i个去路的控制电路
2、LMS算法加权矢量的过渡过程
将误差公式
代入
得
假设
和
不相关,对
取统计平均得,
类似于最陡下降法的推导,经坐标平移和旋转,变换到
坐标中。
推导如下,令
则
上边两式代入
的表达式得
它的递推解是
令
得
说明LMS算法加权矢量的统计平均值的过渡过程和最陡下降法加权矢量的过渡过程是一样的。
换句话说,LMS算法加权矢量是在最陡下降法加权矢量附近随机变化的,其统计平均值等于最陡下降法加权矢量,那么,其收敛条件同样为
在满足收敛条件下,才有
四、实验结果与分析
(1)实验程序:
clc;
clearall;
%设定各参数
N=20;%权系数个数
mu=0.001;%步长
NUM=400;%采样点
pi=3.1416;
fs=0.02;%信号采样间隔
%forn=1:
NUM
n=1:
400
x(n)=sin(2*pi*fs*n);
%end
y=x+sqrt(0.5)*randn(1,NUM);%噪声信号为0均值、方差为0.5的随机信号
figure
(1)
plot(x);title('期望信号');axis([0400-22]);%画出期望信号
xlabel('采样点数');
figure
(2);
plot(y);title('加噪信号');axis([0400-33]);%画出加噪输入信号
xlabel('采样点数');ylabel('相对幅度');
clc;
clearall;
%设定各参数
N=20;%权系数个数
mu=0.001;%步长
NUM=400;%采样点
pi=3.1416;
fs=0.02;%信号频率
w=(randn(1,N)-randn(1,N))/100;%权系数
d=zeros(1,N);
u=zeros(1,N);
u_out=zeros(1,NUM-N);
f_out=zeros(1,NUM-N);
%LMS
fort=N:
NUM
input=sin(2*pi*fs*t);
fori=2:
N
d(N-i+2)=d(N-i+1);
u(N-i+2)=u(N-i+1);
end
d
(1)=input;
u
(1)=d
(1)+sqrt(0.5)*randn;
u_out(t-N+1)=u
(1);
output=dot(w,u);
f_out(t-N+1)=output;
e=d
(1)-output;
forn=1:
N
w(n)=w(n)+2*mu*e*u(n);%计算权系数
end
in(t-N+1)=u
(1);
out(t-N+1)=output;
err(t-N+1)=e;
%画图
figure
(1)
subplot(211);
plot(t,d
(1),'r');axis([0NUM-2.52.5]);
holdon;
plot(t,output,'b');axis([0NUM-2.52.5]);
legend('期望信号','滤波器输出信号');
holdon;
subplot(212);
plot(t,e,'k');axis([0NUM-22]);
title('误差信号');
holdon;
end
clc
clearall
%读取语音文件(实际信号)
[Dn,fs,bits]=wavread('sound.wav');
N=length(Dn);
Dn=Dn(:
1);
Xn=Dn+wgn(N,1,10*log10(0.2512));%生成含噪语音信号
u=0.065;%步长
M=20;%滤波器阶数
W(:
1)=zeros(M,1);%为权值赋初值
%进行LMS滤波
forn=M:
N
X=Xn(n:
-1:
n-M+1);
Y(n)=W'*X;
e(n)=Dn(n)-Y(n);
W=W+2*u*X*e(n);
end
%画图
figure
(1)
plot(Dn,'r'),title('实际语音信号');
axis([0,N,-1,1]);
figure
(2);
subplot(3,1,1);
plot(Dn,'r'),title('实际语音信号');
axis([0,N,-1,1]);
subplot(3,1,2);
plot(Xn,'b'),title('含噪语音信号');
axis([0,N,-3,3]);
subplot(3,1,3);
plot(Y,'g'),title('滤波后输出的语音信号');
axis([0,N,-1,1]);
figure(3)
plot(e,'m');title('误差信号');
axis([0N-11]);
figure(4)
plot(Y,'g'),title('自适应滤波后的输出的语音信号');
axis([0,N,-1,1]);
(2)实验结果
μ=0.001
μ=0.005
μ=0.01
μ=0.05
μ=0.065
μ=0.08
(3)结果分析
从上面的仿真结果可以看出,改变滤波器的迭代步长,预测信号受到了一定的影响,图像发生了较大变化,当μ由0.05减小到0.001时,滤波器的预测信号出现了失真。
当μ由0.05增大到0.1时,预测信号基本上接近输入信号。
通过上面的仿真结果可以看出,改变自适应滤波器的迭代步长,得到的恢复信号具有一定的差别,采用小的步长值,自适应较慢,时间常数较大,相应收敛后的均方误差较小,需要较大量的数据来完成自适应过程;当步长值较大时,自适应相对较快,代价是增加了收敛后的平均超量误差,需要较少量的数据来完成自适应过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自适应 滤波器 设计