基于Matlab的主动降噪实验Word格式.docx

上传人:b****2 文档编号:280755 上传时间:2023-04-28 格式:DOCX 页数:17 大小:614.75KB
下载 相关 举报
基于Matlab的主动降噪实验Word格式.docx_第1页
第1页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第2页
第2页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第3页
第3页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第4页
第4页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第5页
第5页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第6页
第6页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第7页
第7页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第8页
第8页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第9页
第9页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第10页
第10页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第11页
第11页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第12页
第12页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第13页
第13页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第14页
第14页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第15页
第15页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第16页
第16页 / 共17页
基于Matlab的主动降噪实验Word格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于Matlab的主动降噪实验Word格式.docx

《基于Matlab的主动降噪实验Word格式.docx》由会员分享,可在线阅读,更多相关《基于Matlab的主动降噪实验Word格式.docx(17页珍藏版)》请在冰点文库上搜索。

基于Matlab的主动降噪实验Word格式.docx

2)单通道有源控制和多通道有源控制;

3)非自适应有源控制和自适应有源控制。

对于有源噪声控制系统而言,也可以这样分类:

1)模拟系统和数字系统;

2)前馈控制系统和反馈控制系统;

3)单通道系统和多通道系统。

主动降噪的实现:

以单通道有源噪声控制系统为例,这里也分非自适应有源噪声控制系统和自适应有源噪声控制系统。

1)自适应有源噪声控制系统:

该系统一般由初级声源、自适应控制器、次级声源和误差传感器组成。

其特点是控制器带反馈,并具有自适应控制算法,控制器多为数字控制器。

这种系统适用的范围宽,相对灵活,但其结构复杂,实现难度加大,成本增加。

本系统原理图如图3所示:

图3自适应有源噪声控制系统

本实验主要采用此种控制方式。

2)非自适应有源噪声控制系统:

该系统一般由初级声源、控制器、次级声源和传感器组成。

其特点是控制器不带反馈,可以是模拟控制器,也可以是数字控制器。

这种系统适用的范围有限。

影响主动降噪性能的主要因素:

1)初级声源的类型与特征:

此时,最适合的噪声源是集中参数噪声源,最好是点噪声源。

这样,可以使用尽可能少的次级声源获得最大降噪量。

2)次级声源的位置:

一般为获得全局空间噪声能量的降低,在进行次级声源的布置时,应该遵循从空间和时间上完全能够复制初级声场的原则,使得次级声源称为初级声源的“镜像”。

3)传感器(误差传感器)的位置与个数:

对于有源降噪而言,所使用的传感器(误差传感器)位置与个数是至关重要的。

因为其位置是否合适,直接影响到获取初级声源的质量;

其个数多少关系到降噪效果。

4)参考信号与质量:

参考信号能够获得并质量好,就可以构造性能良好的前馈控制器,因为前馈控制器相对于反馈控制器而言,结构简单,性能易于稳定。

5)自适应算法与控制器硬件:

对于宽带噪声的降噪而言,好的自适应算法将扮演重要的角色。

它不仅关系着控制器的复杂程度、系统稳定性。

因此,一个好的自适应算法应该兼顾收敛性、鲁棒性和计算量三个方面。

控制器硬件设置应该以能够实时地、准确地完成自适应算法为目标。

三、实验仪器

本实验用到的实验设备比较简单:

笔记本电脑(图4)、扬声器即音箱(图5)、传感器即麦克风(图6);

所使用的编程软件是Matlab,方案简单易行。

图6传感器

四、实验步骤

1)完成各仪器能否正常工作的检验,保证实验正常进行;

2)按计划搭建实验平台,如图7所示;

图7实验整体平台

3)打开Matlab软件,将编好的程序烧录其中,准备开始实验;

4)选择相对安静的空间,运行程序,程序会自动会输出8张图,分别包括降噪前、后的波形图和幅值频谱图;

5)待程序运行完毕,观察最后一次降噪的幅值频谱图,和原噪声进行比较是否达到了降噪的效果,如不满足需要进行调试,再次重复实验;

6)满足要求后,结束程序,拆除实验平台,整理实验设备;

7)整理相关实验图片和数据,进行数据分析;

8)分析实验误差,得出结论并撰写实验报告。

五、实验过程

实验平台搭建过程:

1)选择相对安静的空间环境,将平整的桌面当做实验平台;

2)将这对音箱间隔合适的距离对放,并且使发声源在一条直线上,连接电脑USB接口加耳机接口,将其中一个声道当做噪声源,另一个声道做次生源;

(本实验并没有选择添加声道)

3)把麦克风的接收点放置在上述直线上的任意一点,保持稳定位置不变,连接电脑的USB接口,作为声音传感器。

正式实验过程:

1)选择噪声频率1100Hz,声源持续时间为120s,次生源除了相位值与原噪声不同,其余一致,检测控制时间为3s一个循环,目的就是不断改变相位,一切准备就绪,运行程序;

2)第一步为检测程序,结果会识别出原噪声的频率以及相应的幅值,会首先输出两幅图,分别是原噪声信号波形图和幅值频谱图,如图8所示:

图8检测原噪声程序输出结果

3)第二步为降噪第一阶段,次生源会发出和原噪声一致的声信号,以pi/3为精度,不断移动次生源的相位,直到筛选出目标相位(相邻两点叠加后信号的幅值小于原噪声的幅值),此时跳出该循环,并输出另外两幅图,即第一步降噪的信号波形图和幅值频谱图,如图9所示:

图9第一步降噪程序输出结果

4)第三步为降噪第二阶段,目标函数进入第二个循环,以pi/12为精度,不断移动次生源的相位,直到筛选出目标相位(叠加后信号的幅值降低50%),此时跳出该循环,并输出两幅图,即第二步降噪的信号波形图和幅值频谱图,如图10所示:

图10第二步降噪程序输出结果

5)第四步为降噪第三阶段,目标函数进入第三个循环,以pi/24为精度,不断移动次生源的相位,直到筛选出目标相位(叠加后信号的幅值降低70%),此时跳出该循环,次生源便以该相位值持续发出信号,即持续降噪效果,输出最后两幅图,即第三步降噪的信号波形图和幅值频谱图,如图11所示:

图11第三步降噪程序输出结果

6)若实验能够成功运行,则结束运行程序,整理实验器材,分析实验数据,并做误差分析。

六、程序代码及解释

Fs=8192;

%采样频率为8192

t=1:

(120*Fs);

%定原噪声发声时间为120s

yy=zeros(2,120*Fs);

%建立两行零矩阵,以存储双声道不同的声信号

yy(1,:

)=40*sin(2*pi*1100*(t/Fs)-pi/3);

%原噪声的发声程序,频率1100Hz

sound(yy,Fs);

%Matlab发声代码

Y=audiorecorder(Fs,16,1);

%Matlab声卡采集代码,采样精度为16,单声道

disp('

Startspeaking.'

);

recordblocking(Y,3);

%声音收集时间为3s

EndofRecording.'

y=getaudiodata(Y);

%Matlab声信号转化为数值代码

figure

(1);

%Matlab画图代码

subplot(241);

plot(y);

%第一幅图原噪声波形图

xlabel('

time'

ylabel('

fuzhi'

title('

原信号波形图'

X=fft(y,Fs);

%进行傅里叶变换

ff=1:

Fs;

z=abs(X);

%将傅里叶变换的结果取绝对值

z(1:

100)=0;

%去除0附近的干扰值

z(8000:

8192)=0;

subplot(242);

plot(ff,z);

%第二幅图原噪声幅值频谱图

原信号幅值频谱图'

k=find(z==max(z));

%找出收集信号幅值最大点对应的频率

f=min(k)-1;

%取两者较小的频率

y2=(2*max(z))/Fs;

%以该公式作为衡量幅值大小的工具

phi=0;

%定初始相位0

n=1;

%引入变量n,初值赋予1

a=zeros(1,100);

%用此矩阵实时检测每次循环的降噪效果

b=zeros(1,100);

whilen>

-3

yy(2,:

)=40*sin(2*pi*f*(t/Fs)+phi);

%次生源的发声程序

sound(yy,Fs);

Y1=audiorecorder(Fs,16,1);

disp('

recordblocking(Y1,3);

%以3秒为一个检测周期

y3=getaudiodata(Y1);

subplot(243);

plot(y3);

%第三幅图第一步降噪的波形图

xlabel('

ylabel('

title('

降噪1波形图'

X2=fft(y3,Fs);

z=abs(X2);

z(1:

Y2=(2*max(z))/Fs;

%使用和衡量原噪声幅值一样的公式

subplot(244);

plot(ff,z);

%第四幅图第一步降噪的幅值频谱图

降噪1幅值频谱图'

ifY2>

=y2%若降噪后的幅值大于原噪声幅值

phi=phi+pi/3;

%将次生源相位向左移动pi/3个单位

else

phi=phi+pi/6/n;

%否则向左移动pi/6个单位

n=-(abs(n)+1);

%跳出该程序

end

end

print(1,'

-dpng'

'

test1'

%将输出图片放在相应的文件夹内

n=2;

%变量n赋予2

i=1;

%过程监测变量

phi=phi+pi/3/(2^n);

%第一个循环结果的相位值向左移动pi/12

whilen<

=2

y4=y2*2*cos(pi/2-pi/3/(2^n));

%设定第二步降噪的目标精度是50%

subplot(245);

%第五幅图第二步降噪的波形图

降噪2波形图'

subplot(246);

%第六幅图第二步降噪的幅值频谱图

降噪2幅值频谱图'

Y2=2*max(z)/Fs;

=y4%若降噪后的幅值未满足效果要求

phi=phi-pi/3/(2^n);

%将次生源相位向右移动pi/12个单位

n=n+1;

%否则跳出该程序

strcat('

C:

\Users\zhuanlin\Documents\MATLAB\3'

num2str(i),'

.png'

));

a(i)=Y2;

i=i+1;

=3

y5=y2*0.3;

%设定第三步降噪的目标精度是70%

subplot(247);

%第七幅图第三步降噪的波形图

timet'

fuzhin'

降噪3波形图'

subplot(248);

%第八幅图第三步降噪的幅值频谱图

降噪3幅值频谱图'

b(i)=Y2;

=y5%若降噪后的幅值未满足效果要求

%将次生源相位向右移动pi/24个单位

yy(2,:

%次生源会一直发出最佳相位所对应的声信号

七、实验数据观察及解释

本实验整体结果图如图12所示:

图12降噪结果

1)从第二幅图中可以看出,原噪声频率1100Hz下对应的幅值在Matlab标度下对应值为36.5;

2)在第四幅图中,以pi/3为相位移动精度的第一步降噪结果幅值为22.5,降噪效果为38%;

3)从第六幅图中可以发现,以pi/12为相位移动精度结果,幅值最大时对应的声音频率并不是1100Hz,经分析是由于外界干扰,尽管如此原噪声仍然达到了50%的降噪效果;

4)最后一幅图以pi/24为相位移动精度,显示的幅值大小为13.5,降噪效果73%,非常理想;

5)降噪效果同时也可以根据这几个处理过程的波形图观察得出。

八、误差分析

本次实验结果显示降噪效果为73%,效果在我们小组数次尝试过程中是相对较好的,但是距离完全消除噪声仍有一段差距,从理论上讲也不可能有100%的降噪效果,本实验结果达到了实验要求,下面主要从仪器误差、方法误差、人为误差三方面来分析造成实验结果误差的原因。

1)仪器误差

使用Matlab发声程序会有误差,程序已经运行了但是由于计算机的音箱还没有完全打开,导致前部分的发声信号不完整;

所使用的音箱左右声道发出的声音并不是完全一致的,而且放置的位置也不可能完全达到在同一条直线上;

声音传感器接收的声信号与程序编写的也会有误差,接收点的位置不同也会影响实验效果。

2)方法误差

我们采用的主动降噪方法即为声波的叠加原理,但是由于声波是球面波,叠加的时候并不是简单的公式相加,会有不定向的干涉,而且我们小组并没有采用声道,这也大大增加了误差的可能性。

3)人为误差

尽管我们选择了相对安静的环境,但是我们仍然不能保证没有其它频率的声波干扰(相同频率的干扰误差更大),就如图10所示的现象,其它频率声音的幅值大于我们噪声的幅值也是非常有可能的,我们仅通过观察幅值频谱图而没有观察波形图,其实已经大大降低了误差的可能性,在以后的学习中我们将学习运用滤波器函数,使显示结果更加直观、清晰。

九、实验感想

通过对本实验的原理、实验设计、实验过程到最后效果的检验,我们小组的同学学到了很多东西。

本身声学方面我们机械专业涉及的就相对较少,只在大学物理课程中有初步的理解,这次对声波的叠加原理有了更加深层次的认识。

由于主动降噪在生活中会有比较实用的价值,我们的实验设计思想在以后仍然会有用处。

本次实验的最大难处就是编程,同样我们机械专业的同学编程能力普遍较弱,但是鉴于这次机会,我们小组的同学该能力有了不错的提升,既然决定用Matlab编程,我们就借鉴的网上的循环语句思想,不断修改程序并进行实验验证,整个过程大致持续了5~6周的时间,才达到了最终的效果。

声学实验本身就是比较烦躁,我们小组反反复复做这个实验,也体现了我们团队协作能力和吃苦耐劳精神,在此过程中朱安林同学的贡献最大。

最后感谢王旭永老师的指导和帮助。

(范文素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2