李丹鳳 方 倪 張修娟 胡安正
(湖北文理學(xué)院物理與電子工程學(xué)院 湖北 襄陽 441053)
基于MATLAB的回音抵消器的設(shè)計(jì)
李丹鳳 方 倪 張修娟 胡安正
(湖北文理學(xué)院物理與電子工程學(xué)院 湖北 襄陽 441053)
通訊技術(shù)的迅速發(fā)展迫切需要通訊設(shè)備的快速更新.比如語音通訊用戶對語音通訊質(zhì)量的要求就越來越高,但在語音通話過程中,由于聲學(xué)回聲問題處理不當(dāng)就會(huì)對通訊質(zhì)量造成較大影響.為解決聲學(xué)回聲問題,通過MATLAB設(shè)計(jì)出一種回音抵消器,包括先合成回音,再利用逆系統(tǒng)法對回音進(jìn)行消除,同時(shí)保留正常的語音信號(hào),從而為解決語音通訊中由于聲學(xué)回聲問題引起的語音質(zhì)量變差提供了一種解決方案.
MATLAB 回音抵消 逆系統(tǒng) 濾波
在MATLAB中,利用Wavread對原始聲音信號(hào)采樣,設(shè)置采樣頻率,對原始信號(hào)的時(shí)域波形以及進(jìn)行傅立葉變換后的幅值進(jìn)行分析.通過卷積的思想使原始聲音信號(hào)與延遲衰減的聲音信號(hào)疊加在一起,合成有回音的聲音信號(hào),接著對有回音的聲音信號(hào)進(jìn)行分析.再利用逆系統(tǒng)法消除回音,得到最終的聲音信號(hào)與原始聲音信號(hào)進(jìn)行對比,框架如圖1所示.
圖1 整體設(shè)計(jì)框圖
2.1 利用MATLAB對原始聲音信號(hào)文件進(jìn)行分析
fs=8192;%采樣頻率
[x,fs]=wavread('huiyin1.wav');%提取原始聲音信號(hào)
sound(x,fs);%聽原始聲音
N=length(x);
subplot(2,1,1);plot(x(1:N));title('原始信號(hào)波形');
y=fft(x,N);%對原始信號(hào)進(jìn)行傅立葉變化
subplot(2,1,2);plot(abs(y));title('原始信號(hào)幅值');
分析:通過FFT變換可以明顯的觀察到,原始波形的信號(hào)主要分布在2~5 kHz和50 kHz頻率左右.
圖2 原始信號(hào)的波形和傅里葉變化后的波形
2.2 回音的產(chǎn)生原理
在一個(gè)原始聲音脈沖后跟著一段衰減延遲后的原始聲音脈沖,在離散時(shí)間情況下,其單位脈沖響應(yīng)可表示為
其中pk為衰減因子,δ為單位脈沖序列.假如原始聲音信號(hào)為x(n),則實(shí)際聽到的聲音為Y(n)=x(n)*h(n);
[x,fs]=wavread('huiyin1.wav');%提取原始聲音信號(hào)
N=length(x);x1=x(1:N);
h=[1,zeros(1,8819),0.4];
y=conv(x1,h);%原始聲音信號(hào)與延遲聲音信號(hào)的卷積
subplot(2,1,1);plot(y);title('含回音信號(hào)的波形');
y1=fft(y);%對回音信號(hào)進(jìn)行傅立葉變化
subplot(2,1,2);plot(abs(y1));title('含回音信號(hào)的幅值');
sound(y,fs);%聽有回音信號(hào)
圖3 回音信號(hào)的波形和傅里葉變化后的波形
分析:通過FFT變換可以明顯地觀察到,有回音波形的信號(hào)主要分布在2~5 kHz和60 kHz頻率左右.與原始信號(hào)相比,高頻波形有明顯的延遲.
2.3 利用逆系統(tǒng)法對回音進(jìn)行消除
2.3.1 逆系統(tǒng)法基本思想
若將回音系統(tǒng)的實(shí)現(xiàn)端對端地翻轉(zhuǎn)過來,并改變反饋信號(hào)的符號(hào),就得到其逆系統(tǒng)從而消除仿真音樂信號(hào)x(n)中的回音,逆系統(tǒng)框圖如圖4所示.
圖4 逆系統(tǒng)框架結(jié)構(gòu)圖
2.3.2 回音消除原理
在合成的回音信號(hào)中還原原始信號(hào),以此達(dá)到消除回音的目的.設(shè)計(jì)一個(gè)逆系統(tǒng)g(n)=1/h(n),利用卷積的方法,使單位脈沖g(n)滿足x(n)=y(n)*g(n).
b=[1];a=[1,zeros(1,8819),0.4];n=[0:N];
K=impz(b,a,n);%離散時(shí)間系統(tǒng)單位脈沖響應(yīng)A=conv(y,K);%脈沖與有回音的函數(shù)卷積去掉回音
subplot(2,1,1);plot(A);title('還原信號(hào)的波形');
y2=fft(A);%對恢復(fù)聲音信號(hào)進(jìn)行傅立葉變化subplot(2,1,2);plot(abs(y2));title('還原信號(hào)的幅值');
sound(A,fs);%聽恢復(fù)后聲音信號(hào)
圖5 還原信號(hào)的波形和傅里葉變化后的波形
分析:可以把本次設(shè)計(jì)的原始信號(hào)和消除后的信號(hào)進(jìn)行比較,可以看出兩次的波形是一樣的,兩次的FFT變換后的波形圖也可以看出兩種情況下的頻率分布也是相匹配的,從而能反應(yīng)出來此次的系統(tǒng)設(shè)計(jì)是非常合理的.
本文首先利用MATLAB工具產(chǎn)生回音,然后通過逆系統(tǒng)法對回音進(jìn)行消除,利用MATLAB工具對消除前和消除后的波形進(jìn)行對比分析,通過觀察兩者之間的特點(diǎn),可以很明顯地看出此次的系統(tǒng)設(shè)計(jì)是非常合理的,最后利用MATLAB工具對消除后的信號(hào)進(jìn)行回放,可以聽出效果的改善是非常明顯的,可以很好地利用到實(shí)際生活中.
1 高西全,丁玉美.數(shù)字信號(hào)處理.西安:西安電子科技大學(xué)出版社,2008.08
2 李敏,編.MATLAB與信號(hào)與系統(tǒng)實(shí)驗(yàn)指導(dǎo)書.2013
3 高成.MATLAB圖像處理與應(yīng)用.北京:國防工業(yè)出版社,2007.04
4 董振海.精通MATLAB7編程與數(shù)據(jù)庫應(yīng)用.北京:電子工業(yè)出版社,2007.09
李丹鳳(1995- ),女,在讀本科生.指導(dǎo)教師:胡安正(1965- ),男,博士,教授,主要研究方向?yàn)殡娮蛹夹g(shù)應(yīng)用.
2017-01-02)