TIDSKplusBoard在房間聲回授通道特性測(cè)量中的應(yīng)用
摘要:介紹一種新的測(cè)量房間聲回授通道特性的實(shí)驗(yàn)方法。用TI(Texas Instruments)公司提供的DSKplus Board開(kāi)發(fā)套件,實(shí)現(xiàn)數(shù)據(jù)的回時(shí)發(fā)送和采集,并把采集的數(shù)據(jù)送入主機(jī)保存,以備主機(jī)進(jìn)行房間聲回波通道特性的分析計(jì)算。
本文引用地址:http://m.butianyuan.cn/article/242293.htm關(guān)鍵詞:聲回波對(duì)消 DSP芯征 聲回授通道特性
為滿足電視電話電話會(huì)議、車(chē)載免提電話、熱線電話等高質(zhì)量話音通信的需要,一種消極的處理方法是進(jìn)行功率控制,降低功率增益以不產(chǎn)生嘯叫,這樣做是以犧牲音量為低價(jià)的。目前,公認(rèn)最有效的回改朝換聲抑制方法是采用自適應(yīng)回聲對(duì)消。在回波對(duì)消的研究過(guò)程中,必須有效模擬出講話者所在空間的聲回授通道特性。本文重點(diǎn)介紹利用TI公司開(kāi)發(fā)的廉價(jià)的DSKplus套件,采用白噪聲激勵(lì)和譜估計(jì)的方法進(jìn)行房間聲回授系統(tǒng)的離線辨識(shí),并取得了良好的實(shí)驗(yàn)結(jié)果。
1 DSKplus Board介紹
DSKplus Board是TI公司研制的一種廉價(jià)的、為初學(xué)者使用的DSP應(yīng)用開(kāi)發(fā)板,本開(kāi)發(fā)板中DSP芯片采用TMS320C542。TMS320C542是一種改進(jìn)哈佛結(jié)構(gòu)、運(yùn)算速度可達(dá)40MIPS的定點(diǎn)DSP。它具有一個(gè)程序存儲(chǔ)器總線,三個(gè)數(shù)據(jù)存儲(chǔ)器總線,17×17位乘法器,一個(gè)供非流水線MAC(乘法/加法)使用的專(zhuān)用加法器,一個(gè)比較、選擇、存儲(chǔ)單元(Viterbi加速器)。其片內(nèi)集成有10K字節(jié)的DRAM,2K字節(jié)的引導(dǎo)ROM。其外圍設(shè)備包括有:與主機(jī)進(jìn)行通信的主機(jī)接口HPI(Host Port Interface),與其他設(shè)備進(jìn)行通信的時(shí)分復(fù)用串口和緩沖型串口等等。
DSKplus Board的模擬通道采用TLC320AC01C芯片,它可同時(shí)完成音頻頻帶內(nèi)辨率為14位的模-數(shù)、數(shù)-模轉(zhuǎn)換,并集成了帶通輸入濾波器和輸出低通濾波器以及Sinx/x補(bǔ)償器。其最大的優(yōu)點(diǎn)在于它有一個(gè)串行通信口,DSP可通過(guò)對(duì)此串行口以軟件編程方式控制其濾波器的頻帶寬度、截止頻率以及采樣頻率等,并可調(diào)整輸入輸出增益。TLC320AC01C的最大采樣頻率可達(dá)43.2K,模擬輸入增益可達(dá)12dB,輸出衰減可達(dá)12d B。
DSKplus Board與機(jī)通信是利用DSP的HPI進(jìn)行的。在DSP片內(nèi)有一容量為2K字節(jié)的內(nèi)存區(qū),地址從1000h到17FFh,這片內(nèi)存區(qū)既可以被DPS訪問(wèn),也可以被主機(jī)訪問(wèn)。在DSKplus Board中,DSP的HPI通過(guò)一片GAL22V10與計(jì)算機(jī)的并口相連,GAL22V10完成計(jì)算機(jī)并口信號(hào)與HPI信號(hào)之間的匹配。這樣,主機(jī)就可通過(guò)讀寫(xiě)并口的數(shù)據(jù)端口、狀態(tài)端口、控制端口來(lái)訪問(wèn)DSP的共享內(nèi)存區(qū),為主機(jī)與DSP之間的數(shù)據(jù)交換提供了很大方便。
2 系統(tǒng)原理
測(cè)試系統(tǒng)原理見(jiàn)圖1。把虛框部分看作系統(tǒng)h(n),系統(tǒng)的輸入和輸出分別為x(n)和y(n),那么有:
式中,Rxx(n)為x(n)的自相關(guān)函數(shù),Rxy(n)為x(n)與y(n)的互相關(guān)函數(shù)。對(duì)于白噪聲輸入激勵(lì),x(n)的自相關(guān)函數(shù)為δ_函數(shù),即:
Rzz(n)= δ(n) (3)
代入式(2),則有:
h(l)=Rxy(l) (3)
因而,當(dāng)x(n)為白噪聲時(shí),只需估計(jì)出x(n)、y(n)的互相關(guān)函數(shù),即可求出聲回授通道的沖激響應(yīng)。圖1中,A/D、D/A以及與主機(jī)通信部分均由DSKplus Board完成。
3 軟件實(shí)現(xiàn)
整個(gè)系統(tǒng)軟件包括兩部分:DSKplus Board中DSP的運(yùn)行程序和主機(jī)的數(shù)據(jù)發(fā)送、接收、分析處理程序。
DSP程序采用TI公司提供的代數(shù)語(yǔ)言編寫(xiě),其功能包括:對(duì)模擬通道TLC320AC01C進(jìn)行初始化,完成數(shù)據(jù)的發(fā)送和采集以及與主機(jī)之間的數(shù)據(jù)交換。TLC320AC01C被初始化為:8k/s采樣速率,低通濾波器帶寬為3.6kHz,輸入增益為12dB,輸出增益為0dB。數(shù)據(jù)的發(fā)送和采集采用中斷方式,由于數(shù)據(jù)的發(fā)送和采集是同步的,所以只需用同一個(gè)中斷服務(wù)程序。每當(dāng)采集緩沖區(qū)(64字節(jié))滿后,就把HPI的控制寄存器HPIC的HINT位置“1”,主機(jī)通過(guò)檢測(cè)這一位的狀態(tài)來(lái)接收和發(fā)送數(shù)據(jù)。
由于對(duì)數(shù)據(jù)的分析處理需要耗費(fèi)大量的時(shí)間,所以主機(jī)程序分為兩部分:數(shù)據(jù)發(fā)送、接收程序和后續(xù)處理程序。主機(jī)程序用C語(yǔ)言編寫(xiě)。為了能在1/8k秒內(nèi)完成發(fā)送兩次16位地址、一次16位數(shù)據(jù)和讀取一次16位數(shù)據(jù),數(shù)據(jù)速率為64Kbyte/s,加上主機(jī)從硬盤(pán)讀取數(shù)據(jù)和把數(shù)據(jù)寫(xiě)入硬盤(pán)的時(shí)間開(kāi)銷(xiāo),DPS運(yùn)行在40MHz時(shí),HPI口的數(shù)據(jù)傳輸速率可達(dá)8Mbyte/s主機(jī)并口的數(shù)據(jù)速率卻達(dá)不到上述要求。所以發(fā)送數(shù)據(jù)時(shí),應(yīng)先把數(shù)據(jù)讀入內(nèi)存緩沖區(qū),接收數(shù)據(jù)時(shí),也應(yīng)先把數(shù)據(jù)讀入內(nèi)存緩沖區(qū),待數(shù)據(jù)接收完成后,再寫(xiě)入磁盤(pán),這樣才不會(huì)因來(lái)不及接收而丟失數(shù)據(jù)。程序流程見(jiàn)圖2。
后續(xù)處理程序功能包括:偽隨機(jī)序列的產(chǎn)生和沖激響應(yīng)的分析計(jì)算。偽隨機(jī)序更的產(chǎn)生采用克努特算法,即線性同余算法:
In+1=(J·In+1)modM (5)
式中,M為序列的最長(zhǎng)周期,J由不等式
J·(M-1)2的L次方 (6)
確定。J越大,序列才趨向于更隨機(jī),但J的最大值受機(jī)器字長(zhǎng)L限制。由式(5)求得的隨機(jī)序列In,歸一化后,在(0,1)區(qū)間呈均勻分布,再對(duì)序列進(jìn)行高斯化,并用“3σ原理”進(jìn)行16位整數(shù)化。
由式(4)知,沖激響應(yīng)的計(jì)算,即是對(duì)x(n)、y(n)的互相關(guān)函數(shù)進(jìn)行估計(jì)。事實(shí)上,本文是用有限長(zhǎng)數(shù)據(jù)樣本來(lái)估計(jì)隨機(jī)信號(hào)的互相關(guān)函數(shù)Rxy(k),即:
這表明,當(dāng)k接近N時(shí),R'xy(k)的統(tǒng)計(jì)平均與Rxy(k)相差較大。在本文中,當(dāng)房間沖激響應(yīng)的有效長(zhǎng)度遠(yuǎn)小于數(shù)據(jù)樣本長(zhǎng)度N時(shí),這種偏差可以忽略。為了加快計(jì)算式(7),先對(duì)x(n),y(n)作FFT變換,X(n)的共軛與Y(n)相乘后,再作傅立葉反變換,即求得沖激響應(yīng)h(n)。但以實(shí)際上h(n)是x(n)和y(n)的線性相關(guān)結(jié)果。所以,在進(jìn)行N點(diǎn)FFT變換前,先把x(n)和y(n)的后N/2個(gè)點(diǎn)全置零,這樣可避免循環(huán)相關(guān)帶來(lái)的誤差。為減小矩形數(shù)據(jù)窗帶來(lái)的譜泄漏,程序中采用Hamming窗截取信號(hào),即:
w(t)=0.54-0.46cos(2πt/T) (9)
為減小互相關(guān)函數(shù)的估計(jì)方差而引入的h(n)估計(jì)方差,在房間設(shè)施固定不變的情況下,用不同隨機(jī)數(shù)種子的隨機(jī)序列輸入而求得的h(n)作平均運(yùn)算,可有效減小h(n)的估計(jì)方差。
4 實(shí)驗(yàn)結(jié)果
一次典型的測(cè)量數(shù)據(jù)經(jīng)過(guò)以上處理,得到如圖所示的結(jié)果。圖中,直達(dá)聲是從場(chǎng)聲器出來(lái)的聲音經(jīng)過(guò)直線路徑直接到達(dá)麥克風(fēng)的聲音,混響聲是從揚(yáng)聲器出來(lái)的聲音經(jīng)過(guò)房間的墻壁、室內(nèi)物體等多次反射后到達(dá)麥克風(fēng)的聲音。在理論上,直達(dá)聲的響應(yīng)應(yīng)該為零,混響以后的響應(yīng)也應(yīng)為零。但由于測(cè)量時(shí)不可避免地存在環(huán)境噪聲以及算法本身存在的誤差,圖中這些響應(yīng)有較小的起伏??梢怨烙?jì),直達(dá)聲從揚(yáng)聲器到麥克風(fēng)之間大約有170個(gè)采樣點(diǎn),按8k/s采樣紡計(jì)算,這段時(shí)間為:
td=170/8000=0.02125s
實(shí)際測(cè)量時(shí),揚(yáng)聲器與麥克風(fēng)相距7.5m,按空氣中聲波傳輸速率340m/s計(jì)算,這段時(shí)間應(yīng)為0.02206s,由此看出,實(shí)際測(cè)量與理論基礎(chǔ)相符。
評(píng)論