微弱信号检测中四种降噪滤波方法的matlab实现

用Matlab实现4种滤波降噪处理算法,信号为正弦信号叠加上白噪声,参数可自主定制。

%matlab
clear all;clc;
fs=300;
Time=128;
t=0:1/fs:Time;
f1=1; T1=1/f1;
y1=sin(2*pi*f1*t);
figure;
plot(t,y1);axis([0 4 -3 3]);
title('原始正弦信号');
y2=y1+randn(1,length(y1));
figure;
plot(t,y2);axis([0 4 -3 3]);
title('加噪信号');

N=Time/T1-3;%累加中参数最大值不能超过信号序列否则没有数值,每个tt都要往后推N-1个周期,准备展示4个周期,故N最大为总周期数-3
T2=T1*fs;
%线性累加平均算法
A1=linspace(0,4*T1*fs,4*T1*fs-1);%创建序列用来存储结果,由于是序列序号,故还需乘上fs
for tt=0:4*T1*fs
    X1=0;
    for i=0:N-1  %进行N次累加用以平均
        X1=X1+y2(1+tt+i*T2);
    end
     A1(1+tt)=X1/N;
end
figure;
plot(A1);axis([0 1200 -3 3]);grid;
title('线性累加算法');

%递推式平均算法
A2=linspace(0,length(y2),length(y2)-1);
Ap1=linspace(0,N,N-1);
for tt=0:4*T1*fs
    Ap1(1)=y2(1+tt);
    for n=2:N
        Ap1(n)=(n-1)/n*Ap1(n-1)+y2(1+tt+(n-1)*T2)/n;
    end
    A2(1+tt)=Ap1(N);
end
figure;
plot(A2);axis([0 1200 -3 3]);grid;
title('递推式平均算法');

%指数加权平均算法
A3=linspace(0,length(y2),length(y2)-1);
Ap2=linspace(0,N,N-1);
alpha=30;
beta=(alpha-1)/alpha;
for tt=0:4*T1*fs
     Ap2(1)=y2(1+tt)*(1-beta);
    for n=2:N
        Ap2(n)=beta*Ap2(n-1)+y2(1+tt+(n-1)*T2)*(1-beta);
    end
    A3(1+tt)=Ap2(N);
end
figure;
plot(A3);axis([0 1200 -3 3]);grid;
title('指数加权平均算法');

%五点移动平均算法
A4=linspace(0,length(y2),length(y2)-1);
for tt=0:4*T1*fs
    if tt<=T2
    A4(1+tt)=(2*y2(1+tt)+y2(1+tt+T2)+y2(1+tt+2*T2))/4;
    elseif T2<tt<=2*T2
        A4(1+tt)=(y2(1+tt-T2)+2*y2(1+tt)+y2(1+tt+T2)+y2(1+tt+2*T2))/5;
        else 
             A4(1+tt)=(y2(1+tt-2*T2)+y2(1+tt-T2)+2*y2(1+tt)+y2(1+tt+T2)+y2(1+tt+2*T2))/6;         
    end
end
figure;
plot(A4);axis([0 1200 -3 3]);grid;
title('五点移动平均算法');  
运行后即可得到以下图像:

去噪对比图
对比处理前后的图像可见不同算法对应的去噪效果(不同的采样点算法表现是不同的)。
注:算法公式及降噪原理详见 高晋占《微弱信号检测》,清华大学出版社。

  • 21
    点赞
  • 232
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值