本文主要介绍小波分解与重构法、非线性小波变换阈值法、平移不变量小波法以及小波变换模极大值法这4种常用的小波去噪方法。将它们分别用于仿真算例的去噪处理,并对这几种方法的应用场合、去噪性能、计算速度和影响因素等方面进行比较。

选择了Matlab软件中的仿真信号Blocks作为原始信号,信号长度(即采样点数)N=2048,如图1a所示。由于该信号中含有若干不连续点和奇异点,因此用以下几种方法对图1b中叠加了高斯白噪声的Blocks信号(信噪比为7)进行去噪处理,能够很清楚地比较出这几种方法的去噪性能。

图1 原始信号和含噪信号的时域波形

一、小波去噪方法

1、小波分解与重构法去噪

小波分解与重构的快速算法,即Mallet算法。据这一算法,若fk为信号f(t)的离散采样数据,fk=c0,k,则信号f(t)的正交小波变换分解公式为:

其中,cj,k为尺度系数;dj,k为小波系数;h、g为一对正交镜像滤波器组(QMF);j为分解层数;N为离散采样点数。

小波重构过程是分解过程的逆运算,相应的重构公式为:

小波的多分辨分析特性能将信号在不同尺度下进行多分辨率的分解,并将交织在一起的各种不同频率组成的混合信号分解成不同频段的子信号,因而对信号具有按频带处理的能力。应用小波分解与重构的方法去噪具体步骤是:根据需要,将含有噪声信号在某一尺度下分解到不同的频带内,然后再将噪声所处的频带置零(或直接提取有用信号所在的频带),进行小波重构,从而达到去噪的目的。

图2是用小波分解与重构法进行去噪的结果。采用的小波是近似对称的Symmlet8小波,小波分解层数是4,其中图2a是将图1b中的含噪信号进行4层小波分解的结果。从中可以看出,信号的能量主要集中于低频的少数小波系数上,而噪声的能量则分散于整个小波变换域。图2b是提取图2a中的前256个小波系数进行重构,也就是提取尺度4上的低频系数和高频系数进行重构的结果。

图2 小波分解与重构法去噪

2、非线性小波变换阈值法去噪

非线性小波变换阈值法也称为“小波收缩”(waveletshrinkage),其去噪方法如下:

假设一个叠加了高斯白噪声的有限长信号可以表示为

其中,zi是一个标准的高斯白噪声,即z~N(0,1),R是噪声级。若要从被噪声污染的信号yi中恢复出原始信号xi,则Donoho的去噪方法分为以下3个步骤:

(1)计算含噪声信号的正交小波变换。选择合适的小波和小波分解层数j,将含噪信号运用(1)式进行小波分解至j层,得到相应的小波分解系数。

(2)对分解得到的小波系数进行阈值处理,其阈值的处理方法有2种:

(3)进行小波逆变换。将经阈值处理过的小波系数用(2)式重构,得到恢复的原始信号估计值xd。

小波变换具有一种“集中”的能力,它能将信号的能量集中到少数小波系数上;而白噪声在任何正交

基上的变换仍然是白噪声,并且有着相同的幅度。相对来说,信号的小波系数值必然大于那些能量分散且幅值较小的噪声的小波系数值。选择一个合适的阈值,对小波系数进行阈值处理,就可以达到去除噪声而保留有用信号的目的。该方法能得到原始信号的近似最优估计,并且具有非常广泛的适应性。

图3和图4分别是采用Donoho的非线性小波变换阈值法以及平移不变量小波法去噪得到的结果。这2种方法均选用Haar小波,小波分解层数是5。二者均采用软阈值,阈值大小t=2log(N),其中N为信号长度。

图3 软阈值法去噪

图4 平移不变量小波法去噪

小波变换去噪python_小波去噪方法及步骤_小波去噪方法的比较相关推荐

  1. WinCC flexible Smart V3 SP2软件安装具体方法和步骤_常见问题处理

    WinCC flexible Smart V3 SP2软件安装具体方法和步骤_常见问题处理 官方网站提供 WinCC flexible Smart V3 SP2软件下载的地址: 点击下载软件 安装之前 ...

  2. nginx做小程序外链跳转_小程序跳转外部链接怎么设置,实现小程序跳转外链的两种方法...

    小程序跳转到外部链接有很多种类型,包括小程序跳转到APP,小程序跳转到小程序,小程序跳转到公众号,小程序跳转到网页等.由于小程序跳转的对象比较多,各自的规则又不一样,因此小程序跳转外部链接是用户咨询较 ...

  3. 斐波那契序列递归方法_斐波那契和卢卡斯序列

    斐波那契序列递归方法 这篇文章涉及我最喜欢的三个主题-数学,通过经验传递知识(教程单元测试)和研究的重要性. 大多数开发人员都通过面试来了解斐波那契数列 . 为了简要回顾该系列,定义了: F( n ) ...

  4. 小程序input获得焦点触发_小程序如何获得种子用户,微信9亿月活用户来教你!...

    小程序虽已上线2年了,但在微信生态中还非常年轻,正处于学习奔跑的阶段.而且,许多商家对于如何正确获得第一批种子用户,并不十分清楚. 今天,企乐网就以如何定位种子用户?种子用户在哪里获得?用什么方法沉淀 ...

  5. 电脑连接电视方法详解_笔记本连接电视方法有哪些?分享两种笔记本连接电视方法...

    在如今这个快节奏的时代中,大多数年轻人的手中都会有个笔记本电脑,并且将笔记本电脑作为休闲娱乐或办公的一种设备.相比于电视屏幕尺寸,笔记本电脑的屏幕还真是小了很多.为了提高视觉上的体验,很多小伙伴会选择 ...

  6. 小程序 const moment = require('moment')_小程序依赖分析实践

    用过 webpack 的同学肯定知道 webpack-bundle-analyzer ,可以用来分析当前项目 js 文件的依赖关系. webpack-bundle-analyzer 因为最近一直在做小 ...

  7. 斐波纳契回调线_斐波那契回调线(黄金分割线)神级操作-经典

    斐波那契回调线(黄金分割线)神级操作-经典 斐波那契回调线,又称黄金分割线.在交易市场上,大多数的技术指标都具有滞后性,导致交易者在使用时不太好掌握.但是,斐波那契回调线具有提前性,能很好的帮助交易者 ...

  8. 方法的运用_运用正确管理方法缩减库存,助力企业发展

    对于很多电商以及物流企业来讲"库存是魔鬼",我们要尽可能地消灭库存,因为它占用了企业大量资金.库存一旦增多,企业的运营成本随之增加,利润降低.如何运用正确管理方法缩减库存,助力企业 ...

  9. 小程序 和 web 功能对比_小程序官方推出的Kbone,是如何解决Web 端和小程序同构痛点的?...

    小程序作为一种新兴地连接用户与服务的方式,相信大家都或多或少接触过.对于开发者来说,它是一种类似 Web 但又不同于 Web 的开发模式,它提供了一套自定义的 API 和文件组织方式,这无疑带给开发者 ...

  10. 程序步骤_小程序平台搭建步骤是什么?

    随着现在做微信小程 序商城的企业越来越多,很多商家也想要去开发一个自己的小程 序商城,那么小程 序平台搭建步骤是什么呢?下面HiShop小编就跟大家一起来了解一下. 小程 序平台搭建步骤是什么? 1. ...

最新文章

  1. 灵魂画手:漫画图解 SSH
  2. Java实现单链表反转操作
  3. awk用法:取列表最后一列
  4. 今天学习jquery 希望开个好头
  5. JAVA API----Date类
  6. Alibaba Nacos 介绍以及服务提供者工程接入nacos注册中心
  7. 读取gdb中的图层类型_ArcGIS读取gdb内要素
  8. phpfpm内存越来越高_内存时序越小越好,为什么DDR1到DDR4 时序值越来越高了?
  9. Ubuntu下映射串口设备到docker
  10. 在Zephyr RTOS上实现一个轮询系统
  11. UIScrollView总结
  12. 适配器模式之组合模式
  13. golang 时间戳和时间互转
  14. HTML 数据可视化模板 echarts实现
  15. steps_per_epoch=2000,epochs=100之间的区别
  16. 算法---兔子生小兔子
  17. 锂盐锂矿主要标的简议
  18. 中华五千年的朝代顺序
  19. select查询基础的总结
  20. 中年大叔~手把手教你如何绘制一辆会跑车

热门文章

  1. Python数据处理Tips使用OpenCV预处理图像数据的10种操作
  2. 【千律】C++基础:使用动态数组vector初始化自定义类
  3. sql添加字段和字段说明
  4. Visio科学图形包下载以及安装详细教程
  5. Vue源码解读(个人见解 + 网友理解)
  6. java 读音_java怎么读?
  7. Oracle Exadata 技术详解 - 李亚
  8. 计算机二级ms高级应用考试内容,计算机二级《MSOffice》高级应用考试大纲
  9. 什么是静态代理和动态代理,两者的区别(笔记)
  10. JDK下载、安装与配置