版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于matlab的频谱分析及信号去噪仿真研究摘 要本课题为基于matlab的频谱分析及信号去噪仿真研究,是综合运用数字信号处理的理论知识,对含噪声的信号进行去噪处理,并对信号的时域和频域进行分析。通过理论推导得出相应结论,再利用 matlab 作为编程工具进行计算机实现。本文主要围绕着信号的去噪进行研究,包括给定信号的去噪,以及信号的频谱分析。应用数字信号处理的相应理论,以matlab为实验工具,分别设计了iir滤波器以及fir滤波器对给定噪声信号进行去噪。在设计实现的过程中,使用窗函数法来设计fir数字滤波器,用巴特沃斯设计iir数字滤波器,并利用matlab 作为辅助工具完成设计中的计算与
2、图形的绘制,与此同时也利用了均值滤波和中值滤波的方法对噪声信号进行处理,并分析了不同去噪方法所适用的信号类型。通过对给定信号的去噪仿真,对比不同去噪方式的去噪效果。文中对不同去噪方法的去噪效果以及对不同信号适应什么样的去噪方法进行了详细的阐述,使人们今后在进行信号去噪时可以更有针对性的选择去噪方法。关键词 : 频域分析; 滤波器; 中值滤波;均值滤波spectrum analysis and signal denoisingbased on the matlababstractthe topic is spectrum analysis and signal denoising based o
3、n the matlab, it is comprehensive use of the knowledge of the digital signal processing, to denoise the signal containing noise, and analyze the signal in time domain and frequency domain. the the corresponding result get through theoretical derivation, then, using matlab as a programming tool for c
4、omputer implementation. this paper mainly focuses on the research of signal denoising, including the given signal denoising, as well as the signal spectrum analysis,the corresponding theoretical application of digital signal processing,taking matlab as experimental tools,designed iir filter and fir
5、filter denoising for a given noise signals. to design fir digital filter with window function method,design of iir digital filter with butterworth , drawing the result use of matlab as a tool to complete the calculation and graphic design,at the same time also used the method of mean filter and medi
6、an filter to the noise signal,and analysis of the different types of signal for denoising method. by the denoising simulation for the given signal, comparing the different denoising methods denoising effect.this topic were studied with the problem of signal denoising, denoising effect analysis of di
7、fferent signal denoising method as well as the different signal to adapt to what kind of denoising method is further explained, so that people can be more targeted selection of denoising method in signal denoising in the future.key words: frequency-domain analysis; filter ; median filter; mean filte
8、r;ii目 录摘 要iabstractii第1章 绪论11.1课题背景11.2 研究意义21.3 本文研究的主要内容2第2章信号的频谱分析42.1 频谱分析简介42.2采样定理42.3 快速傅立叶变换52.4 离散傅立叶变换62.5频谱分析原理62.6 信号的频谱分析72.7 本章小结14第3章 典型信号去噪方法153.1 iir和fir滤波器的设计153.2 典型信号的去噪对比173.2.1 iir低通滤波器去噪173.2.2 fir低通滤波器去噪203.2.3 iir与fir滤波器处理结果的比较分析233.3 中值滤波与均值滤波243.3.1 中值滤波243.3.2 均值滤波243.3.3
9、均值法与中值法滤波效果的比较24第4章 实测信号的去噪仿真29第5 章 总 结38参考文献40致 谢4143第1章 绪论1.1课题背景 随着信息时代的来临,信号的作用在人们生活中愈加凸显,而数字信号处理也成为了当前一门极重要的学科。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁
10、。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。 对于信号来说,任何一个信号都具有时域和频域的特性,也就是说信号的频谱可以完全代表信号,所以信号的频谱分析在数字信号处理中是一种较为重要的工具。随着数字信号处理越来越受到人们的重视,数字滤波器的重要性也逐
11、渐增加了,数字滤波器是数字信号处理中很重要的一部分,数字滤波器可以通过数值计算实现滤波。而且数字滤波器体积小、处理精度高、稳定,具有模拟滤波器无法实现的功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即:有限冲激响应( fir,finite impulse response)滤波器和无限冲激响应( iir,infinite impulse response)滤波器。在信号的去噪中,滤波器有着重要的作用。在工程领域中,matlab是一种倍受程序开发人员青睐的工具,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算法matlab显得游刃有余。1
12、.2 研究意义在现实生活中,信号处理几乎涉及到所有的工程领域,而信号的去噪又是信号处理中很重要的一部分,在现今的各种信号中,噪声一般分为两类:相干噪声和随机噪声,相干噪声包括面波,多次波等,随机噪声包括测量误差,环境噪声等。信号去噪用于从受污染的信号中提取出有用信息,去除干扰,提高信号的信噪比,人们根据信号和噪声的各种差异设计了不同的的去噪方法,对信号滤除噪声的方法大致分为三种:基于傅立叶变换的去噪法,相干平均去噪法和基于小波变换的去噪法,这些去噪方法都在实际应用中取得了很好的效果,其中一部分信号去噪的方法是利用短时傅立叶变换来滤波去噪的,但是短时傅立叶变换不能同时兼顾时域和频域,所以使用不同
13、的滤波器滤波也是一种不错的方法。频谱分析是信号处理的一种重要手段,一般的频谱分析由频谱分析仪来完成,这样的坏处是体积过大,价格昂贵,不便于工作人员使用,而利用matlab进行频谱分析则不会有这样的顾虑。1.3 本文研究的主要内容第一章绪论,阐述了论文的研究背景,对现阶段的研究意义进行了分析,在最后介绍了本文的研究工作和论文结构。第2章 主要介绍了信号频谱分析的主要原理以及所用到的一部分数学理论,例如:采样定理,快速傅立叶变换,离散傅立叶变换等。使用matlab软件对信号进行频谱分析, 在对信号分析处理的过程中阐述了信号频谱所表达的意义,以及信号频谱分析的方法。 第三章中介绍了有代表性的几种去噪
14、方法,并对这几种方法进行了仿真实验,用不同的信号去噪方法通过对相同信号的去噪来对比各种方法的优缺点。第四章主要为信号去噪的仿真研究,对给定的实测数据进行去噪,并挑选最合适的方法对其进行去噪,实现对有用信号的提取及分析,观察最后的去噪结果。第五章进行全面总结,分析各种去噪方法的优劣。第2章 信号的频谱分析2.1 频谱分析简介工程上的所谓“频谱分析”就是对信号进行“傅里叶变换”,把本来随时间变化的信号表示方式变换为随频率变化的“频谱函数”方式。原则上说,所有的信号都是由不同频率的正弦波组成的。频谱分析就是找出该信号含有哪些频率的正弦波成分,它们的幅度和相位分别是多少?在许多情况下从按照时间变化的信
15、号本身看不出什么问题,但经过频谱分析以后,找出了它的频率成分,问题就显露出来了。所以频谱分析在军事、地震、生物医学、机械振动及通信等领域都有着广泛应用。由时间函数求频谱函数的傅里叶变换公式就是将该时间函数乘以以频率为系数的指数函数之后,在从负无限大到正无限大的整个区间内,对时间进行积分,这样就得到了与这个时间函数对应的,以频率为自变量的频谱函数。频谱函数是信号的频域表示方式。根据上述傅里叶变换公式,可以求出常数(直流信号)的频谱函数为频域中位于零频率处的一个冲激函数,表示直流信号就是一个频率等于零的信号。与此相反,冲激函数的频谱函数等于常数,表示冲激函数含有无限多个、频率无限密集的正弦成分。同
16、样的,单个正弦波的频谱函数就是频域中位于该正弦波频率处的一对冲激函数。 2.2采样定理采样定理是于1928年由美国电信工程师h.奈奎斯特首先提出来的,因此被称为奈奎斯特采样定理。苏联工程师科捷利尼科夫在1933年首次用公式严格地表述这一定理,因此在苏联文献中称为科捷利尼科夫采样定理。信息论的创始人c.e.香农在1948年对这一定理加以明确地说明并正式作为定理引用,因此在许多文献中又称为香农采样定理。采样定理有许多表述形式,但最基本的表述方式是时域采样定理和频域采样定理。采样定理在数字式遥测系统、时分制遥测系统、信息处理、数字通信和采样控制理论等领域得到广泛的应用。频带为f的连续信号f(t)可用
17、一系列离散的采样值f(t1),f(t1t),f(t12t),.来表示,只要这些采样点的时间间隔t1/2f,便可根据各采样值完全恢复原来的信号f(t)。这是时域采样定理的一种表述方式。时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fm时,f(t)的值可由一系列采样间隔小于或等于1/2fm的采样值来确定,即采样点的重复频率f2fm。 也就是说当基带信号的信号采样频率大于等于二倍的信号最高频率时,那么在采样过程中信号便不会失真。对连续信号x(t)以间隔t采样,可以得到离散序列为x(k) = x(kt)/t = kt,如图2.1所示:图2.1 离散信号波形图信号x(t)与x(k
18、)的频谱之间的关系是:,其中的频谱为,x(k)的频谱为。2.3 快速傅立叶变换快速傅里叶变换是1965年由j.w.库利和t.w.图基提出的。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数n越多,fft算法计算量的节省就越显著。有限长序列可以通过离散傅里叶变换(dft)将其频域也离散化成有限长序列。但其计算量太大,很难实时地处理问题,因此引出了快速傅里叶变换(fft) 。1965年,cooley和tukey提出了计算离散傅里叶变换(dft)的快速算法,将dft的运算量减少了几个数量级。从此,对快速傅里叶变换(fft)算法的研究便不断深入,数字信号处理这门
19、新兴学科也随fft的出现和发展而迅速发展。根据对序列分解与选取方法的不同而产生了fft的多种算法,基本算法是基2dit和基2dif。fft在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。在matlab中,有各种快速傅立叶变换的函数,例如:fft、ifft、fft2 、ifft2、 fftn、ifftn和fftshift、ifftshift等。其中fft的调用方式有以下几种:(1)y = fft(x),(2)y = fft(x,n),(3)y =fft(x,dim)或y = fft(x,n,dim)。2.4 离散傅立叶变换离散傅里叶变换(dft),是连续傅里叶变换在时域和频域上都离散的
20、形式,将时域信号的采样变换为在离散时间傅里叶变换(dtft)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作dft,也应当将其看作经过周期延拓成为周期信号再作变换。在实际应用中通常采用快速傅里叶变换以高效计算dft。 有限长序列想x(n)的离散傅立叶变换(dft)为:,逆变换为:,2.5频谱分析原理我们应该知道单单进行时域的分析只能得到信号幅值随时间变化的情况,而对于信号的频率组成以及各频率的分量的大小都很难明确提示出,但是利用频谱分析却可以很好的解决这类问题,因为我们从频域上可以得到频率信息。在进
21、行频谱分析时,我们一般将信号进行傅立叶变换之后的结果以图形的方式变现出来,因为这样可以更加直观的变现信号的频谱特性。以频率f为横坐标、|y(f)|为纵坐标可以得到幅值谱,以频率f为横坐标、arg y(f)为纵坐标可以得到相位谱,以频率f为横坐标、re y(f)为纵坐标可以得到实频谱,以频率f为横坐标、im y(f)为纵坐标可以得到虚频谱。2.6 信号的频谱分析(1)正弦信号的频谱分析:原信号为y=,信号的频谱图如图 2.2:图 2.2 正弦信号频谱图在图2.2中,我们可以看到,正弦信号频率大都集中在10hz的位置上。图 2.3 正弦信号功率谱图图2.3所示为正弦信号的功率谱,根据信号的表达式,
22、信号频率应为10hz。功率谱的幅值应为频谱图的平方。正弦信号频谱分析代码如下:fs=100;%设定采样频率n=128;n=0:n-1;t=n/fs;f0=10;%设定正弦信号频率%生成正弦信号x=sin(2*pi*f0*t);figure(1);subplot(221);plot(t,x);%作正弦信号的时域波形xlabel(t);ylabel(y);title(正弦信号y=sin(2*pi*10t)时域波形);grid;%进行fft变换并做频谱图y=fft(x,n);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)*fs/length(y);%进行对应的频率转
23、换figure(1);subplot(222);plot(f,mag);%做频谱图axis(0,100,0,80);xlabel(频率(hz);ylabel(幅值);title(正弦信号y=sin(2*pi*10t)幅频谱图n=128);grid;sq=abs(y);%求功率谱power=sq.2;figure(1);subplot(223);plot(f,power);xlabel(频率(hz);ylabel(功率谱);title(正弦信号y=sin(2*pi*10t)功率谱);grid;%用ifft恢复原始信号xifft=ifft(y);magx=real(xifft);ti=0:leng
24、th(xifft)-1/fs;figure(1);subplot(224);plot(ti,magx);xlabel(t);ylabel(y);title(通过ifft转换的正弦信号波形);grid;(2) 图像信号频谱分析:纹理图像的频谱可以通过离散傅里叶变换(dft)得到。用表示一幅空域纹理图像,用表示该图像的频谱,图像的大小为mn,则和质检可以通过dft计算,计算公式如下:其中能量谱可采用公式:基于傅立叶能量谱的纹理图像分析的前提是假设纹理有不同的正弦波组成。理想正弦分布的纹理图像,是最为典型的纹理图像之一,下面讨论理想正弦分布的纹理图像的仿真及其频谱特征分析。编写下面的程序获得具有理想
25、正弦分布的空域纹理图像,其中a为正弦纹理的幅值,uf0、vf0分别为x轴(垂直方向)、y轴(水平方向)方向的模拟频率,m、n分别为x轴、y轴的采样的点数,tsu、tsv分别为x、y轴的采样间隔,为了便于观察和处理,取tsu=1/m、tsv= 1/n,即x轴、y轴的采样频率分别为m和n,这样在空域中得到了01范围的纹理图像(如考虑成时域抽样信号的话,相当于在01s间的抽样)。 a=1;uf0=0;vf0=25;m=200;n=200;tsu = 1/m; tsv = 1/n; r = 0:m-1; c = 0:n-1; c,r = meshgrid(c,r); g = a * sin(2*pi*
26、uf0 * r * tsu + 2 * pi * vf0 * c * tsv); f = mat2gray(g); figure imshow(f)程序中输出变量g返回的是实际的理想正弦函数的取值,f返回的是g平移后的结果(取值限定在01范围内)。 在matlab软件中仿真得到的一副具有理想正弦分布的纹理图像如图2.4所示。图2.4 纹理图像然后利用fft算法对上面图像信号进行频谱分析。程序代码为:i=imread(1.tif)i = rgb2gray( i );imshow(i);ffti=fft2(i);sffti=fftshift(ffti);rr=real(sffti);ii=imag
27、(sffti);a=sqrt(rr.2+ii.2);a=(a-min(min(a)/(max(max(a)-min(min(a)*225;figure;imshow(a);在matlab中执行了fft后,使用了fftshift函数调整,以使频谱图像的原点从起始点(0,0),移到图像的中心点(m/2,n/2),对应的图2.5的傅立叶频谱能量图。从图中可以看出:竖直方向理想单一频率的正弦分布纹理的频谱能量集中在水平方向的三个点。图2.5 纹理频谱图(3)离散信号/序列离散时间周期信号能够用具有谐波关系的复指数序列的线性组合来表示,称为离散傅里叶级数。将这一概念推广应用到离散时间非周期信号,认为离散
28、时间非周期信号也能够用具有谐波关系的复指数序列的线性组合来表示。当离散时间周期信号的周期n趋于无穷大时,则离散时间周期信号就转化为离散时间非周期信号,其离散频谱就转化为连续频谱,称为离散时间傅里叶变换(discrete time fourier transform,dtft)。 以,采样频率100hz,采样100个点,形成离散信号,利用matlab进行频谱分析。程序如下:n=100;fs=100;t=(0:(n-1)/fs; xn=1+2*sin(2*pi*10*t)+3*sin(2*pi*15*t); xk=abs(fft(xn,n);f=(0:n/2)*fs/n; xk(1)=xk(1)/
29、n;xk(2:(n/2+1)=xk(2:(n/2+1)*2/n; stem(f,xk(1:(n/2+1);axis(-1 n/2 0 5); grid on;xlabel(f(hz);ylabel(|x( f )|);程序运行结果如图3-4所示。图2.6 n=100离散信号频谱从图2.6可以看出,dft法分析的结果和实际信号吻合得很好,说明该方法确实有效。但是,需要注意的是,离散傅里叶变换在频域是离散的,即限制在基频整数倍上,只能得到信号 k 次谐波成分的幅值谱,而对于非k次谐波成分的频谱则无法检测出来,并且由于栅栏效应和频谱泄漏,对其它k次谐波的幅值也有影响。如将上述程序中的n=100改为n
30、=50,结果如图2.7所示。 图2.7 n=50离散信号频谱可以看出,由于基频频率为100/50=2hz,x(t)中的15hz分量未检测出来,其它频率分量的幅值也出现了误差,这种栅栏效应也是 dft 应用中不可避免的问题之一。要减小栅栏效应和频谱泄漏,可以减小采样频率,增加采样点数,以减小基频值,使谱线变密,这样原来漏掉的某些频谱成分就可以检测出来,但注意采样频率必须满足采样定理的要求,增加采样点数也会增加系统计算 dft 的开销。2.7 本章小结在本章中,前五节介绍了频谱分析所用到的数学理论,分别为采样定理,快速傅立叶变换,离散傅立叶变换,介绍了频谱分析基本原理以及对数字信号处理的重要性,阐
31、述了频谱分析的方法,在最后的2.6节种对几种典型信号进行了简单的频谱分析。第3章 典型信号去噪方法3.1 iir和fir滤波器的设计iir滤波器和fir滤波器的设计方法完全不同。iir滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数h(s),然后将h(s)按某种方法转换成数字滤波器的系统函数h(z)。fir滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用fir滤波器。对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类
32、型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。具体设计步骤如下:(1)确定所需类型数字滤波器的技术指标。(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为=2/ttan(0.5)(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。(4)设计模拟低通滤波器。(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。
33、下面我们总结一下利用模拟滤波器设计iir数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。如前所述,iir滤波器和fir滤波器的设计方法有很大的区别。下面我们着重介绍用窗函数法设计fir滤波器的步骤。如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度n。先按照阻带衰
34、减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h(n)。(4)加窗得到设计结果。在matlab中,可以利用函数fir1设计fir滤波器,利用函数butter,cheby1和ellip设计iir滤波器,利用matlab中的函数freqz画出各步步器的频率响应。hn=fir1(m,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir默认为哈明窗。其中可选的rectangularbarlrtthamminghannblackman窗,其相应的都有实现函数。matlab信号处理工具箱函数bu
35、ttpbuttorbutter是巴特沃斯滤波器设计函数,其有5种调用格式,本文中用到的是n,wc=butter(n,wc,rp,as,s),该格式用于计算巴特沃斯模拟滤波器的阶数n和3db截止频率wc。matlab信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫i型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:b,a=cheby1(n,rp,wpo,ftypr)b,a=cheby1(n,rp,wpo,ftypr,s)函数butter,cheby1和ellip设计iir滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。3
36、.2 典型信号的去噪对比3.2.1 iir低通滤波器去噪对正弦信号加噪声之后再进行去噪,利用iir滤波的方法去除噪声。正弦信号为 x=a*cos(2*pi*f*t/fs),其中:a=1,f=1000,fs=105。程序代码如下:clf;ft=9000;fp=100;fs=300;wp=2*pi*fp/ft;ws=2*pi*fs/ft;fp=2*ft*tan(wp/2);fs=2*fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,s); %求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %求s域的频率响应的参数 num11,de
37、n11=bilinear(b11,a11,0.5); %双线性变换实现s域到z域的变换 h,w=freqz(num11,den11); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);legend(用butter设计);grid;a=1;%信号的幅值 f=1000;%信号的频率 fs=105; %采样频率 t=(0:999); %采样点 mlag=100; %相关函数长度变量x=a*cos(2*pi*f*t/fs); %输入正弦波信号 xmean=mean(x); %正弦波信号均值 xvar=var(x,1);%正弦波信号方差 xn=awgn(x,5); %给正弦波信
38、号加入信噪比为20db的高斯白噪声 figure(1) plot(t,xn)%绘制输入信号图像 title(输入信号图像) xlabel(x轴单位:t/s,color,b) ylabel(y轴单位:f/hz,color,b) s=fft(x); %傅里叶变换z11=filter(num11,den11,xn);m11=fft(z11); %求滤波后的信号figure(1);subplot(2,1,1);plot(abs(s),g);title(滤波前信号的频谱);grid;figure(1);subplot(2,1,2);plot(abs(m11),r);title(滤波后信号的频谱);gri
39、d;figure(2);subplot(2,1,1);plot(xn);title(滤波前信号的波形);grid;figure(2);subplot(2,1,2);plot(z11);title(滤波后的信号波形);图 3.1 正弦信号频谱图图 3.1为滤波前后的频谱对比图。图 3.2 去噪前后噪声对比图图3.2为滤波前后的信号波形对比图,可以看到,利用iir低通滤波器虽然仍有小部分的噪声,信号并不完全平滑,但是绝大部分的噪声已经被滤除。3.2.2 fir低通滤波器去噪设计fir滤波器对信号进行去噪,信号为加噪声的正弦信号,信号表达式为x=cos(2*pi*f*t/fs),其中,f=1000,
40、fs=105。程序代码如下:a=1;%信号的幅值 f=1000;%信号的频率 fs=105; %采样频率 t=(0:999); %采样点 mlag=100; %相关函数长度变量x=a*cos(2*pi*f*t/fs); %输入正弦波信号 xmean=mean(x); %正弦波信号均值 xvar=var(x,1);%正弦波信号方差 xn=awgn(x,5); %给正弦波信号加入信噪比为20db的高斯白噪声 figure(1) plot(t,xn)%绘制输入信号图像 title(输入信号图像) xlabel(x轴单位:t/s,color,b) ylabel(y轴单位:f/hz,color,b) %
41、fir滤波 wp=0.1*pi; %通带截止频率 ws=0.6*pi; %阻带截止频率 db=ws-wp; %过渡带宽度n0=ceil(6.6*pi/db);m=n0+mod(n0+1,2);%计算fir滤波器阶数 wc=(wp+ws)/2/pi;%计算理想低通滤波器通带截止频率(关于归一化) hn=fir1(m,wc);%调用fir1计算firdf的h(n) y1n=filter(hn,1,xn); %将输入信号通过fir滤波器 figure(3) plot(y1n)%绘制经过fir滤波器后信号图像 title(经过fir滤波器后信号图像) xlabel(x轴单位:f/hz,color,b)
42、ylabel(y轴单位:a/v,color,b)图 3.3 噪声信号波形图图 3.4 去噪后的信号波形图以上两个图分别为信号加噪声后的波形图以及利用fir进行去噪后的波形图,可以看到,图 3.4 为去噪后的图像,与图3.3相比,信号由大部分被滤掉了,但是,从图中我们可以看到,信号并不十分平滑,没有如原信号一样,依旧残余了少部分噪声,但最为重要的是,信号出现了失真,在滤掉噪声的同时,也使信号有所损失。3.2.3 iir与fir滤波器处理结果的比较分析iir数字滤波器采用递归型结构,即结构上带有反馈环路。iir滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型
43、、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (1)iir数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。fir滤波器则要求较低。(2)与fir滤波器的设计不同,iir滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在matlab下设计不同类型iir滤波器均有与之对应的函数用于阶数的选择。 (3)iir单位响应为无限脉冲序列fir单位响应为有限的 。(4)iir幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感
44、的音频信号上。(5)fir幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变。这是很好的性质。 (6)iir滤波器有噪声反馈,而且噪声较大,fir滤波器噪声较小。(7)iir滤波器运算误差大,有可能出现极限环振荡,fir相比之下运算误差较小,不会出现极限环振荡。iir幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上。3.3 中值滤波与均值滤波3.3.1 中值滤波中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像
45、素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=medf(x-k,y-l),(k,lw) ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。w为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。3.3.2 均值滤波均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替
46、原来像素值。均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m f(x,y) m为该模板中包含当前像素在内的像素总个数。3.3.3均值法与中值法滤波效果的比较利用中值滤波方法与均值滤波方法对同一信号进行去噪对比,观察去噪效果,信号为正弦信号,y=1*sin(2*pi*f2*t),f2=5。程序代码如下:clear all;t=0:0.0
47、1:1;f2=5;y=1*sin(2*pi*f2*t);h=length(y);x=y+0.1*randn(1 ,h);figure(1);subplot(2,1,1);plot(t,y,r);title(生成一个正弦信号);grid;legend y;subplot(2,1,2);plot(t,x,r);title(加入噪声的信号);grid;legend x;x=1:length(x)for x=1:length(x)z1=smooth(x,3);%m=3时的均值滤波?endfor x=1:length(x)z2=smooth(x,5);%m=5时的均值滤波?endfor x=1:leng
48、th(x)z3=smooth(x,7);%m=7时的均值滤波?endfigure(2)subplot(3,1,1);plot(z1,r);title(m=3时的均值滤波处理后的信号);grid;subplot(3,1,2);plot(z2,g);title(m=5时的均值滤波处理后的信号);grid;subplot(3,1,3);plot(z3,b);title(m=7时的均值滤波处理后的信号);grid;for x=1:length(x) l1= median(x,3);endfor x=1:length(x) l2= median(x,5);endfor x=1:length(x) l3=
49、 median(x,7);endfigure(3)subplot(3,1,1);plot(l1,r);title(m=3时的中值滤波处理后的信号);grid;subplot(3,1,2);plot(l2,g);title(m=5时的中值滤波处理后的信号);grid;subplot(3,1,3);plot(l3,b);title(m=7时的中值滤波处理后的信号);grid;图3.5 正弦信号波形图图3.5为正弦信号的原信号与加入噪声后的信号波形图。图3.6 均值滤波波形图图3.6是经过均值滤波后的信号波形图,根据上图我们可以得知,均值滤波对于该信号的去噪效果很好,但是在去噪过程中,原信号已经变得
50、失真了,而且对比图像可知,当m值变大时失真也随之变大。图 3.7 中值滤波波形图图3.7为中值滤波效果对比图,在图中我们可以发现,滤波效果不明显,所以,在此信号的去噪中,均值滤波的效果要远远好于中值滤波。对于均值滤波来说,取不同的模板对噪声信号进行滤波,信号的开头和结尾的值不会变化,中间值取模板的平均值进行替换,对边缘效果滤波不明显,m取值越小,滤波后越接近原始波形。对于中值滤波来说,取不同的模板对噪声信号进行滤波,只是取模板的中间值替换,开始和结尾的信号都不能过滤掉,可以对信号进行模糊化处理。在相同的情况下,均值滤波比中值滤波的边缘化处理效果要好。第4章 实测信号的去噪仿真本章的主要内容是对
51、给定的实测信号进行去噪仿真,实测信号共有三组,皆为.mat类型的文件,对这三组信号采用不同的去噪方式,观察去噪后的信号波形图,分析实测信号最佳的信号去噪方式。各个信号的去噪过程如下所示:(1)对实测信号x1的去噪仿真,信号波形图如下所示:图4.1 信号一波形图在对信号去噪的过程中,对待不同类型的信号,我们应采取不同的去噪方法,以求取得最好的去噪效果,对信号x1的去噪,我采用自己设计的iir低通滤波器与均值滤波器相结合的方式,之后再对滤波后的结果运用中值滤波法,希望可以对信号的去噪产生更好的效果。其中iir滤波器的设计参数为:ft=9000,fp=400,fs=1500.程序代码如下:ft=90
52、00;fp=400;fs=1500;wp=2*pi*fp/ft;ws=2*pi*fs/ft;fp=2*ft*tan(wp/2);fs=2*fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,s); %求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %求s域的频率响应的参数 num11,den11=bilinear(b11,a11,0.5); %双线性变换实现s域到z域的变换 h,w=freqz(num11,den11); %根据参数求出频率响应load x1;s=fft(x); %傅里叶变换z11=filter(num11,de
53、n11,x);m11=fft(z11); %求滤波后的信号x=1:length(z11)for x=1:length(z11)z1=smooth(z11,3);%m=3时的均值滤波?endsubplot(3,1,1);plot(x);title(原信号波形);subplot(3,1,2);plot(z1,r);title(m=3时的均值滤波处理后的信号);grid;y29=medfilt1(z1,29);subplot(3,1,3);plot(y29);title(中值滤波后波形);图 4.2 第一组实测信号去噪波形图上图4.2为第一组信号进行滤波之后的图形,根据图形我们可知,红色部分的信号为
54、经过低通与均值处理后的信号图,但是,与原图像相比,虽然有一部分的噪声被降低,但是噪声依旧存在,而第三幅图为在经过低通与均值滤波后的信号再经过中值处理后的信号,虽然还有小部分的噪声,但是绝大部分的噪声已经不存在,去噪效果良好。(2)对实测信号x2的去噪仿真,信号x2波形如图所示:图4.3 实测信号二波形图经过观察第二组信号的图像,我们可以发现,信号x2的噪声比信号x1的噪声更加稠密,对此,我打算首先使用最为传统的fir低通滤波器对其进行去噪。fir滤波器参数如下:ft=8000,fp=5,fs=30;程序代码如下:clf;ft=8000;fp=5;fs=30;wp=2*fp/ft;ws=2*fs/ft;rp=1;rs=50;p=1-10.(-rp/20); %通带阻带波纹s=10.(-rs/20);fpts=wp ws;mag=1 0;dev=p s;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);%kaiserord求阶数截止频率b21=fir1(n21,wn21,kaiser(n21+1,beta); %由fir1设计滤波器h,w=freqz(b21,1); %得到频率响应plot(w/pi,abs(h);title(fir低通滤波器);load x2; s=fft(x2); %傅里叶变换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江师范大学《规范字与书法》2023-2024学年第一学期期末试卷
- 郑州体育职业学院《视频传播实务》2023-2024学年第一学期期末试卷
- 长春师范大学《社会治理》2023-2024学年第一学期期末试卷
- 榆林职业技术学院《户外拓展与定向运动》2023-2024学年第一学期期末试卷
- 食用菌栽培基质废弃物降解
- 硕士职场竞争力
- 秋分节气与粮食安全
- 农业创新路演
- 学校文化建设上墙标语
- 会计辞职报告范文
- 公司费用预算表格模板(详细版)
- 华为经营管理-华为市场营销体系(6版)
- 2023年中国育龄女性生殖健康研究报告
- 钢结构加工厂考察报告
- 发电机检修作业指导书
- 薪酬与福利管理实务-习题答案 第五版
- 废旧物资处置申请表
- GB/T 37234-2018文件鉴定通用规范
- GB/T 31888-2015中小学生校服
- 质量检查考核办法
- 云南省普通初中学生成长记录-基本素质发展初一-初三
评论
0/150
提交评论