基于DSP的语音信号的去噪方法毕业论文.doc
武汉工业学院 毕 业 设 计(论 文) 设计(论文)题目: 基于DSP的语音信号的去噪方法姓 名_ _学 号_ _院(系)_ 电气与电子工程学院_专 业_通信工程_指导教师_ _ 2013年 5月5日 基于DSP的语音信号的去噪方法摘要:语音是语言信息的载体,是人类交流信息最自然、最有效、最方便的手段。在许多情况下,人们所关心的语音信号不可避免地被其他信号所污染,影响了人们的听辨。 小波变换在当今信号处理领域中是一种十分活跃的理论,小波阈值消减法是对小波分解系数进行阈值化的降噪技术。本文简要介绍主要针对基于小波变换的阈值去噪方法进行了研究,对小波阈值消噪从两个方面进行改进。一方面,通过对传统小波阈值消噪算法中的软阈值函数和硬阈值函数以及LBreiman提出的非负死区阈值函数进行分析,提出了两种改进的阈值函数。另一方面,受到谱减法思想的启发,提出了新的阈值估计思想。经实验证明,本文阈值函数和阈值估计的消噪结果保持了信号的边缘特性,并且提高了语音信噪比。关键词:小波消噪 阈值估计 阈值函数 高斯白噪声Abstract:Speech signal is the carder of the speech information,and also is the most nature,convenient and shortcut way of intercommunicationHowever in most cases,speech signal is disturbed and polluted inevitably so that we cant catch the explicit meaning of the speech signal Wavelet transform theory is one of the modem analysis methodsWavelet threshold de-noising is a de-noising technique based on the threshold of the wavelet coefficientsIn this paper,several approaches of speech enhancement are introduced brieflyWavelet threshold de-noising is the main part in this paperTwo aspects improvement is presented in this paper ,In one aspect,two new threshold function is presented based on the analysis of the traditional softthreshold,hardthreshold functions and the threshold function presented by LBreimanIn the another aspect,a new idea about threshold estimation which is affected by the idea of spectral subtraction is proposedExperiment results demonstrate that this method is effective in aspect of remaining geometrical characteristics of signal and improving the signal to noise ratio(SNR).Key words:wavelet de-noising threshold estimation threshold functions white Gaussian noise 目 录摘要 基于DSP的语音信号的去噪方法1目录 .2第一章 绪论311课题的研究背景及意义412语音去噪的基础知识4121语音信号的特点5122噪声特性513 TI DSP 介绍61.3.1C54x芯片61.4.CCS开发环境71.4.1 CCS集成开发环境81.5 本文重点总结9第二章 小波在语音消噪中的应用92.1经典的小波算法102.1.1 模极大值去噪算法102.1.2相关性去噪算法102.1. 3小波阈值去噪算法102.2一种新的小波阈值去噪方法112.3 本章总结13第三章 实验设计原理及过程143.1 小波去噪原理分析143.1.1. 小波去噪原理143.1.2 小波去噪步骤153.2.阈值的选取与量化153.2.1. 软阈值和硬阈值153.2.2. 阈值的几种形式163.2.3. 阀值的选取163.3实验步骤173.3.1小波去噪验证仿真173.3.2. 小波去噪与FFT去噪效果对比183.4本章总结19第四章 实验仿真及图204.1实验结论20结论22致谢23参 考 文 献24附录25 第一章 绪论 语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。在高度发达的信息社会,用数字化的方法进行语音的传送、存储、识别、合成、增强等是整个数字化通信网中最重要、最基本的组成部分之一。同时,语言不仅是人类相互间进行沟通最自然和最方便的形式,也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为计算机、自动化系统等建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化和自动化程度。语音处理技术,其中最重要的包括语音编码、语音合成、语音识别、说话人识别及语音增强,它的应用极其广泛,包括工业、军事、交通、医学、民用等各个领域。目前,语音处理技术处于蓬勃发展的时期,己有大量产品投放市场,并且不断有新产品被开发研制,具有及其广阔的市场需要和应用前景。 11课题的研究背景及意义语音是语言信息的载体,是人类交流信息最自然、最有效、最方便的手段。在许多情况下,人们所关心的语音信号不可避免地被其他信号所污染,即语音总会受到外界环境噪声的干扰,这些噪声包括从周围环境、传输媒质中引入的噪声、电器设备的噪声以及其他说话人干扰等等。环境噪声会影响语音质量,严重的情况下语音将完全淹没到噪声中,无法分辨。这些背景噪声对人们得到语言信号中夹带的有效信息产生了很大的干扰,会引起有用语音信息的相对失效。计算机无法准确地分离出噪声与有用信息,因此要让它准确无误地执行所要求执行的操作,就必须对语音进行降噪处理。研究如何进行语音去噪的科学意义很大,它能帮助人们解决很多问题,同时它具有广阔的应用前景。较好的降噪处理结果,有利于语音信号的编码,从而也会减少数据的存储量,利于在网络中的传送。语音增强技术就是从噪声背景中提取、增强有用的信号,抑制、降低噪声干扰的技术。比如,语音识别系统在实验室环境中可取得相当好的效果,但在噪声环境中,尤其是在强噪声环境中使用时,系统的识别率将受到严重影响。由于干扰通常都是随机的,因而从带噪语音中提取相对完全纯净的语音几乎不可能。语音降噪处理的意义非常重大,它可以帮助我们解决许多有关听辨的问题。但是当今从事语音降噪处理研究的机构和单位并不是很多。在国外虽然有一些这方面的产品,但是这些产品往往不成熟,在实际应用中,这些产品并不能有效的降低语音信号中的噪音,提高信噪比。在国内,从事这方面研究的机构己经做成语音降噪产品的单位很少,而且在对语音降噪处理过程中并没有用到什么新的数字语音处理技术,也没有什么独特的方法,未取得较大的突破。 12语音去噪的基础知识 语音去噪不但与信号处理技术有关,而且涉及到人的听觉感知和语音学。另外,噪声来源不同,特性也不相同,因而很难找出一种适用于各种噪声环境的去噪算法。对不同噪声必须使用不同的语音去噪方法。语音去噪算法的基础是对语音和噪声特性的了解和分析。121语音信号的特点 语音是时变的、非平稳、非遍历的随机过程。语音可以分为周期性的浊音和非周期的清音。浊音和清音经常在一个音节中同时出现。浊音部分和音质关系密切,在时域上呈现出明显的周期性,在频域上有共振峰结构,而且能量大部分集中在较低频段内,是语音中大幅度高能量的部分,清音则没有明显的时域和频域特征,类似于白噪声,能量较小,在强噪声中容易被掩盖,但信噪比较高时能提供较多的信息。根据中心极限定理,傅里叶展开系数被认为是独立的高斯随机变量,均值为零但方差是时变的。语音的短时谱幅度的统计特性是时变的,只有当分析帧长趋于无穷大时,才能近似认为其具有高斯分布。这种高斯模型应用于有限帧长时只是一种近似的描述,在宽带噪声污染的带噪语音的语音去噪中,这种假设可作为分析的前提。122噪声特性 噪声的来源很多,因此噪声的特性也是多样的。根据噪声对语音频谱的干扰方式,噪声主要分为加性噪声和乘性噪声。当噪声对语音的干扰表现为两者信号在时域进行相加时,该噪声被称为加性噪声。显然噪声和语音在频域也为相加关系。在实际环境中,背景噪声可以看作加性噪声,加性噪声是对背景噪声一种比较贴切的表述。乘性噪声是指噪声和语音在频谱上是相乘的关系,在时域则是卷积的关系,因此也称为卷积噪声。我们关注的噪声通常分为冲激噪声、周期噪声、宽带噪声、语音干扰噪声等。非加性噪声主要是传送网络的电路噪声等。(1) 周期噪声:往往来源于电动机、风扇等周期运转的机械,50或60Hz交流电源声也是周期噪声。它们的频谱图特点为有许多离散的窄谱峰,通常可以通过功率谱发现,用滤波或变换技术予以滤除。(2) 冲激噪声:通常是放电时会产生。它的时域波形是类似于冲激函数的窄脉冲。冲激噪声可以在时域内进行消除。影响通常有两种方法:对带噪语音信号的幅度求均值,将该均值作为判断阈值,凡是超过该阈值的均判为冲激噪声,把它进行衰减或者完全置零:当冲激脉冲不太密集时,也可以通过某些点内插的方法避开或者平滑掉冲激点,从而能在重建语音信号中去掉冲激噪声。(3) 宽带噪声:呼吸噪声、风、随机噪声源产生的噪声、量化噪声等均可视为宽带噪声,应用中常近似为高斯噪声或白噪声。量化噪声通常作为白噪声来处理,也可以当作宽带噪声处理。其显著特点是噪声频谱遍布于语音信号域频谱中,导致消除噪声较为困难。一般需要采用非线性处理方法。(4) 语音干扰:可能是受到其他语音源的干扰造成的。干扰语音信号和待传语音信号同时在一个信道中传输所造成的干扰称为语音干扰。考虑到一般情况下两种语音的基音不同,也不成整数倍,利用它们的基音差别可以用梳状滤波器提取基音和各次谐波,再恢复出有用语音信号。(5) 传输噪声:这是传输系统的电路噪声。与背景噪声不同的是,语音和噪声需要通过卷积变换,转化为加性噪声来处理。13 TI DSP 介绍TI公司DSP种类多,品种齐全,适合各种需要。目前,使用较为广泛的主要有三个系列:C2000,C5000和C6000。其他系列产品应用较少或已经淘汰。每个系列又有多种DSP可供选择。同一系列的DSP具有相同的内核、相同或兼容的汇编指令集;它们之间的差别是具有不同大小的片内存储器、不同的片内外设和外部接口等,工作电压和速度也有所区别。以上3大系列DSP实现功能的侧重点不同,也就是说应用领域有所不同:(1)C2000系列是16位定点DSP。它是一个控制器系列,主要应用于工业控制领域,它除了具有一个DSP内核外,还有大量的片内外设资源,如A/D、定时器、各种同步和异步串口、看门狗、CAN总线接口等;加上其价格低廉,速度更高,可靠性更强,可以取代传统单片机。内部具有Flash,方便固化程序,而其他系列DSP都没有内部Flash。(2)C5000系列DSP是16位定点低功耗DSP,性价比极高,主要应用于无线通信系统及手持式通讯产品,如手机,PDA和GPS等。C5000又分为C54X和C55X两个系列。相对C2000系列来说,其内部存储更大,运行速度更快,更适合执行较为复杂的数字信号处理任务,但控制功能相对较弱。一般由核心电压和I/O电压两种电压供电。核心电压较低,所以功耗很低,且体积很小,方便集成。(3)C6000系列是32位的DSP系列。在TI的所有系列DSP中运行速度最快。其中C62XX是定点DSP,而C64XX和C67XX是浮点DSP,它主要应用于需要大量快速运算的场合,如数字视频处理、无线基站等。由于速度很高,所以功耗也很大。1.3.1C54x芯片在本设计中使用的DSP是TMS320VC5410。它属于TI C5000系列中的C54X系列,正如前面所说,同一系列的DSP具有相同的内核、相同或兼容的汇编指令集,差别仅在于内存储器的大小,片内外设等等,所以就首先介绍一下C54系列DSP普遍具有的特点和性能。54X具有改进的哈佛结构,使其处理能力达到最大。分开的程序空间和地址空间提供了高度的并行性,可以同时访问程序指令和数据,例如三次读操作和一次写操作可以在一个周期内完成。带并行存储的指令和具有特殊应用的指令充分利用了这种结构。这种并行性支持一套强大的算术运算、逻辑运算和位操作运算,所以使得这些运算可以在单个机器周期内完成。而且54X的运行机制还支持中断处理、重复操作和函数调用等等。对于任意通用可编程芯片来说,一般都具备以下几个部分:(1)内部存储器:主要用来存储程序、执行程序、存储数据等;(2)中央处理单元(CPU):用来实现各种运算功能;(3)片内外设:用来实现一些特定功能,如时钟发生器、硬件定时器等等;(4)外部总线接口:用来和其他芯片接口,协同工作;(5)通信接口:用来从外围芯片获得数据或者将处理完的数据传输出去;(6)内部总线:用来连接芯片中不同的单元。也就是说,以上各个部分的通信是通过内部总县来完成的。1.4.CCS开发环境本节将介绍CCS Code Composer Studio 的基本开发环境、软件开发过程、CCS组件。CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,能够加速开发进程,提高工作效率。 CCS 全称是 Code Composer Studio 它提供了基本的代码生成工具,具有一定的调试、分析能力,在CCS下的程序开发过程如图2.4示。图2.4程序开发过程CCS 包括:1、CCS代码生成工具2、CCS集成开发环境IDE3、DSP/BIOS插件程序和API RTDX插件,主机接口和API等。下面将着重介绍前两项。1.4.1 CCS集成开发环境调试DSP目标程序,它主要由几个主要的窗口组成:工程组显示窗口、程序内容显示窗口、编辑信息提示窗口和主要工具栏。另外,在编辑过程中 还可以显示诸如存储器观察窗口、变量监视框、图形显示框等调试界面,他们为程序编写调试提供多种手段为软件开发提供了极大的方便。图 2.5 就是基本编辑界面。图2.5 CCS基本编辑界面在利用CCS编程的过程中,不可避免的要遇到如何将程序变量分配到内存中去的问题。因为,即使 DSP 的存储空间比较大,速度也十分快,但是如果内存空间分配不当的话,还是会出现空间不够行速度下降,甚至程序跑飞的情况,这样会时程序调试起来十分麻烦。所以,一定要分配好内存空间CCS提供了两种分配空间的方法:利用cmd文件或rcp文件分配空间,其中cmd 文件是纯文本格式的描述性的空间分配方式, 它的优点是程序员对空间的可控制性较高,可以将不同的块分配到指定的地址,并规定长度。但它对于初学者来说,要求对C5410的内存空间的分配有较清楚的认识,否则容易将数据分配到不该分配的地方,引起程序运行的冲突,甚至程序跑飞。所以,一般在编程过程中,使用 rcp 文件对程序进行内存分rcp文件全称是 recipe 文件,这是一种图形化界面的内存分配文件。对于一个新生成的工程组rcp文件的生成方法是:选择CCS菜单上的Tools项,选择linker configuration项,将分配方式改为use the visual linker之后直接编译,编译信息提示窗口中会显示出错信息,提示找不到rcp文件,双击提示CCS会自动弹出rcp生成向导,按照要求选择rcp模板,就会生成这个工程对应的rcp文件,双击生成的rcp文件,通过visual linker连接器可以打开这个文件。当程序中新增加了变量后,在rcp文件中会出现Not yet placed项,只要将其下的文件夹,根据类型拖动到run_view下的相应的数据存储器或程序存储器即可。还可以选择用何种类型的存储器空间装载,通过观察存储空间以使用的状况自行分配空间,所以十分灵活,并且不会出现空间重叠的现象,避免了程序跑飞。1.5 本文重点总结 人们研究了许多种语音降噪算法。目前有代表性的语音去噪算法主要有自相关相减法、自适应噪声滤波法、谐波增强法、基于语音生成模型的降噪算法、短时谱幅度估计算法、谱相减算法、小波变换法、人耳掩蔽效应法等。本文所研究的重点在于通过小波分析方法对含高斯白噪声的语音信号的去噪。论文中的实验中采用的语音信号有两种,一种是在安静的环境下,用普通计算机录制的语音信号。用Matlab软件实现仿真,用函数生成噪声信号并对录制的语音信号进行软件加噪,然后用提出的改进思想进行降噪处理。另一种就是录制的带有机箱噪声的语音信号。本文研究的主要目的就是适应目前信息社会对语音信号处理技术的要求,结合DSP理论在小波信号去噪方面的应用,对小波语音去噪的处理过程提出改进。主要在以下几个方面进行研究:(1)分析已有的语音降噪方法,包括短时谱估计算法、谱减法等。(2)对小波去噪方法进行研究,介绍小波去噪基本知识及原理,重点研究和讨论小波阈值函数和阈值两个方面。第二章 小波在语音消噪中的应用 小波分析理论是一种新兴的信号处理理论,它在时间上和频率上都有很好的局部性,这使得小波分析非常适合于时-频分析,借助时- 频局部分析特性,小波分析理论已经成为信号去噪中的一种重要的工具。利用小波方法去噪,是小波分析应用于实际的重要方面。小波去噪的关键是如何选择阈值和如何利用阈值来处理小波系数,通过对小波阈值化去噪的原理介绍,运用MATLAB 中的小波工具箱,对一个含噪信号进行阈值去噪,实例验证理论的实际效果,证实了理论的可靠性。本文简述了几种小波去噪方法,其中的阈值去噪的方法是一种实现简单、效果较好的小波去噪方法。2.1经典的小波算法2.1.1 模极大值去噪算法模极大值去噪算法是根据信号和噪声在多尺度空间上小波变换系数的模极值传播规律的不同而发展起来的一种去噪算法。理论上只要信号与噪声的奇异性有差异,就能产生很好的去噪效果。一般信号小波系数的模极大值将随着小波分解层数的增大而增大;而对于白噪声信号,其模值随着分解层数的增大而减小。因此,观察不同尺度间小波变换模极大值变化的规律,去除幅度随尺度的增加而减小的点(对应噪声的极值点),保留幅度随尺度增加而增大的点(对应于有用信号的极值点)。然后再由保留的模极大值点用交替投影法进行重建,即可以达到去噪的目的。但是,交替投影法算法复杂,容易造成投影信号的偏差,难以在实际应用中对信号进行实时处理。2.1.2相关性去噪算法相关性去噪算法是根据信号经小波变换后,其小波系数在各尺度上有较强的相关性,尤其是在信号的边缘附近,其相关性更加明显,而噪声对应的小波系数在各尺度间却没有这种明显的相关性来去噪的。在尺度空间上的相关运算能使噪声的幅值大为减小,从而抑制了噪声和小的边缘,增强了信号的主要边缘,更好地刻画了原始信号。并且在小尺度上,这种作用明显大于在大尺度上的作用。由于噪声能量主要是分布在小尺度上,因而这种随尺度增大而作用强度递减的性质,恰好滤除了噪声,很好的保留了有用信号。2.1. 3小波阈值去噪算法小波变换具有一种“集中”的能力,能将信号的能量集中到少数的小波系数上,而白噪声在任何正交基上的变换仍然是白噪声,其分量分布在大多数展开系数上。相对来说,有用信号所对应的小波系数幅值较大,但数目较少,而噪声对应的小波系数是一致分布的,个数较多,但幅值小。基于这一思想,Donoho等人提出硬阈值和软阈值去噪方法,即在众多小波系数中,把绝对值较小的系数置为零,而让绝对值较大的系数保留或收缩,得到估计小波系数,然后利用估计小波系数直接进行信号重构,即可达到去噪的目的。小波阈值去噪算法主要分为4个步骤:第1步:选择一个小波基函数,确定小波分解层数并对信号进行小波分解。常用于去噪的小波函数有dbN小波、symN小波和coifN小波,层数一般为3-5层。第2步:阈值的确定小波阈值在去噪过程中起到决定性的作用。如果阈值太小,那么阈值处理后的小波系数中包含了过多的噪声分量;如果阈值太大,那么将会丢失信号的一部分有用信息, 从而造成小波系数重构后的信号失真。常用的阈值选择方案有四种:(一)基于无偏似然估计的软阈值估计(rigsure)(二)长度对数阈值(sqtwolog)计算公式为:(三)启发式SURE阈值(heursure)是前两种阈值的综合。(四)最小极大方差阈值(minimaxi)产生一个最小均方误差的极值,在给定的函数集中实现最大均方误差最小化。在实际应用中,斯坦无偏似然估计和最大最小值法比较保守,而其他两种方法产生的阈值则过大。第3步:选择合适的阈值函数对小波系数进行阈值处理。常用的阈值函数有以下两种:硬阈值法: (1) 软阈值法: (2)第4步:小波重构。根据阈值化处理后的高频小波系数以及未处理的低频小波系数进行离散小波反变换重构信号。2.2一种新的小波阈值去噪方法小波阈值算法比较简单,运算量小,因此在信号去噪方面得到了广泛的应用。但是这种方法还存在以下两种不足:白噪声信号的模极大值随着分解层数的增大而减小,对不同的分解层数采用相同的阈值进行处理,会在低频系数中滤除过多有用信息而在高频系数保留了一些过多的噪声;在进行阈值处理时,硬阈值处理能更多的保留真实信号的尖峰等特征,但由于其本身的不连续性,去噪的的结果会出现震荡,软阈值是一种更平滑的方式,在去噪后能产生更光滑的结果,但估计的小波系数与原小波系数之间存在恒定的偏差。本文采用的改进方法如下:一、各层采用不同的阈值由文献4可知: (3)其中K为一个常数,j为分解层数,为Lip指数,为第j层的小波系数。Lip指数与信号的奇异性有关,越大,信号越平滑。对于一般信号,即有用信号对应小波系数随分解尺度j的增大而变大。而白噪声的Lip指数则为负值, ,即噪声对应的小波系数随分解尺度j的增大而减小。有文献8可知,白噪声的Lip指数满足(4)式: (4)由(3)式和(4)式可知 (5)其中为噪声对应的第j层小波系数,由式 可知噪声对应的第j+1层小波系数的最大值小于第j层小波系数的最大值,因此,本论文在阈值处理时每层系数采用不相同的阈值,用前面所述的四种阈值计算方法确定第一层阈值,以后各层阈值为前一层阈值的倍,即。二、采用新的阈值函数鉴于软阈值和硬阈值的缺点,本论文采用一种新的阈值函数。该阈值函数既要保证其连续性,又要尽可能的消除软阈值函数中的恒定偏差。阈值函数如下: (6)其中,式中N为一个正常数,为处理前的小波系数,为处理后的小波系数。该阈值函数和软阈值函数一样具有连续性,而且当时, 函数是高阶可导的,并且随着系数的增大,t的值逐渐减小,使得处理前后的小波系数不变。当N取值很大时, 新阈值函数相似于软阈值函数; 当N 趋近于0时, 新阈值函数相似于硬阈值函数。通过调节N的大小可以改变新阈值函数的类型,与经典的阈值函数相比更具有灵活性。图1硬阈值函数、软阈值函数及改进法制函数的曲线图1为硬阈值函数、软阈值函数及改进法制函数的曲线图,其中阈值。从图中可以看出,硬阈值函数在阈值点处不连续,软阈值函数存在恒定的偏差。改进阈值函数在阈值点处连续,并且以硬阈值曲线为渐近线。本章首先介绍小波去噪的定义及其特点,然后了解小波变换进行降噪的原理,对阈值去噪方法做重点研究。下一章将用仿真实验来说明消噪效果。2.3 本章总结本章首先介绍了小波阈值去噪的基本原理以及般方法,并且消噪时两个重要的方面进行重点研究,提出了一些改进。第一方面是对阈值函数进行改进。由于传统的软阈值函数和硬阈值函数各有各的优缺点。因此针对它们的缺点,提出了两种改进的阈值函数,一种是介于软阈值和硬阈值函数。另一个是基于非负死区阈值函数改进的函数。本章就其单调性、连续性方面给出的证明。第二个改进的方面是阈值的估计。受到了谱减法思想的启发,对噪声的估计也是基于无音段的噪声分析。由于信号的小波系数与噪声的小波系数的不同表现,所以把噪声经过小波分析后的模最大值作为阈值。这样就可以较好地恢复出纯净语音,当然这个过程中语音信号也会受到一定程度的损害。第三章 实验设计原理及过程3.1 小波去噪原理分析3.1.1. 小波去噪原理叠加性高斯白噪声是最常见的噪声模型,受到叠加性高斯白噪声“污染”的观测信号可以表示为: (7) 其中yi为含噪信号,为“纯净”采样信号,zi为独立同分布的高斯白噪声,为噪声水平,信号长度为n. 为了从含噪信号yi中还原出真实信号,可以利用信号和噪声在小波变换下的不同的特性,通过对小波分解系数进行处理来达到信号和噪声分离的目的。在实际工程应用中,有用信号通常表现为低频信号或是一些比较平稳的信号,而噪声信号则通常表现为高频信号,所以我们可以先对含噪信号进行小波分解(如进行三层分解): (8)图1 三层小波分解示意图其中为分解的近似部分, 为分解的细节部分,,则噪声部分通常包含在,中,用门限阈值对小波系数进行处理,重构信号即可达到去噪的目的。3.1.2 小波去噪步骤 总结去噪过程,可以分成以下三个步骤: 1) 对观测数据作小波分解变化: (9) 其中y表示观测数据向量y1,y2,y,f是真实信号向量f1,f2,fn,z是高斯随 机向量z1,z2,zn ,其中用到了小波分解变换是线性变换的性质。 2)对小波系数W0作门限阈值处理(根据具体情况可以使用软阈值处理或硬阈值 处理,而且可以选择不同的阈值形式,这将在后面作详细讨论),比如选取最著 名的阈值形式: (10)门限阈值处理可以表示为,可以证明当n 趋于无穷大时使用阈值公式(4)对 小波系数作软阈值处理可以几乎完全去除观测数据中的噪声。 3) 对处理过的小波系数作逆变换重构信号: (11)即可得到受污染采样信号去噪后的信号。3.2.阈值的选取与量化Donoho-Johnstone小波收缩去噪方法的关键步骤是如何选择阈值和如何进行门限阈值处理,在这将作较为详细的讨论。3.2.1. 软阈值和硬阈值在对小波系数作门限阈值处理操作时,可以使用软阈值处理方法或硬阈值处理方法,硬阈值处理只保留较大的小波系数并将较小的小波系数置零: (12)软阈值处理将较小的小波系数置零但对较大的小波系数向零作了收缩: (13)直观形式见图2(图中取t=1)从图上我们可以看出软阈值处理是一种更为平滑的形式,在去噪后能产生更为光滑的结果,而硬阈值处理能够更多的保留真实信号中的尖峰等特征软阈值处理实质上是对小波分解系数作了收缩,从而Donoho-Johnstone将这种去噪技术称之为小波收缩。图2 硬阀值和软阀值3.2.2. 阈值的几种形式阈值的选取有多种形式,选取规则都是基于含噪信号模型式(1.1)中信号水平为1 的情况,对于噪声水平未知或非白噪声的情况可以在去噪时重新调整得到的阈值。在MATLAB中有4种阈值函数形式可以选用:(1) sqtwolog:采用固定的阈值形式,如式(10),因为这种阈值形式在软门限阈值处理中能够得到直观意义上很好的去噪效果。(2) minimaxi采用极大极小原理选择的阈值,和sqtwolog一样也是一种固定的阈值,它产生一个最小均方误差的极值,计算公式为: (14)(3) rigrsure:采用史坦的无偏似然估计原理进行阈值选择,首先得到一个给定阈值的风险估计,选择风险最小的阈值 作为最终选择。(4) heursure:选择启发式阈值它是sqtwolog和rigrsure 的综合,当信噪比很小时,估计有很大的噪声,这时heursure, 采用固定阈值sqtwolog。3.2.3. 阀值的选取阈值化处理的关键问题是选择合适的阈值如果阈值(门限) 太小,去噪后的信号仍然有噪声存在;相反,如果太大,重要信号特征将被滤掉,引起偏差。从直观上,对于给定小波系数,噪声越大,阈值就越大。大多数阈值选择过程是针对一组小波系数,即根据本组小波系数的统计特性,计算出一个阈值。Donoho 等提出了一种典型阈值选取方法,从理论上给出并证明阈值与噪声的方差成正比,其大小为:3.3实验步骤3.3.1小波去噪验证仿真实验信号是由wnoise()函数产生的含标准的高斯白噪声信噪比为3 的heavy sine信号,用wden()函数进行去噪处理。1) 首先产生一个长度为210点,包含高斯噪声的heavy sine信号及heavy sine含噪信号, 其噪声标准差为3 , 如图3 a及b所示。2) 利用sym8小波对信号分解,在分解的第5层上,利用软阈值法去噪,结果如图3 c所示3) 同样的条件下,利用固定阈值选择算法对信号去噪,结果如图3 d 所示。验证仿真程序如下:x=wnoise(3,10);ind=linspace(0,1,210);subplot(4,1,1);plot(x);title('(a)');x,noisyx=wnoise(3,10,3,210);subplot(4,1,2);plot(noisyx);title('(b)');xd=wden(x,'rigrsure','s','sln',5,'sym8');subplot(4,1,3);plot(xd);title('(c)')xd=wden(x,'sqtwolog','h','sln',5,'sym8');subplot(4,1,4);plot(xd);title('(d)');3.3.2. 小波去噪与FFT去噪效果对比选择MATLAB6.5 中含有噪声的仿真信号noisbloc 作为原始信号,分别使用FFT 和小波分析方法对信号进行去噪处理,采用的小波是sym8,分解层数为5,对比结果如图4所示。验证仿真程序如下:load noisbloc;x=noisbloc;subplot(2,2,1);plot(x);title('a')xd=wden(x,'rigrsure','s','sln',5,'sym8');subplot(2,2,2);plot(xd);title('b')p1=1/length(x)*norm(x)2; p2=1/length(x)*norm(x-xd)2; snr1=10*log(p1/p2) RMSE1=sqrtm(p2)xd=wden(x,'sqtwolog','h','sln',5,'sym8');subplot(2,2,3);plot(xd);title('c')p1=1/length(x)*norm(x)2; p2=1/length(x)*norm(x-xd)2; snr2=10*log(p1/p2)RMSE2=sqrtm(p2)wc=0.3;N=5;b,a=butter(N,wc);xd=filter(b,a,x);subplot(2,2,4);plot(xd);title('d');p1=1/length(x)*norm(x)2; p2=1/length(x)*norm(x-xd)2; snr3=10*log(p1/p2)RMSE3=sqrtm(p2)3.4本章总结 基于DSP的算法 实现算法实现主要分为三个 部分 :小波分解部分、小波系数阈值 量化部分和小波重构部分。具体程序实现流程为图1。 开始小波分解小波系数阈值量化建立数据仿真文件DSP及外设初始化小波重构结束读取数据仿真文件第四章 实验仿真及图4.1实验结论 图3 小波去噪验证仿真图(a)为原始信号(b)为含噪信号(c)为软阀值去噪信号(d)为硬阀值去噪信号通过对图3的分析,可以看出对原始信号添加噪声后得到含噪信号,利用MATLAB 中的小波工具箱对含噪信号分别进行软阈值化和硬阈值化去噪处理,得出的去噪结果与原始信号效果非常接近, 由此可以看出利用MATLAB 中的小波变换工具箱对信号进行去噪处理是非常理想的。由图4可以看出,利用小波分析去噪的结果明显优于Fourier 变换,这是由于Fourier 变换只能在频域范围内表述,对系数进行处理的方法也相对单一,而利用小波对信号进行分解后,可以采用多种计算阈值和处理阈值的方法. 对信号的噪声成分进