《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > TI DSKplus Board在房間聲回授通道特性測量中的應用

TI DSKplus Board在房間聲回授通道特性測量中的應用

2009-03-06
作者:李 輝 王永德

  摘? 要: 介紹一種新的測量房間聲回授通道特性的實驗方法。用TI(Texas Instruments)公司提供的DSKplus Board開發(fā)套件,實現數據的實時發(fā)送和采集,并把采集的數據送入主機保存,以備主機進行房間聲回波通道特性的分析計算。

  關鍵詞: 聲回波對消 DSP芯片 聲回授通道特性

?

  為滿足電視電話會議、車載免提電話、熱線電話等高質量話音通信的需要,一種消極的處理方法是進行功率控制,降低功率增益以不產生嘯叫,這樣做是以犧牲音量為代價的。目前,公認最有效的回聲抑制方法是采用自適應回聲對消。在回波對消的研究過程中,必須有效模擬出講話者所在空間的聲回授通道特性。本文重點介紹利用TI公司開發(fā)的廉價的DSKplus套件,采用白噪聲激勵和譜估計的方法進行房間聲回授系統(tǒng)的離線辨識,并取得了良好的實驗結果。

1 DSKplus Board介紹

  DSKplus Board 是TI公司研制的一種廉價的、為初學者使用的DSP應用開發(fā)板,本開發(fā)板中DSP芯片采用TMS320C542。TMS320C542是一種改進哈佛結構、運算速度可達40MIPS的定點DSP。它具有一個程序存儲器總線,三個數據存儲器總線,17×17位乘法器,一個供非流水線MAC(乘法/加法)使用的專用加法器,一個比較、選擇、存儲單元(Viterbi加速器)。其片內集成有10K字節(jié)的DRAM,2K字節(jié)的引導ROM。其外圍設備包括有:與主機進行通信的主機接口HPI(Host Port Interface),與其他設備進行通信的時分復用串口和緩沖型串口等等。

  DSKplus Board 的模擬通道采用TLC320AC01C芯片,它可同時完成音頻頻帶內分辨率為14位的模-數、數-模轉換,并集成了帶通輸入濾波器和輸出低通濾波器以及sinx/x補償器。其最大的優(yōu)點在于它有一個串行通信口,DSP可通過此串行口以軟件編程方式控制其濾波器的頻帶寬度、截止頻率以及采樣頻率等,并可調整輸入輸出增益。TLC320AC01C的最大采樣頻率可達43.2k,模擬輸入增益可達12dB,輸出衰減可達12dB。

  DSKplus Board與主機通信是利用DSP的HPI進行的。在DSP片內有一容量為2K字節(jié)的內存區(qū),地址從1000h到17FFh,這片內存區(qū)既可以被DSP訪問,也可以被主機訪問。在DSKplus Board中,DSP的HPI通過一片GAL22V10與計算機的并口相連,GAL22V10完成計算機并口信號與HPI信號之間的匹配。這樣,主機就可通過讀寫并口的數據端口、狀態(tài)端口、控制端口來訪問DSP的共享內存區(qū),為主機與DSP之間的數據交換提供了很大方便。

2 系統(tǒng)原理

  測試系統(tǒng)原理見圖1。把虛框部分看作系統(tǒng)h(n),系統(tǒng)的輸入和輸出分別為x(n)和y(n),那么有:

  

  等式兩邊同乘x(n-l),并求期望,得:

  

式中,Rxx(n)為x(n)的自相關函數,Rxy(n)為x(n)與y(n)的互相關函數。對于白噪聲輸入激勵,x(n)的自相關函數為δ-函數,即:

  

代入式(2),則有:

  

  因而,當x(n)為白噪聲時,只需估計出x(n)、y(n)的互相關函數,即可求出聲回授通道的沖激響應。圖1中,A/D、D/A以及與主機通信部分均由DSKplus Board完成。

?

3 軟件實現

  整個系統(tǒng)軟件包括兩部分:DSKplus Board中DSP的運行程序和主機的數據發(fā)送、接收、分析處理程序。

  DSP程序采用TI公司提供的代數語言編寫,其功能包括:對模擬通道TLC320AC01C進行初始化,完成數據的發(fā)送和采集以及與主機之間的數據交換。TLC320AC01C被初始化為:8k/s采樣速率,低通濾波器帶寬為3.6kHz,輸入增益為12dB,輸出增益為0dB。數據的發(fā)送和采集采用中斷方式,由于數據的發(fā)送和采集是同步的,所以只需用同一個中斷服務程序。每當采集緩沖區(qū)(64字節(jié))滿后,就把HPI的控制寄存器HPIC的HINT位置“1”,主機通過檢測這一位的狀態(tài)來接收和發(fā)送數據。

  由于對數據的分析處理需要耗費大量的時間,所以主機程序分為兩部分:數據發(fā)送、接收程序和后續(xù)處理程序。主機程序用C語言編寫。為了能在1/8k秒內完成發(fā)送兩次16位地址、一次16位數據和讀取一次16位數據,數據速率為64KByte/s,加上主機從硬盤讀取數據和把數據寫入硬盤的時間開銷,DSP運行在40MHz時,HPI口的數據傳輸速率可達8MByte/s,主機并口的數據速率卻達不到上述要求。所以發(fā)送數據時,應先把數據讀入內存緩沖區(qū),接收數據時,也應先把數據讀入內存緩沖區(qū),待數據接收完成后,再寫入磁盤,這樣才不會因來不及接收而丟失數據。程序流程見圖2。

?

  后續(xù)處理程序功能包括:偽隨機序列的產生和沖激響應的分析計算。偽隨機序列的產生采用克努特算法,即線性同余算法:

  

式中,M為序列的最長周期,J由不等式

  

  確定。J越大,序列才趨向于更隨機,但J的最大值受機器字長L限制。由式(5)求得的隨機序列In,歸一化后,在(0,1)區(qū)間呈均勻分布,再對序列進行高斯化,并用“3σ原理”進行16位整數化。

  由式(4)知,沖激響應的計算,即是對x(n)、y(n)的互相關函數進行估計。事實上,本文是用有限長數據樣本來估計隨機信號的互相關函數Rxy(k),即:

  

  這表明,當k接近N時,的統(tǒng)計平均與Rxy(k)相差較大。在本文中,當房間沖激響應的有效長度遠小于數據樣本長度N時,這種偏差可以忽略。為了加快計算式(7),先對x(n),y(n)作FFT變換,X(n)的共軛與Y(n)相乘后,再作傅立葉反變換,即求得沖激響應h(n)。但以上過程相當于是對x(n)和y(n)作循環(huán)相關,而實際上h(n)是x(n)和y(n)的線性相關結果。所以,在進行N點FFT變換前,先把x(n)和y(n)的后N/2個點全置零,這樣可避免循環(huán)相關帶來的誤差。為減小矩形數據窗帶來的譜泄漏,程序中采用Hamming窗截取信號,即:

  

  為減小互相關函數的估計方差而引入的h(n)估計方差,在房間設施固定不變的情況下,用不同隨機數種子的隨機序列輸入而求得的h(n)作平均運算,可有效減小h(n)的估計方差。

4 實驗結果

  一次典型的測量數據經過以上處理,得到如圖3所示的結果。圖中,直達聲是從揚聲器出來的聲音經過直線路徑直接到達麥克風的聲音,混響聲是從揚聲器出來的聲音經過房間的墻壁、室內物體等多次反射后到達麥克風的聲音。在理論上,直達聲的響應應該為零,混響以后的響應也應為零。但由于測量時不可避免地存在環(huán)境噪聲以及算法本身存在的誤差,圖中這些響應有較小的起伏??梢怨烙?直達聲從揚聲器到麥克風之間大約有170個采樣點,按8k/s采樣率計算,這段時間為:

  

?

  實際測量時,揚聲器與麥克風相距7.5m,按空氣中聲波傳輸速率340m/s計算,這段時間應為0.02206s。由此看出,實際測量與理論基本相符。

?

參考文獻

1 Texas Instruments Incorporated.TMS320C54X DSP Reference Set.Volume1,1997

2 Texas Instruments Incorporated.TMS320C54X DSKplus?User's Guide,1997

3 Texas Instruments Incorporated.TLC320AC01C Data Manual,1997

4 王永德.隨機信號分析基礎.成都:四川大學出版社,1993

5 王大凱,潘建壽.現代譜估計方法與應用.西安:西北大學出版社,1991

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。