基于TMS320C64x DSP的語音采集與盲信號分離系統(tǒng)設計
摘 要:本文利用tms320c64xdsp的多通道緩沖串口(mcbsp)和增強型直接存儲器訪問(edma)的特點,設計出了混合語音采集與盲信號分離(bss)系統(tǒng)。
關(guān)鍵詞:盲信號分離;mcbsp; edma
引言
盲信號分離是指在對彼此獨立的源信號混合過程中及各源信號本身均未知的情況下,從混合信號中分離出這些源信號的方法。bss可以用來從多個麥克風混合語音信號中提煉出單個語音信號。然而,現(xiàn)有的bss算法比較復雜、運算量大、實時性差,不能滿足語音處理對實時性的要求,從而限制了它的硬件實現(xiàn)和應用。
本文利用tms320c6416 dsp設計出了混合語音盲信號分離系統(tǒng)。該系統(tǒng)通過采集的兩路混合語音信號進行盲信號分離,實時輸出分離的語音信號。tms320c6416的特點
本系統(tǒng)用tms320c6416(以下簡稱c6416)的2個mcbsp和edma來實現(xiàn)語音信號的采集、數(shù)據(jù)的傳遞和分離語音的輸出。
mcbsp的特點
除了具有標準串口的功能以外,mcbsp還有以下特點:支持多種傳輸接口,如mvip兼容的交換方式以及st-bus兼容設備和t1/e1幀協(xié)議等;可以與多達128個通道進行收發(fā);支持不同字長的數(shù)據(jù)傳輸,并且當8bit數(shù)據(jù)傳輸時,還可以選擇先傳lsb或msb;可設置幀同步信號和數(shù)據(jù)時鐘信號的極性;內(nèi)部傳輸時鐘和幀同步信號可編程程度高。
edma的特點
edma控制器負責片內(nèi)l2存儲器與其他外設之間的數(shù)據(jù)傳輸。edma和dma控制器在結(jié)構(gòu)上有很大的不同,dma控制器是基于寄存器結(jié)構(gòu)的,而edma控制器是基于ram結(jié)構(gòu)的。其增強之處包括:提供了64個通道;通道之間的優(yōu)先級可以設置;支持不同結(jié)構(gòu)數(shù)據(jù)傳輸?shù)逆溄?。edma控制器由事件和中斷處理寄存器、事件編碼器、參數(shù)ram和硬件地址產(chǎn)生器組成。首先,事件寄存器對edma事件進行捕獲,事件編碼器再對同時發(fā)生的多個事件進行分辨,最后,硬件地址產(chǎn)生器根據(jù)參數(shù)ram中存放的相關(guān)傳輸參數(shù)產(chǎn)生讀寫操作所需要的地址。edma數(shù)據(jù)的傳輸格式和控制都是通過設置edma控制寄存器和參數(shù)ram來實現(xiàn)的,每個通道有一組6個字節(jié)(192 bit)參數(shù)ram,可以通過32 bit的外設總線對其進行訪問。接口設計
由于本系統(tǒng)采樣的數(shù)據(jù)量比較大,并且c6416的mcbsp通道含有m律和a律壓擴硬件,支持對輸入數(shù)據(jù)的m律或a律擴展以及對輸出數(shù)據(jù)的m律或a律壓縮,因此,本文選用a律編/解碼芯片tp3057作為adc和dac。
系統(tǒng)選用兩片tp3057,它們將麥克風采集到的語音信號數(shù)字化(8khz的采樣頻率),輸出8位a律pcm碼。圖1是tp3057和c6416的接口圖。
本方案將c6416的mcbsp0和mcbsp2分別與兩片tp3057相連,采集兩路混合語音信號。tp3057(1)還會輸出分離語音信號。tp3057將模擬混合語音信號轉(zhuǎn)換為8位a律pcm,然后在fsx為低期間,c6416通過mcbsp接收pcm碼,經(jīng)過mcbsp a律解壓縮后放入drr中,再由edma控制器將數(shù)據(jù)從drr中讀到l2中的sdram指定單元,最后進行bss處理。分離語音信號由edma送到mcbsp0中的發(fā)送寄存器(dxr),經(jīng)過a律壓縮后送入發(fā)送移位寄存器,然后在fsr為低期間,經(jīng)接口送到tp3057(1)。tp3057(1)把數(shù)據(jù)a律解壓縮后用揚聲器輸出。
系統(tǒng)軟件設計
本系統(tǒng)的程序主要有以下幾部分構(gòu)成:c6416的初始化、mcbsp0和mcbsp2兩通道的初始化、edma通道的設置以及bss子程序。圖2給出了系統(tǒng)的程序流程。
c6416的初始化主要是對dsp時鐘、工作模式、片內(nèi)l2存儲器的分配和dsp堆棧的設置。mcbsp0和mcbsp2兩通道的初始化則是通過14個控制寄存器來設置時鐘和幀同步信號、幀同步的相位、幀的長度、數(shù)據(jù)單元的字長、數(shù)據(jù)延遲和壓擴方式等。在本系統(tǒng)中,由于接口處是8位pcm碼,所以數(shù)據(jù)單元的字長設置為0,以8位傳輸,延遲為0,并將壓擴模式設置為a律。edma通道初始化主要是對相關(guān)通道(通道12、13、17和18)的控制寄存器和傳輸參數(shù)ram進行設置。而bss子程序是整個系統(tǒng)的核心部分,對采集到的兩路混合語音信號運用盲信號分離方法進行處理,分離出語音信號。結(jié)語
本文設計了一個高性能的混合語音信號采集與盲分離系統(tǒng),采集到的數(shù)據(jù)經(jīng)過dsp的mcbsp 和edma通道直接被送到片內(nèi)存儲器堆棧中,然后進行bss,將混合語音分離出來。
另外,由于bss算法復雜,在一定程度上影響了整個系統(tǒng)的性能。因此,要想進一步提高系統(tǒng)的實時性,研究簡單的、易于實現(xiàn)的、魯棒性好的bss算法是十分必要的,這也是下一步工作要解決的問題?!鰠⒖嘉墨I
1 tms320c60000 dsp reference set(rev.). texas instrumentinc. 2003
2 he, p., sommen, p.c.w. and yin, b. a realtime dsp blind signal separation experimental system based on a new simplified mixing model[j]. proc. of eurocon’2001, bratislava, slovak republic. july. 2001
3 李方慧 等.tms320c6000系列dsps原理與應用[m]. 北京:電子工業(yè)出版社,2003. 1