声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1572|回复: 5

[滤波] 自适应滤波器的结果不对

[复制链接]
发表于 2008-6-16 15:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在做信号去噪,想用自适应噪声抵消的方法,所以选择的原始信号为正弦信号+白噪声,参考信号为白噪声,系统的最后输出en应该为要得到的有用信号,按照书中讲的算法写的程序,但是我仿真的结果总是不对

有没有自适应滤波器的高手,下面是我的程序,请帮我仿真并分析下原因。

非常感激!!


%%子函数
function[yn,w,en]=LMS(xn,dn,M,mu)
N=100;%%信号长度
en=zeros(N,1);%%自适应滤波系统输出
W=zeros(M,N);
%%迭代算法
for k=M:N
x=xn(k:-1:k-M+1);
yn=W(:,k-1).'*x;
en(k)=dn(k)-y;
W(:,k)=W(:,k-1)+2*mu*en(k)*x;
end

%%主程序
close all;
clear all;
%周期信号
t=0:99;
xs=sin(0.5*t);
%%噪声信号
randn('state',sum(100*clock));
e=100*randn(1,100);
%%滤波
sn=xs+e;%%自适应滤波器的原始输入
xn=e.';
dn=sn.';%%自适应滤波起的参考输入,即自适应滤波器的输入
M=20;%%滤波器介数
rho_max=max(eig(xn*xn.'));
mu=rand()*(1/rho_max);
[yn,W,en]=LMS(xn,dn,M,mu);
figure;
subplot(211);
plot(sn);title('原始带噪信号');
subplot(212);
plot(en);title('去噪后信号');
%%学习曲线
J=en.^2;
figure;
plot(J);title('学习曲线');
subplot(211);
回复
分享到:

使用道具 举报

发表于 2008-6-16 19:00 | 显示全部楼层
程序没问题,参数设置不合理,结果间下面。
1)信号太短,学习时间不够
2)步长要在学习速度与稳态值之间权衡选择
3)信噪比不能太低
%%主程序
close all;
clear all;
%周期信号
t=0:999;
xs=sin(0.5*t);
%%噪声信号
randn('state',sum(1000*clock));
e=5*randn(1,1000);
%%滤波
sn=xs+e;%%自适应滤波器的原始输入
xn=e.';
dn=sn.';%%自适应滤波起的参考输入,即自适应滤波器的输入
M=30;%%滤波器介数
rho_max=max(eig(xn*xn.'));
mu=5*rand()*(1/rho_max);
[yn,W,en]=LMS(xn,dn,M,mu);
figure;
subplot(211);
plot(sn);title('原始带噪信号');
subplot(212);
plot(en);title('去噪后信号');
%%学习曲线
J=en.^2;
figure;
plot(J);title('学习曲线');
% subplot(211);
figure,subplot(211),plot(abs(fft(sn)));
subplot(212),plot(abs(fft(en)));
未命名.JPG
未命名1.JPG

频谱

频谱

评分

1

查看全部评分

 楼主| 发表于 2008-6-17 20:14 | 显示全部楼层
非常感谢,我学习下
:@)
发表于 2008-7-28 09:48 | 显示全部楼层
Error using ==> lms
Too many input arguments.
为什么我运行不出来啊?
发表于 2008-11-3 10:35 | 显示全部楼层
我想问一下,如果我有带噪音的信号,如何通过LMS算法进行去噪?
还有一段信号如何求其隐含周期?
发表于 2008-11-3 10:57 | 显示全部楼层

回复 5楼 kangtj 的帖子

同问啊,我也非常想知道,如何通过LMS算法进行去噪?望老师们指点下啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 01:31 , Processed in 0.084802 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表