FIR数字滤波器与小波变换去噪的设计及对比

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.引言数字滤波器是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。在许多数字信号处理系统中,如图像信号处理等,有限冲激响应(FIR)滤波器是最常用的组件之一,他完成信号预调、频带选择和滤波等功能[1]。FIR滤波器虽然在截止频率的边缘陡峭性能上不及无限冲激响应(IIR)滤波器,但是却具有严格的线性相位特性,稳定性好,能设计成多通带滤波器组,所以能够在数字信号处理领域得到广泛的应用。小波变换是一种新兴的数学分支,它是泛函数、Fourier分析、调和分析、数值分析的最完美的结晶;在应用领域,特别是在信号处理、图像处理、语音处理以及众多非线性科学领域,它被认为是继Fourier分析之后的又一有效的时频分析方法[2]。小波变换与Fourier变换相比,是一个时间和频域的局域变换因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析(MultiscaleAnalysis),解决了Fourier变换不能解决的许多困难问题。2.FIR数字滤波器的设计FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。2.1数字滤波器的设计步骤如下[3](1)确定指标。在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。FIR数字滤波器与小波变换去噪的设计及对比摘要:为了简化滤波器设计的过程,方便调整滤波器的参数,提出了基于MATLAB平台中滤波器设计与分析工具箱设计FIR数字滤波器。阐述了数字滤波器的基本原理和滤波器设计的详细步骤,并进行仿真。小波变换去除信号噪声的基本原理和方法,研究利用小波变换技术对信号噪声进行抑制和去除非平稳信号的噪声。然后利用MATLAB软件编制程序实现了基于小波变换的正弦信号的去噪仿真分析。仿真结果表明FIR数字滤波器与小波变换去除噪声都具有较强的实用性。关键词:FIR数字滤波器,小波变换,仿真分析,对比FIRdigitalfilterandwavelettransform’sdenoisingdesignandcontrastAbstract:Inordertosimplifythefilterdesignprocess,facilitatingtheadjustmentoffilterparameters,wedeviseaFIRdigitalfilterbasedonMATLABplatformusingitsFilterandAnalysisToolboxDesign.Digitalfilterisdescribedwiththebasicprinciplesanddetailedstepsforfilterdesign.Wealsodothesimulation.Accordingtothebasicprinciplesandmethodsofwavelettransform,westudythemeanstosuppressthesignalnoiseandremovethenoiseofstationarysignal.ThenweusetheMATLABsoftwareprogrammingtoachievethedenoisingsimulationofSinusoidalsignalbasedonwavelettransform.SimulationresultsshowthattheFIRdigitalfilterandwavelettransformareverypracticalwhenbeingusedtoremovethenoise.Keywords:FIRdigitalfilter,wavelettransform,simulationanalysis,comparison.KeyWords:Paper,Instruction,ChineseControlConference幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中具有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。(2)逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析和计算机仿真上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。2.2线性相位FIR低通滤波器的设计MATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个优秀的算法研究与辅助设计的工具。对于线性相位FIR滤波器通常采用窗函数法设计。窗函数设计FIR滤波器基本思想,就是从时域出发,把理想的无限长的错误!未找到引用源。用一定形状的窗函数截取成有限长的错误!未找到引用源。,以此错误!未找到引用源。来逼近错误!未找到引用源。,从而使所得到的频率响应[4]与所要求的理想频率响应错误!未找到引用源。相接近。理想的数字滤波器频率特性错误!未找到引用源。是无法实现的,FIR的设计就是要寻找一个可以得到的频率特性来逼近错误!未找到引用源。,这相当于用一个可实现的单位脉冲响应错误!未找到引用源。去逼近一个理想单位脉冲响错误!未找到引用源。。要想用一个有限长的因果序列去逼近它,最简单的方法是截取n从0~N-1的一段来表示它,即:;当n为其他的数时,。同时,为了保证线性相位,还要满足偶对称:,这就好像通过一个窗口观看到的一段错误!未找到引用源。,因此错误!未找到引用源。就表示成错误!未找到引用源。和一个“窗口函数”的乘积。这样,对错误!未找到引用源。的求解为这里的错误!未找到引用源。就称为窗口函数。窗口函数相当于对在时域上截取一段,势必造成频域的矩形窗口的失真,结果就是截取出的信号也相应失真。为了补偿这种失真,只有改变原来窗口的形状,修正经过时域截取后的窗口失真。改善窗口函数的标准:(1)尽量减少窗口频谱的旁瓣,使能量集中在主瓣中,以减少波动的幅度和次数,提高阻带衰减。这样,主瓣就不能太窄;(2)主瓣的宽度应尽量窄,以得到尽量窄的过渡带。工程中常用的窗函数有以下六种:矩形窗,三角形窗,汉宁窗,汉明窗,布莱克曼窗,凯泽窗(可变窗函数)。2.3具体低通滤波器的设计设计采用汉宁窗。程序如下:wp=0.5*pi;%滤波器边界频率ws=0.66*pi;wdelta=ws-wp;%过渡带宽N=ceil(8*pi/wdelta);%根据过渡带宽得滤波器的阶数Nw=N;wc=(wp+ws)/2;%理想低通滤波器截止频率在通带和阻带边界频率的中点n=0:N-1;alpha=(N-1)/2;%求滤波器的相位延迟m=n-alpha+eps;hd=sin(wc*m)./(pi*m);%求理想滤波器脉冲响应win=hanning(Nw);%采用汉宁窗[h1,w]=freqz(win,1);figure(1);stem(win);%汉宁窗xlabel('n');title('汉宁窗');figure(2);plot(w/pi,20*log(abs(h1)/abs(h1(1))));grid;xlabel('频率/HZ');ylabel('幅度/dB');title('幅频响应');h=hd.*win';%在时间域乘积对应于频率域的卷积b=h;figure(3);[H,f]=freqz(b,1,512,50);%采用50HZ的采样频率绘出滤波器的幅频和相频响应subplot(2,1,1);plot(f,20*log10(abs(H)));xlabel('频率/HZ');ylabel('振幅/dB');gridon;subplot(2,1,2);plot(f,180/pi*unwrap(angle(H)));xlabel('频率');ylabel('相位');f1=5;f2=20;dt=0.02;t=0:dt:3;x=sin(2*pi*f1*t)+cos(2*pi*f2*t);%输入信号y=filter(b,1,x);figure(4);subplot(2,1,1);plot(t,x);title('有噪信号');%有噪信号subplot(2,1,2);plot(t,y);title('去噪信号');holdon;输出结果如下:3.小波变换去噪小波变换(WaveletTransform)的基本思想和传统的傅里叶变换是一致的,它也是用一族函数来表示信号或函数,这一族函数称之为小波函数系,但是小波函数系与其它两种方法所用的简谐函数系不同,它是由一基本小波函数平移和伸缩构成的。它是一种窗口面积恒定,窗口形状可变(时域窗口和频域窗口均可变)的时-频局域化分析方法。3.1小波变换原理一个含噪声的一维信号的模型可表示为:式中,f(i)为真实信号;e(i)为噪声;s(i)为含噪信号。这里以一个简单的噪声模型加以说明,即e(i)为高斯白噪声N(0,1),噪声级为1。在实际工程中,有用信号通常表现为低频信号或较平稳的信号,噪声信号则表现为高频信号,所以去噪过程可按以下方法进行处理[5]。首先对实际信号进行小波分解,选择小波并确定分解层次为N,则噪声部分通常包含在高频中。然后对小波分解的高频系数进行门限阈值量化处理。最后根据小波分解的第N层低频系数和经过量化后的1~N层高频系数进行小波重构,达到消除噪声的目的,即抑制信号的噪声,在实际信号中恢复真实信号。总体上,对于一维离散信号来说,其高频部分所影响的是小波分解的第一层细节,其低频部分所影响的是小波分解的深层和低频层3.1.二位信号用二维小波分析的去噪步骤如下(1)二位信号的小波分解。选择一个小波分解的层次N,然后计算信号s到第N层的分解;(2)对高斯系数进行法制量化。对于从1到N的每一层,选择一个阀值,并对这一层的高斯系数进行软阀值量化处理。(3)二维信号的重构。根据小波分解的第N层的低频系数和经过修改的从第1层到第N层的各层高频系数计算二维信号的小波重构。3.2.小波去噪程序如下%使用小波分析一个由三个频率的正弦信号叠加的信号,将这三个正弦信号区分开来loadsumsin;x=sumsin;figure;subplot(6,1,1);plot(x);ylabel('x');title('原始信号以及各层近似信号');%使用小波进行5层分解[c,l]=wavedec(x,5,'db5');fori=1:5%对分解的第5层到第1层的低频系数分别进行分解a=wrcoef('a',c,l,'db5',6-i);subplot(6,1,i+1);plot(a);ylabel(['a',num2str(6-i)]);endfigure;subplot(6,1,1);plot(x);ylabel('x');fori=1:5%对分解的第5层到第1层的高频系数进行重构d=wrcoef('d',c,l,'db5',6-i);su

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功