【信号去噪】基于改进的阈值高斯脉冲信号去噪含Matlab源码
1 简介
为了有效消除信号中的噪声,提出一种改进小波阈值算法的信号去噪 方法.首先分析软阈值和硬阈值小波方法的优缺点,构造了一种任意阶可导的新阈值函数,然后通过调节参数的值来更好的获得阈值估计,最后在Matlab 2012平台对其去噪性能进行仿真测试.结果表明,相通于其它信号去噪方法,本文方法提高了信号的信噪比,降低了均方误差,达到了更好的消噪效果,具有更 高的实际应用价值.
2 部分代码
close all;
clc;
clear;
format short g;
Fs=50*128;
N=2048;
l=1;
n=[0:1:N-1];
[y,t]=Gauss1(N,8);
figure(1)
plot(t,y);
xlabel('时间(ns)');
ylabel('信号功率(pw)');
title('原始信号');
axis([0, N-1,0, 1.2]);
s=awgn(y,1,'measured');% 加入高斯白噪
figure(2)
plot(s);
xlabel(' 时间(ns)');
ylabel('信号功率(pw)');
title('污染信号');
axis([0, N-1,-0.5, 1.5]);
%%--------------- 阈值选取 -------------------------
%生成不同的阈值
th1=thselect(s,'sqtwolog');
th2=thselect(s,'rigrsure');
th3=thselect(s,'heursure');
th4=thselect(s,'minimaxi');
fprintf('通用阈值th1: %4.4f\n',th1);
fprintf('Stein无偏风险阈值th2: %4.4f\n',th2);
fprintf('启发式阈值th3: %4.4f\n',th3);
fprintf('最大最小准则阈值th4: %4.4f\n',th4);
%%%--------------- 不同小波函数对去噪效果的影响 -------------------------
sym=['sym1';'sym2';'sym3';'sym4';'sym5';'sym6';'sym7';'sym8'];
db=['db1';'db2';'db3';'db4';'db5';'db6';'db7';'db8'];
coif=['coif1';'coif2';'coif3';'coif4';'coif5'];
[zwave(1,1:4),snrwave(1),snrsym]=levelandth(y,s,sym,8);
[zwave(2,1:3),snrwave(2),snrdb]=levelandth(y,s,db,8);
[zwave(3,1:5),snrwave(3),snrcoif]=levelandth(y,s,coif,5);
ksym=1:8;
kdb=1:8;
kcoif=1:5;
figure(12)
plot(ksym,snrsym,'r-',kdb,snrdb,'g-',kcoif,snrcoif,'b-'),grid on;
legend('sym小波系','db小波系','coif小波系');
xlabel('小波基');
ylabel(' 信噪比改善量(dB)');
title('不同小波函数能达到的最大信噪比改善量');
[snrwavemax,kwaxw]=max(snrwave);
fprintf(zwave(kwaxw,:));
snrxn=snr(y,s);% 原加噪信号信噪比
fprintf(' 原加噪信号信噪比 %4.4f\n',snrxn);
snrxdh1=snr(y,xdh1);% 通用阈值硬阈值函数去噪信噪比
fprintf(' 通用阈值硬阈值函数去噪信噪比 %4.4f\n',snrxdh1);
snrxdh1=snr(y,xds1);% 通用阈值软阈值函数去噪信噪比
fprintf(' 通用阈值软阈值函数去噪信噪比 %4.4f\n',snrxdh1);
snrxdh2=snr(y,xdh2);% Stein无偏风险阈值硬阈值硬阈值函数去噪信噪比
fprintf(' Stein无偏风险阈值硬阈值函数去噪信噪比 %4.4f\n',snrxdh2);
snrxds2=snr(y,xds2);% Stein无偏风险阈值硬阈值软阈值函数去噪信噪比
fprintf(' Stein无偏风险阈值软阈值函数去噪信噪比 %4.4f\n',snrxds2);
snrxdh3=snr(y,xdh3);% 启发式阈值硬阈值函数去噪信噪比
fprintf(' 启发式阈值硬阈值函数去噪信噪比 %4.4f\n',snrxdh3);
snrxds3=snr(y,xds3);% 启发式阈值软阈值函数去噪信噪比
fprintf(' 启发式阈值软阈值函数去噪信噪比 %4.4f\n',snrxds3);
snrxdh4=snr(y,xdh4);% 最大最小准则阈值硬阈值函数去噪信噪比
fprintf(' 最大最小准则阈值硬阈值函数去噪信噪比 %4.4f\n',snrxdh4);
snrxds4=snr(y,xds4);% 最大最小准则阈值软阈值函数去噪信噪比
fprintf(' 最大最小准则阈值软阈值函数去噪信噪比 %4.4f\n',snrxds4);
snryh=snr(y,yh);% 改进的硬阈值去噪信号信噪比
fprintf(' 改进的硬阈值去噪信号信噪比 %4.4f\n',snryh);
snrys=snr(y,yhs);% 改进软阈值处理后的信噪比
fprintf(' 改进的软阈值处理后的信噪比 %4.4f\n',snrys);
3 仿真结果
4 参考文献
[1]袁孟宇. 基于改进小波阈值法的动液面信号去噪研究[D]. 东北石油大学.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
【信号去噪】基于改进的阈值高斯脉冲信号去噪含Matlab源码相关推荐
- 【语音去噪】基于matlab小波硬阈值语音降噪【含Matlab源码 532期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[语音去噪]基于matlab小波硬阈值语音降噪[含Matlab源码 532期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 【光学】基于matlab GS算法高斯光转换成高阶高斯光+一阶空心高斯光+贝塞尔高斯光【含Matlab源码 2166期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GS算法高斯光转换成高阶高斯光+一阶空心高斯光+贝塞尔高斯光[含Matlab源码 2166期] 点击上面蓝色字体 ...
- 【阈值分割】基于matlab遗传算法图像自适应多阈值快速分割【含Matlab源码 2444期】
⛄一.基于GA的多阈值自适应图像分割 1 遗传算法(GA)的工作流程 GA[3]是由美国科学家Holland提出的,其主要优点是简单.鲁棒性强,需要解决的问题越复杂,目标越不明确,优越性越大.遗传操作 ...
- 【滤波器】基于低通滤波实现肌电信号处理含Matlab源码
1 简介 FIR数字滤波器是数字滤波器系统中常见的滤波器,本文提出FIR数字滤波器的设计方案,并基于Ma tlab实现滤波仿真.通过使用Matlab信号处理工具箱提供的函数,选择适当的窗函数编写程序, ...
- 【图像配准】基于matab SAR-SIFT改进的SAR图像配准【含Matlab源码 2336期】
⛄一.基于SAR-SIFT改进的SAR图像配准 合成孔径雷达(synthetic aperture radar,SAR)图像配准的主要目标是对同一或不同传感器在不同时间.不同视点捕获的SAR图像进行配 ...
- 【图像分割】基于形态学算法实现原子力显微镜图像分析含Matlab源码
1 简介 很多临床病症表现为白细胞数目增多.肿大或者白细胞中细胞核形状与数目发生变化,所以对白细胞数目和形状的研究有着重要意义.但是由于染色条件.涂片制备.图像来源.采样光照条件的差异以及细胞间相互重 ...
- 【车牌识别】基于模板匹配实现停车计费系统含Matlab源码
1 简介 随着经济社会的迅速发展,人民对生活水平的要求也不断提高,从而引起汽车的数量的增加.给出行带来便捷的同时,车辆的管理问题也日益显著.车牌识别系统是指能将监控中运动的车辆的汽车牌照信息从复杂背 ...
- 【PID优化】基于花朵授粉算法PID控制器优化设计含Matlab源码
1 内容介绍 PID参数优化对PID控制性能起着决定性作用,针对PID参数寻优问题,提出运用一种花授粉算法(FPA).该算法启发于自然界中花粉的传播授粉过程,以三个PID参数组成每个花粉单元的位置坐 ...
- 【配电网重构】基于粒子群算法实现配电网重构含Matlab源码
1 简介 随着大规模,跨区域的配电网不断发展,对配电网运行的经济性和可靠性要求越来越高,在配电网发生大范围停电事故后,需要对配电网的拓扑结构进行重新组合,从而达到恢复供电的目的,这个重新组合配电网拓扑 ...
最新文章
- 人脸识别的未来:对智慧城市有何影响
- Qt creator自定义编译运行步骤
- 递归和循环:斐波那契数列
- python 判断是否是int/string/类型的函数
- CodeSandbox v3 发布,Web 项目的在线开发
- React-Native系列Android——Native与Javascript通信原理(一)
- redis 6379端口telnet不通的解决办法
- 实用代码---取得当前的年月日,当前的时分秒获得,周几和星期几获得
- oracle命令行原理,Oracle命令行操作方式
- Flutter延时任务、Flutter通过Future与Timer实现延时任务
- vscode安装程序员鼓励师插件
- git里面的文件怎么删不掉_彻底删除git中没用的大文件
- 大淘客cms源码修改二次开发
- 269. Alien Dictionary火星语字典(拓扑排序)
- python词云代码手机_【云计算】爬取淘宝手机品牌词云分析(python)
- 解决mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket错误的方法
- 这几个动图告诉你科学的神奇,看完瞬间觉得智商都提高了
- matlab创建反正弦asin,JavaScript中反正弦函数Math.asin()的使用简介
- 网页中怎样在线播放音乐和视频
- 自贸港有志青年,捂碳星球旧衣回收项目,成功引起团中央的重视
热门文章
- PHP修改图片上的文字,ps图片中怎么更改文字
- 分布式系统之----CAP理论
- CentOS 使用 yum 源安装 PHP 各版本、及 PHP 各扩展总结
- aspf ftp_FTP主动模式和被动模式
- 2020.10.28----HashMap
- 成立 4 年估值 20 亿美金,这家国货美妆找到了新的人口红利
- C语言 “吞字符” 加不加‘\n‘ ---- #145. 最长的名字
- Unity制作简单拦截近防炮——如何预测打击目标
- 2021年JAVA面试~光头佳的论述
- 解决uni-uploadFile上传图片丢失后缀名的问题