【信号去噪】基于小波模极大值数字信号去躁附matlab代码
【信号去噪】基于小波模极大值数字信号去躁附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
个人主页: Matlab科研工作室
个人信条:格物致知。
更多Matlab仿真内容点击
智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统
信号处理 图像处理 路径规划 元胞自动机 无人机
⛄ 内容介绍
小波分析在时域和频域具有很好的局部化特性,是分析和处理数字信号强有力的工具.文章将基于小波变换的模极大值去噪算法应用到心电信号的去噪研究中.首先依据相关理论验证算法的有效性,并对 心电 数据进行去噪分析处理.结果表明,去噪后的信号有效去除了大部分毛刺,去噪效果良好,噪声得到很好的抑制.
⛄ 部分代码
N=1024;n1=7;
n=0:N-1;
Fs=500;
t=n/Fs;
x=1*sin(2*pi*10*t);
y=1.4*rand(1,1024);
for i=1:length(y)
if y(1,i)>0.96
y(i)=4;
else if y(1,i)>0.92
y(1,i)=2;
else
y(1,i)=0;
end
end
end
a=0;
for i=1:length(y)
if y(1,i)>0
a=a+1;
else a=a;
end
end
a
signal=x+y;
xref=x;
points=1024; level=4; sr=360; num_inter=6; wf=’db3’;
%所处理数据的长度 分解的级数 抽样率 迭代次数 小波名称
offset=0;
%____进行二进制小波变换(离散平稳小波变换),并给出各级波形:
[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(wf);
[swa,swd] = swt(signal,level,Lo_D,Hi_D);
figure;
subplot(level,1,1); plot(real(signal));
title(’含噪声信号’),grid on;axis tight;
for i=1:level
subplot(level+1,2,2*(i)+1);
plot(swa(i,:)); axis tight;grid on;xlabel(’time’);
ylabel(strcat(’a ’,num2str(i)));
subplot(level+1,2,2*(i)+2);
plot(swd(i,:)); axis tight;grid on;
ylabel(strcat(’d ’,num2str(i)));
end
%____求小波变换的模极大值及其位置,并按级给出小波变换模极大的波形:
% swa:小波概貌; swd:小波细节;
% ddw:局部极大位置; wpeak:小波变换的局部极大序列。
ddw=zeros(size(swd));
pddw=ddw;
nddw=ddw;
posw=swd.*(swd>0);
pdw=((posw(:,1:points-1)-posw(:,2:points))<0);
pddw(:,2:points-1)=((pdw(:,1:points-2)-pdw(:,2:points-1))>0);
negw=swd.*(swd<0);
ndw=((negw(:,1:points-1)-negw(:,2:points))>0);
nddw(:,2:points-1)=((ndw(:,1:points-2)-ndw(:,2:points-1))>0);
ddw=pddw|nddw;
ddw(:,1)=1;
ddw(:,points)=1;
wpeak=ddw.*swd;
wpeak(:,1)=wpeak(:,1)+1e-10;
plot(signal(1:points),’r’);
title(’含噪声信号’)
axis([1 points -5 5]);
subplot(513)
plot(pswa(1:points),’r’);
title(’极值去噪’)
axis([1 points -5 5]);
subplot(514)
plot(xh(1:points));
title(’硬阈值去噪’)
axis([1 points -5 5]);
subplot(515)
plot(xs(1:points));
title(’软阈值去噪’)
axis([1 points -5 5]);
snr0=20*log10(norm(signal)/norm(y))
snr=20*log10(norm(pswa)/norm(pswa-x))
snr1=20*log10(norm(xh)/norm(xh-x))
snr2=20*log10(norm(xs)/norm(xs-x))
⛄ 运行结果
⛄ 参考文献
[1] 罗娜, 王利兵, 王静,等. 基于小波模极大值的地震信号去噪研究[J]. 山西地震, 2015(2):5.
[2] 刘云. 基于Blackman窗函数插值的小波模极大值去噪算法[D]. 河南理工大学.
[3] 张兆宁, 董肖红, 潘云峰. 基于小波变换模极大值去噪方法的改进[J]. 电力系统及其自动化学报, 2005, 17(2):4.
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
