基于matlab的主动降噪实验.doc

上传人:F****n 文档编号:98877850 上传时间:2019-09-15 格式:DOCX 页数:20 大小:648.41KB
返回 下载 相关 举报
基于matlab的主动降噪实验.doc_第1页
第1页 / 共20页
基于matlab的主动降噪实验.doc_第2页
第2页 / 共20页
基于matlab的主动降噪实验.doc_第3页
第3页 / 共20页
基于matlab的主动降噪实验.doc_第4页
第4页 / 共20页
基于matlab的主动降噪实验.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《基于matlab的主动降噪实验.doc》由会员分享,可在线阅读,更多相关《基于matlab的主动降噪实验.doc(20页珍藏版)》请在金锄头文库上搜索。

1、SHANGHAI JIAO TONG UNIVERSITY实验三 主动降噪实验指导老师:王旭永小组成员:吴淑标 汤剑宏 朱安林 村民建房委员会应建立村级农房建设质量安全监督制度和巡查制度,选聘有责任心和具有一定施工技术常识的村民作为义务巡查监督员,开展经常性的巡查和督查。目录一、实验目的1二、实验原理1三、实验仪器3四、实验步骤4五、实验过程5六、程序代码及解释7七、实验数据观察及解释10八、误差分析11九、实验感想12一、实验目的1. 了解噪声的基本概念;2. 了解工程中处理噪声的常规方法;3. 掌握主动降噪的基本原理与方法;4. 通过实验模拟主动降噪,分析降噪效果。二、实验原理 主动降噪(

2、主动噪声控制),又称为有源噪声控制。早在1933年就由德国物理学家Paul Lueg提出了。其主要依据了声波的干涉原理,来消除噪声。主动降噪的基本原理图如图1所示:图1 主动降噪的原理简单的说就是用传感器检测噪声信号,通过控制系统反馈给次声源,由次生源发出与原噪声信号频率相同、幅值大小相同、相位相反的声信号,根据声波叠加原理,达到一种降噪的效果。其逻辑程序框图如图2所示:图2 主动降噪逻辑框图主动降噪,习惯上可以进行如下分类: 1) 有源声控制和有源力控制; 2) 单通道有源控制和多通道有源控制; 3) 非自适应有源控制和自适应有源控制。 对于有源噪声控制系统而言,也可以这样分类:1)模拟系统

3、和数字系统; 2)前馈控制系统和反馈控制系统; 3)单通道系统和多通道系统。 主动降噪的实现: 以单通道有源噪声控制系统为例,这里也分非自适应有源噪声控制系统和自适应有源噪声控制系统。 1) 自适应有源噪声控制系统: 该系统一般由初级声源、自适应控制器、次级声源和误差传感器组成。其特点是控制器带反馈,并具有自适应控制算法,控制器多为数字控制器。这种系统适用的范围宽,相对灵活,但其结构复杂,实现难度加大,成本增加。本系统原理图如图3所示:图3 自适应有源噪声控制系统 本实验主要采用此种控制方式。2) 非自适应有源噪声控制系统:该系统一般由初级声源、控制器、次级声源和传感器组成。其特点是控制器不带

4、反馈,可以是模拟控制器,也可以是数字控制器。这种系统适用的范围有限。影响主动降噪性能的主要因素: 1) 初级声源的类型与特征: 此时,最适合的噪声源是集中参数噪声源,最好是点噪声源。这样,可以使用尽可能少的次级声源获得最大降噪量。 2)次级声源的位置: 一般为获得全局空间噪声能量的降低,在进行次级声源的布置时,应该遵循从空间和时间上完全能够复制初级声场的原则,使得次级声源称为初级声源的“镜像”。 3)传感器(误差传感器)的位置与个数: 对于有源降噪而言,所使用的传感器(误差传感器)位置与个数是至关重要的。因为其位置是否合适,直接影响到获取初级声源的质量;其个数多少关系到降噪效果。 4)参考信号

5、与质量: 参考信号能够获得并质量好,就可以构造性能良好的前馈控制器,因为前馈控制器相对于反馈控制器而言,结构简单,性能易于稳定。5)自适应算法与控制器硬件: 对于宽带噪声的降噪而言,好的自适应算法将扮演重要的角色。它不仅关系着控制器的复杂程度、系统稳定性。因此,一个好的自适应算法应该兼顾收敛性、鲁棒性和计算量三个方面。 控制器硬件设置应该以能够实时地、准确地完成自适应算法为目标。 三、实验仪器 本实验用到的实验设备比较简单:笔记本电脑(图4)、扬声器即音箱(图5)、传感器即麦克风(图6);所使用的编程软件是Matlab,方案简单易行。图5 扬声器图4 笔记本电脑 图6 传感器四、实验步骤1)完

6、成各仪器能否正常工作的检验,保证实验正常进行;2)按计划搭建实验平台,如图7所示;图7 实验整体平台3)打开Matlab软件,将编好的程序烧录其中,准备开始实验;4)选择相对安静的空间,运行程序,程序会自动会输出8张图,分别包括降噪前、后的波形图和幅值频谱图;5)待程序运行完毕,观察最后一次降噪的幅值频谱图,和原噪声进行比较是否达到了降噪的效果,如不满足需要进行调试,再次重复实验;6)满足要求后,结束程序,拆除实验平台,整理实验设备;7)整理相关实验图片和数据,进行数据分析;8)分析实验误差,得出结论并撰写实验报告。五、实验过程实验平台搭建过程:1)选择相对安静的空间环境,将平整的桌面当做实验

7、平台;2)将这对音箱间隔合适的距离对放,并且使发声源在一条直线上,连接电脑USB接口加耳机接口,将其中一个声道当做噪声源,另一个声道做次生源;(本实验并没有选择添加声道)3)把麦克风的接收点放置在上述直线上的任意一点,保持稳定位置不变,连接电脑的USB接口,作为声音传感器。正式实验过程:1) 选择噪声频率1100Hz,声源持续时间为120s,次生源除了相位值与原噪声不同,其余一致,检测控制时间为3s一个循环,目的就是不断改变相位,一切准备就绪,运行程序;2) 第一步为检测程序,结果会识别出原噪声的频率以及相应的幅值,会首先输出两幅图,分别是原噪声信号波形图和幅值频谱图,如图8所示:图8 检测原

8、噪声程序输出结果3) 第二步为降噪第一阶段,次生源会发出和原噪声一致的声信号,以pi/3为精度,不断移动次生源的相位,直到筛选出目标相位(相邻两点叠加后信号的幅值小于原噪声的幅值),此时跳出该循环,并输出另外两幅图,即第一步降噪的信号波形图和幅值频谱图,如图9所示:图9 第一步降噪程序输出结果4) 第三步为降噪第二阶段,目标函数进入第二个循环,以pi/12为精度,不断移动次生源的相位,直到筛选出目标相位(叠加后信号的幅值降低50%),此时跳出该循环,并输出两幅图,即第二步降噪的信号波形图和幅值频谱图,如图10所示:图10 第二步降噪程序输出结果5)第四步为降噪第三阶段,目标函数进入第三个循环,

9、以pi/24为精度,不断移动次生源的相位,直到筛选出目标相位(叠加后信号的幅值降低70%),此时跳出该循环,次生源便以该相位值持续发出信号,即持续降噪效果,输出最后两幅图,即第三步降噪的信号波形图和幅值频谱图,如图11所示:图11 第三步降噪程序输出结果6) 若实验能够成功运行,则结束运行程序,整理实验器材,分析实验数据,并做误差分析。六、程序代码及解释Fs=8192; %采样频率为8192t=1:(120*Fs); %定原噪声发声时间为120syy=zeros(2,120*Fs); %建立两行零矩阵,以存储双声道不同的声信号yy(1,:)=40*sin(2*pi*1100*(t/Fs)-pi

10、/3); %原噪声的发声程序,频率1100Hzsound(yy,Fs); %Matlab发声代码Y=audiorecorder(Fs,16,1); %Matlab声卡采集代码,采样精度为16,单声道disp(Start speaking.); recordblocking(Y,3); %声音收集时间为3sdisp(End of Recording.);y=getaudiodata(Y); %Matlab声信号转化为数值代码figure(1); %Matlab画图代码subplot(241); plot(y); %第一幅图原噪声波形图xlabel(time);ylabel(fuzhi);titl

11、e(原信号波形图);X=fft(y,Fs); %进行傅里叶变换ff=1:Fs;z=abs(X); %将傅里叶变换的结果取绝对值z(1:100)=0; %去除0附近的干扰值z(8000:8192)=0;subplot(242);plot(ff,z); %第二幅图原噪声幅值频谱图title(原信号幅值频谱图);k=find(z=max(z); %找出收集信号幅值最大点对应的频率f=min(k)-1; %取两者较小的频率y2=(2*max(z)/Fs; %以该公式作为衡量幅值大小的工具phi=0; %定初始相位0n=1; %引入变量n,初值赋予1a=zeros(1,100); %用此矩阵实时检测每次

12、循环的降噪效果b=zeros(1,100);while n-3 yy(2,:)=40*sin(2*pi*f*(t/Fs)+phi); %次生源的发声程序 sound(yy,Fs); Y1=audiorecorder(Fs,16,1); disp(Start speaking.); recordblocking(Y1,3); %以3秒为一个检测周期 disp(End of Recording.); y3=getaudiodata(Y1); subplot(243); plot(y3); %第三幅图第一步降噪的波形图 xlabel(time); ylabel(fuzhi); title(降噪1波形

13、图); X2=fft(y3,Fs); %进行傅里叶变换 z=abs(X2); z(1:100)=0; Y2=(2*max(z)/Fs; %使用和衡量原噪声幅值一样的公式 subplot(244); plot(ff,z); %第四幅图第一步降噪的幅值频谱图 title(降噪1幅值频谱图); if Y2=y2 %若降噪后的幅值大于原噪声幅值 phi=phi+pi/3; %将次生源相位向左移动pi/3个单位 else phi=phi+pi/6/n; %否则向左移动pi/6个单位 n=-(abs(n)+1); %跳出该程序 endendprint(1,-dpng,test1); %将输出图片放在相应的

14、文件夹内n=2; %变量n赋予2i=1; %过程监测变量phi=phi+pi/3/(2n); %第一个循环结果的相位值向左移动pi/12while n=2 y4=y2*2*cos(pi/2-pi/3/(2n); %设定第二步降噪的目标精度是50% yy(2,:)=40*sin(2*pi*f*(t/Fs)+phi); %次生源的发声程序 sound(yy,Fs); Y1=audiorecorder(Fs,16,1); disp(Start speaking.); recordblocking(Y1,3); %以3秒为一个检测周期 disp(End of Recording.); y3=getaudiodata(Y1); subplot(245); plot(y3); %第五幅图第二步降噪的波形图 xlabel(time); ylabel(fuzhi); title(降噪2波形图); X2=fft(y3,Fs); %进行傅里叶变换 z=abs(X2); z(1:100)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号