资源描述:
《信号与系统simulink声音的录制播放滤波》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、综合训练②实验内容:利用matlab中simulink工具,从计算机声卡中录取音频文件。在matlab中利用该音频文件,产生带回音的音频文件,要求回音产生的次数、间隔、大小可以调整,并通过simulink从声卡播放混有回音的音频文件。再设计去回音的系统,消除音频中的回音,在通过simulink从声卡播放消去回音的音频文件。实验步骤:一、利用simulink从声卡录取音频文件,并产生回声。分析:录取音频文件,则需要利用一个接收信号的装置和一个储存信号的装置。若要产生回声则需要一个信号的衰减和一个信号
2、的延迟共同作用。如图所示,其中话筒型装置用来收集外部声音信号,通过一个放大器和一个延迟器,再与原信号共同叠加变成回声信号,其中右下角的装置用来收集声音信号。喇叭装的装置用来输出声音信号。(理论上也可以采用负反馈的方式来使原信号产生回声)经过回声叠加以后产生的音频信号如图所示。一、消除音频中的回声分析:若要消除音频中的回声,则需要做一个滤波器,则先应该把其延迟和回声大小大概估计,然后将延迟的信号过滤掉。[y,fs,nbits]=wavread('output');figure(1)r=xcorr(y
3、);plot(r);gridon;title('y的自相关函数');[u,v]=max(r);r1=r;r1(v-100:v+100,1)=0;[u1,v1]=max(r1);N=v-v1;%利用自相关函数求出回声延迟a=[1,zeros(1,384),0.5];b=1;z=filter(1,a,y);t=[0:441343];figure(2),plot(t,z,'r',t,y,'b'),gridon;title('带回声的音频信号,回声衰减a=0.5');xlabel('t');sound(z
4、,44100);以上程序利用wavread读取声音信号,然后再对回声延迟和回声衰减进行估计。此为过滤前的输出波形:然后此为过滤后的输出波形:以下为滤波程序:loadlineup.matsound(y,8192);a=[1,zeros(1,999),0.5];b=1;z=filter(1,a,y);t=linspace(0,0.855,7000);figure(1),plot(t,0.5*z,'r',t,0.5*y,'b'),gridon;title('带回声的信号与回声消除之后的信号进行对比');
5、xlabel('t');sound(z,8192);三、通过simulink从声卡播放消去回音的音频文件分析:将上述已经过滤了的波形进行保存.mat,然后通过与simulink中自带的喇叭相连,就可以播放出声音来。Loui荣誉巨献