TIDSKplusBoard在房間聲回授通道特性測量中的應用
摘要:介紹一種新的測量房間聲回授通道特性的實(shí)驗方法。用TI(Texas Instruments)公司提供的DSKplus Board開(kāi)發(fā)套件,實(shí)現數據的回時(shí)發(fā)送和采集,并把采集的數據送入主機保存,以備主機進(jìn)行房間聲回波通道特性的分析計算。
本文引用地址:http://dyxdggzs.com/article/242293.htm關(guān)鍵詞:聲回波對消 DSP芯征 聲回授通道特性
為滿(mǎn)足電視電話(huà)電話(huà)會(huì )議、車(chē)載免提電話(huà)、熱線(xiàn)電話(huà)等高質(zhì)量話(huà)音通信的需要,一種消極的處理方法是進(jìn)行功率控制,降低功率增益以不產(chǎn)生嘯叫,這樣做是以犧牲音量為低價(jià)的。目前,公認最有效的回改朝換聲抑制方法是采用自適應回聲對消。在回波對消的研究過(guò)程中,必須有效模擬出講話(huà)者所在空間的聲回授通道特性。本文重點(diǎn)介紹利用TI公司開(kāi)發(fā)的廉價(jià)的DSKplus套件,采用白噪聲激勵和譜估計的方法進(jìn)行房間聲回授系統的離線(xiàn)辨識,并取得了良好的實(shí)驗結果。
1 DSKplus Board介紹
DSKplus Board是TI公司研制的一種廉價(jià)的、為初學(xué)者使用的DSP應用開(kāi)發(fā)板,本開(kāi)發(fā)板中DSP芯片采用TMS320C542。TMS320C542是一種改進(jìn)哈佛結構、運算速度可達40MIPS的定點(diǎn)DSP。它具有一個(gè)程序存儲器總線(xiàn),三個(gè)數據存儲器總線(xiàn),17×17位乘法器,一個(gè)供非流水線(xiàn)MAC(乘法/加法)使用的專(zhuān)用加法器,一個(gè)比較、選擇、存儲單元(Viterbi加速器)。其片內集成有10K字節的DRAM,2K字節的引導ROM。其外圍設備包括有:與主機進(jìn)行通信的主機接口HPI(Host Port Interface),與其他設備進(jìn)行通信的時(shí)分復用串口和緩沖型串口等等。
DSKplus Board的模擬通道采用TLC320AC01C芯片,它可同時(shí)完成音頻頻帶內辨率為14位的模-數、數-模轉換,并集成了帶通輸入濾波器和輸出低通濾波器以及Sinx/x補償器。其最大的優(yōu)點(diǎn)在于它有一個(gè)串行通信口,DSP可通過(guò)對此串行口以軟件編程方式控制其濾波器的頻帶寬度、截止頻率以及采樣頻率等,并可調整輸入輸出增益。TLC320AC01C的最大采樣頻率可達43.2K,模擬輸入增益可達12dB,輸出衰減可達12d B。
DSKplus Board與機通信是利用DSP的HPI進(jìn)行的。在DSP片內有一容量為2K字節的內存區,地址從1000h到17FFh,這片內存區既可以被DPS訪(fǎng)問(wèn),也可以被主機訪(fǎng)問(wèn)。在DSKplus Board中,DSP的HPI通過(guò)一片GAL22V10與計算機的并口相連,GAL22V10完成計算機并口信號與HPI信號之間的匹配。這樣,主機就可通過(guò)讀寫(xiě)并口的數據端口、狀態(tài)端口、控制端口來(lái)訪(fǎng)問(wèn)DSP的共享內存區,為主機與DSP之間的數據交換提供了很大方便。
2 系統原理
測試系統原理見(jiàn)圖1。把虛框部分看作系統h(n),系統的輸入和輸出分別為x(n)和y(n),那么有:

式中,Rxx(n)為x(n)的自相關(guān)函數,Rxy(n)為x(n)與y(n)的互相關(guān)函數。對于白噪聲輸入激勵,x(n)的自相關(guān)函數為δ_函數,即:
Rzz(n)= δ(n) (3)
代入式(2),則有:
h(l)=Rxy(l) (3)
因而,當x(n)為白噪聲時(shí),只需估計出x(n)、y(n)的互相關(guān)函數,即可求出聲回授通道的沖激響應。圖1中,A/D、D/A以及與主機通信部分均由DSKplus Board完成。
3 軟件實(shí)現
整個(gè)系統軟件包括兩部分:DSKplus Board中DSP的運行程序和主機的數據發(fā)送、接收、分析處理程序。
DSP程序采用TI公司提供的代數語(yǔ)言編寫(xiě),其功能包括:對模擬通道TLC320AC01C進(jìn)行初始化,完成數據的發(fā)送和采集以及與主機之間的數據交換。TLC320AC01C被初始化為:8k/s采樣速率,低通濾波器帶寬為3.6kHz,輸入增益為12dB,輸出增益為0dB。數據的發(fā)送和采集采用中斷方式,由于數據的發(fā)送和采集是同步的,所以只需用同一個(gè)中斷服務(wù)程序。每當采集緩沖區(64字節)滿(mǎn)后,就把HPI的控制寄存器HPIC的HINT位置“1”,主機通過(guò)檢測這一位的狀態(tài)來(lái)接收和發(fā)送數據。
由于對數據的分析處理需要耗費大量的時(shí)間,所以主機程序分為兩部分:數據發(fā)送、接收程序和后續處理程序。主機程序用C語(yǔ)言編寫(xiě)。為了能在1/8k秒內完成發(fā)送兩次16位地址、一次16位數據和讀取一次16位數據,數據速率為64Kbyte/s,加上主機從硬盤(pán)讀取數據和把數據寫(xiě)入硬盤(pán)的時(shí)間開(kāi)銷(xiāo),DPS運行在40MHz時(shí),HPI口的數據傳輸速率可達8Mbyte/s主機并口的數據速率卻達不到上述要求。所以發(fā)送數據時(shí),應先把數據讀入內存緩沖區,接收數據時(shí),也應先把數據讀入內存緩沖區,待數據接收完成后,再寫(xiě)入磁盤(pán),這樣才不會(huì )因來(lái)不及接收而丟失數據。程序流程見(jiàn)圖2。
后續處理程序功能包括:偽隨機序列的產(chǎn)生和沖激響應的分析計算。偽隨機序更的產(chǎn)生采用克努特算法,即線(xiàn)性同余算法:
In+1=(J·In+1)modM (5)
式中,M為序列的最長(cháng)周期,J由不等式
J·(M-1)2的L次方 (6)
確定。J越大,序列才趨向于更隨機,但J的最大值受機器字長(cháng)L限制。由式(5)求得的隨機序列In,歸一化后,在(0,1)區間呈均勻分布,再對序列進(jìn)行高斯化,并用“3σ原理”進(jìn)行16位整數化。
由式(4)知,沖激響應的計算,即是對x(n)、y(n)的互相關(guān)函數進(jìn)行估計。事實(shí)上,本文是用有限長(cháng)數據樣本來(lái)估計隨機信號的互相關(guān)函數Rxy(k),即:

這表明,當k接近N時(shí),R'xy(k)的統計平均與Rxy(k)相差較大。在本文中,當房間沖激響應的有效長(cháng)度遠小于數據樣本長(cháng)度N時(shí),這種偏差可以忽略。為了加快計算式(7),先對x(n),y(n)作FFT變換,X(n)的共軛與Y(n)相乘后,再作傅立葉反變換,即求得沖激響應h(n)。但以實(shí)際上h(n)是x(n)和y(n)的線(xiàn)性相關(guān)結果。所以,在進(jìn)行N點(diǎn)FFT變換前,先把x(n)和y(n)的后N/2個(gè)點(diǎn)全置零,這樣可避免循環(huán)相關(guān)帶來(lái)的誤差。為減小矩形數據窗帶來(lái)的譜泄漏,程序中采用Hamming窗截取信號,即:
w(t)=0.54-0.46cos(2πt/T) (9)
為減小互相關(guān)函數的估計方差而引入的h(n)估計方差,在房間設施固定不變的情況下,用不同隨機數種子的隨機序列輸入而求得的h(n)作平均運算,可有效減小h(n)的估計方差。
4 實(shí)驗結果
一次典型的測量數據經(jīng)過(guò)以上處理,得到如圖所示的結果。圖中,直達聲是從場(chǎng)聲器出來(lái)的聲音經(jīng)過(guò)直線(xiàn)路徑直接到達麥克風(fēng)的聲音,混響聲是從揚聲器出來(lái)的聲音經(jīng)過(guò)房間的墻壁、室內物體等多次反射后到達麥克風(fēng)的聲音。在理論上,直達聲的響應應該為零,混響以后的響應也應為零。但由于測量時(shí)不可避免地存在環(huán)境噪聲以及算法本身存在的誤差,圖中這些響應有較小的起伏??梢怨烙?,直達聲從揚聲器到麥克風(fēng)之間大約有170個(gè)采樣點(diǎn),按8k/s采樣紡計算,這段時(shí)間為:
td=170/8000=0.02125s
實(shí)際測量時(shí),揚聲器與麥克風(fēng)相距7.5m,按空氣中聲波傳輸速率340m/s計算,這段時(shí)間應為0.02206s,由此看出,實(shí)際測量與理論基礎相符。
評論