资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于基于MATLAB的噪声消除方法的噪声消除方法答答 辩辩 人人 :徐:徐 苏苏 美美指导教师:杨卫平教授指导教师:杨卫平教授2021/6/71论文的指导思想21世纪的社会是信息化社会,我们生活中的每一天都离不开数字信号。随着信息、微电子学科和计算机技术的飞速发展,数字信号处理的理论在过去30年中得到了飞速的发展,其技术的应用范围也越来越广泛,程度也越来越复杂,因而对于算法及其实现的研究更显重要。采用何种语言实现算法更方便,效率更高,对于数字信号处理极其重要。研究表明,应用MATLAB语言开发数字信号处理系统是非常高效实用的。目前,MATLAB已经广泛地应用于工程设计的各个领域。如电子、通信等领域。它已经成为国际上最流行的计算机仿真软件设计工具。现在的MATLAB不再仅仅是一个矩阵实验室,而是一种实用的、功能强大的,不断更新的高级计算机编程语言 2021/6/72论文结构论文框架研究背景消除噪声的相关内容算法流程对比试验结论2021/6/73MATLAB简介MATLAB是一种科学计算软件,专门以矩阵的形式处理数据,它将高性能的数值计算和可视化集成在一起,集科学计算、自动控制、信号处理、图像处理、神经网络和小波分析等于一体,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制计算、信息处理等领域的分析,仿真和设计工作中。MATLAB产品族可以用来进行数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、通信系统设计与仿真、财务与金融工程等。与其他计算机语言相比,它的特点是简洁和智能化,具有极高的编程和调试效率。2021/6/74噪声的定义与分类噪声的定义与分类噪声即不属于原信号且混杂在原信号中很难分离的部分。信号处理中一般认为噪声是有害的,即它“污染”了信号。噪声的本质是能量的一种无序运动,从宏观和微观上看物质总是不停的运动,在大量有序运动的同时总存在着一些无序的运动,从这个意义上说噪声是不可避免的,但是通过技术处理,可以把噪声降到最低程度。噪声有很多不同的类型,来源于电磁辐射、电子装置中电子器件的热噪声;对模拟信号抽样时所产生的量化噪声;有限位运算(+,-,*,/)所产生的舍入误差噪声;在信号处理中为了模拟所研究的客观对象,常常需要人为地产生不同类型的噪声,最常用的一种噪声模型是所谓“白噪声(White noise)”,白噪声的名称来源于白色光的性质,意即在白噪声中含有所有的频率的成分,显然,这是一种理想化的模型。2021/6/75去噪方法的有关研究去噪方法的有关研究去除噪声是信号处理中的永恒话题,也是普遍关注并研究的问题之一,研究人员已经提出了很多去除噪声的方法,有滤波、小波变换等方法。传统的建立在傅里叶变换基础上的去噪声方法,在提高信噪比和提高空间分辨率两项指标上存在矛盾。低通滤波能通过平滑抑制噪声,但同时会使信号的边沿变模糊。高通滤波可以使信号边沿更加的陡峭,但背景噪声也同时被加强了。相比之下,小波变换作为一种新型的时频分析方法,由于其具有良好的时频局部性,并且有快速算法(Mallat算法)加以实现,因而在去噪领域受到了越来越多的关注。Mallat曾于1992年利用奇异信号和随机噪声在多尺度空间中不同的模极大值特性设计了一种小波消噪方法,但这种方法对奇异性大的信号,效果比较好,而对奇异性小的信号,效果不太理想。2021/6/76白噪声 MATLAB中的rand.m和randn.m文件可用来分别产生服从均匀分布和高斯分布的白噪声信号。 1.用MATLAB命令: x = rand(1, N) 可产生在区间(0,1)中均值为0.5、均匀分布的长度为N的随机信号。由rand(1, N)给出的噪声功率为pu=1/12 2.用MATLAB命令: x = randn(1, N) 可产生长度为N的且具有零均值和单位方差的正态分布的随机信号。2021/6/77 有一信号x(n),设其中含有真实的信号s(n),并含有噪声u(n),若x(n)可表示为 被加性噪声x(n) = s(n) + u(n)2021/6/78有关信噪比的计算白噪声的功率pu用其方差来定义。假定信号s(n)的功率为ps,则定义x(n) = s(n) + u(n) 中信号x(n)的信噪比(Signal noise rate,SNR)为 SNR=10 lg(ps/ pu)(dB) 2021/6/79正弦信号的功率表达式:指数信号的功率表达式: 2021/6/710实验的算法流程实验的算法流程产生噪声信号产生真实信号产生被污染的信号对被污染的信号进行平滑处理,产生新的信号改变信噪比观察对不同信噪比的信号处理的效果2021/6/711实验的基本算法实验的基本算法假定信号sn被噪声dn所污染,得到了一个含有噪声的信号xn=sn+dn。目的是对xn进行运算,产生一个合理逼近sn的信号yn。因此,对时刻n样本附近的一些样本求平均,产生输出信号是一种简单有效的方法。实验中采用三点滑动平均算法: yn=1/3(xn-1+xn+xn+1)2021/6/712三点滑动平均算法在三点滑动平均算法在MATLAB中的实现:中的实现:x1=0 0 x;x2=0 x 0;x3=x 0 0;y=(x1+x2+x3)/3;2021/6/713两种不同类型的信号以及同种类型但不同信噪比的信号,采用三点滑动平均算法处理后的效果比较: 设s = A * sin(arg); d = rand(1, N) * sqrt(12 * p);即真实信号为正弦信号的情 况:2021/6/714其中A = 2,按公式可得s的功率ps=2,而噪声功率pu=0.06,则计算得信噪比SNR = 15.23dB ,运行后图象如下:2021/6/715 其中A = 1,按公式可得s的功率ps=0.5,而噪声功率pu=0.01,则计算得信噪比SNR = 17.00dB ,运行后图象如下:2021/6/716设s = 3*m.*(a.m); d = 0.8 * rand(1, r);真实信号为指数信号的情况:2021/6/717其中a = 0.9,按照公式可得s的功率ps = 5.26,而噪声功率pu = 1/12;计算可得信噪比SNR = 18.00dB 的图像:2021/6/718其中a = 0.8,按照公式可得s的功率ps = 2.78,而噪声功率pu = 1/12;计算可得信噪比SNR = 15.23dB 的图像: 2021/6/719实验结论对被加性噪声“污染”的正弦序列信号、指数序列信号均可用三点滑动平均算法进行平滑。根据给出的仿真结果表明该算法是一种简单有效的减弱噪声的方法,并可对不同类型、不同信噪比的被“污染”信号进行处理。这种方法可以很好地应用于需要减弱噪声的情况。另外,由于算法较为简单,仅对去除相对简单的噪声有效。对于较为复杂的噪声,还应采用更加先进的去噪算法。该算法可以推广到M点滑动平均算法,表达式为 Yn= 2021/6/720附录(程序一)clear;%清除旧变量clf;%清除旧图形p=0.06;%白噪声的功率f=0.1;%正弦信号的频率N=100;%正弦信号的长度u=rand(1,N);u=u-mean(u);%产生均值为零的信号a=sqrt(12*p);%实现开方,得到所需的功率d=u*a;%产生一均匀分布,均值为零,功率为p的噪声m=0:N-1;A=2;%正弦信号的振幅arg=2*pi*f*0:N-1;s=A*sin(arg); %产生未污染的正弦信号x=s+d;%产生被加性噪音污染的信号figure(name,平滑信号);%产生上子图subplot(2,1,1);2021/6/721plot(m,d,b-,m,s,r-,m,x,g-.);xlabel(时间序号t);ylabel(振幅);legend(dt ,st ,xt );%区分不同的信号title(被加性噪音污染的信号);grid on;%三点滑动平均算法 x1=0 0 x;x2=0 x 0;x3=x 0 0;y=(x1+x2+x3)/3;%产生下子图subplot(2,1,2);plot(m,y(2:N+1),g-,m,s,r-);legend(yt ,st );xlabel(时间序号t);ylabel(振幅);title(平滑后的信号);grid on;2021/6/722程序二clfr=51;d=0.5*rand(1,r);%产生随机噪声m=0:r-1;s=3*m.*(0.9.m);%产生未污染的信号x=s+d;%产生被噪音污染的信号subplot(2,1,1);plot(m,d,r-,m,s,g-,m,x,b-.);xlabel(时间序号n);ylabel(振幅);legend(dn ,sn ,xn );x1=0 0 x;x2=0 x 0;x3=x 0 0;y=(x1+x2+x3)/3;subplot(2,1,2);plot(m,y(2:r+1),r-,m,s,g-);legend(yn ,sn );xlabel(时间序号n);ylabel(振幅)2021/6/723部分资料从网络收集整理而来,供大家参考,感谢您的关注!
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号