基于EMD分解联合小波去噪

知网上应用该方法发的论文:

去噪方法的大致过程:

EMD(Empirical Mode Decomposition)是一种将非线性和非平稳信号分解为若干本征模态函数(Intrinsic Mode Functions,IMFs)的方法。小波阈值去噪是利用小波变换的多分辨率分析特性,将信号分解为不同尺度的频带,并对每个频带进行阈值处理来去除噪音。

基于EMD联合小波阈值去噪的方法可以按照以下步骤进行:

1. 对待去噪的信号进行EMD分解,得到一组IMFs和一个最后的残差项。每个IMF表示了信号的一个本征模态分量。

2. 对每个IMF应用小波变换,将其转换为频域表示。

3. 对每个频域表示的IMF进行小波阈值去噪。一般采用软阈值或硬阈值方法,根据阈值大小判断是否对频域系数进行置零或缩放。

4. 对去噪后的频域表示的IMF进行逆小波变换,得到去噪后的IMF时域表示。

5. 将去噪后的IMF和残差项合并,得到去噪后的信号。

需要注意的是,选择合适的小波基和阈值将对去噪效果产生影响。小波基应具有一定的时频局部化特性,以便更好地适应信号的局部特征。阈值的选择通常可以基于一些经验规则或基于信号的统计特性进行确定。

此外,还可以使用一些改进的方法,例如基于EMD的自适应小波阈值去噪方法,通过动态调整阈值来提高去噪效果。

总的来说,基于EMD联合小波阈值去噪是一种有效的去噪方法,能够同时捕捉信号的时域和频域特征,适用于非线性和非平稳信号的去噪任务

去噪流程图

代码的效果图:

(1)原始信号和加噪后信号

模拟信号的生成及时域和频谱图的生成

clc
clear
close all
%% 生成模拟信号信号
dt = 0.001;  %时间间隔
Fs = 1/dt;   %采样频率
N =1000;     %采样点数
t =(1:N)*dt; %时间轴
signal=4*sin(2*pi*t).*sin(2*pi*t)+2*sin(10*pi*t); %模拟信号的表达式
SNR = 10;    %希望添加的信噪比为10dB
noisy_signal = awgn(signal,SNR,'measured');       %添加噪声
figure('Name','原始信号时域图和频域图','Color','white');
subplot(411) ;plot(t,signal,'k');title('原始信号时域图');
subplot(412) ;pFFT(signal,Fs);title('原始信号频域图');xlabel('f(Hz)'), ylabel('幅值');
subplot(413) ;plot(t,noisy_signal,'k');title('加噪后信号时域图');
subplot(414) ;pFFT(noisy_signal,Fs);title('加噪后信号频域图');xlabel('f(Hz)'), ylabel('幅值');
function pFFT(y,Fs)
%  该函数有两个输入,即信号值与采样频率
%  y输入信号
%  Fs为采样频率
%% 程序内容
t_s = 1/Fs;                    %采样周期
nfft = length(y);              %采样点数
y_f = fft(y,nfft);             %傅里叶变换
f_s = 1/t_s;                   %采样频率
f_x = 0:f_s/(nfft -1):f_s;     %注意这里和横坐标频率对应上了,频率分辨率就是f_s/(nfft -1)
plot(f_x(1:round(length(f_x)/2)),2/nfft*abs(y_f(1:round(length(f_x)/2))),'k');
%% 画图
% set(gca,'FontName','宋体','FontWeight','normal','LineWidth',0.8, ...
%     'XMinorTick','off','XGrid','on','YGrid','on','YMinorTick','off','GridLineStyle', '--',...
%     'FontSize',8.8,'FontAngle','normal' ,'FontSmoothing','on') 
% title('\fontname{宋体}频谱图')                                                  %标题
% xlabel('\fontname{宋体}频率/\fontname{Times new roman}\it{Hz}');                 %x轴标签
% ylabel('\fontname{宋体}幅值/\fontname{Times new roman}\it{mV}');                %y轴标签
end

(2)EMD分解的效果图

(3)去噪效果图

(4)去噪后指标对比

复现MATLAB的相关代码:阿里云盘分享

提取码:vt78

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB科研小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值