新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C64x DSP/BIOSⅡ的嵌入式語音采集與盲分離系統(tǒng)設(shè)計(jì)方案

基于TMS320C64x DSP/BIOSⅡ的嵌入式語音采集與盲分離系統(tǒng)設(shè)計(jì)方案

作者: 時(shí)間:2012-07-11 來源:網(wǎng)絡(luò) 收藏

1 概述

本文引用地址:http://m.butianyuan.cn/article/257369.htm

盲信號分離()是指在對彼此獨(dú)立的源信號的混合過程及各源信號本身均未知的情況下,如何從混合信號中分離出這些源信號。可以用來從多個(gè)話筒混合語音信號中提取出單個(gè)的語音信號。然而,現(xiàn)有的算法比較復(fù)雜、運(yùn)算量大、實(shí)時(shí)性差,不能滿足語音處理對實(shí)時(shí)性的要求,從而限制了它的硬件實(shí)現(xiàn)和應(yīng)用。

隨著IC技術(shù)的發(fā)展,芯片的功能越來越強(qiáng)大。以數(shù)字器件特有的穩(wěn)定性、可重復(fù)性、可大規(guī)模集成,特別是可編程性高和易于實(shí)現(xiàn)自適應(yīng)處理的特點(diǎn),芯片從另一個(gè)方向解決了像BSS這樣復(fù)雜算法的實(shí)現(xiàn)問題。由于系統(tǒng)開發(fā)中的復(fù)雜硬件功能現(xiàn)在均已集成到了芯片中,系統(tǒng)開發(fā)人員只需選擇合適的芯片并根據(jù)該硬件結(jié)構(gòu)來設(shè)計(jì)軟件即可。因此,系統(tǒng)開發(fā)的主要難度已經(jīng)轉(zhuǎn)移到了軟件設(shè)計(jì)上。而傳統(tǒng)的編程方式很難應(yīng)付日益復(fù)雜的算法、系統(tǒng)設(shè)計(jì),編程難度很大。DSP/ II是TI公司為它的TMS320C5000和TMS320C6000系列DSP而設(shè)計(jì)的、免費(fèi)的、用于復(fù)雜系統(tǒng)開發(fā)與應(yīng)用的、可裁減的多任務(wù)實(shí)時(shí)內(nèi)核,它大大地簡化了程序設(shè)計(jì)的難度和提高了系統(tǒng)的穩(wěn)定性。

本文利用 DSP設(shè)計(jì)出了基于DSP/ II的、高性能的嵌入式混合語音盲信號分離系統(tǒng)。該系統(tǒng)通過采集的兩路混合語音信號進(jìn)行BSS,能實(shí)時(shí)地輸出分離的語音信號。


2 盲信號分離

盲信號分離可以用下面的混合方程描述:

式中為n個(gè)源信號構(gòu)成的n維向量;為m維觀測數(shù)據(jù)向量,它的元素是各個(gè)傳感器得到的輸出;mn維矩陣A稱為混合矩陣,它的元素表示信號的混合情況。

式(1)的含義是n個(gè)源信號通過混合得到m維觀測數(shù)據(jù)向量。盲信號分離問題的提法是:在混合矩陣A和源信號未知的情況下,只根據(jù)觀測數(shù)據(jù)向量) X (t)確定分離矩陣W,使得變換后的輸出是源信號向量) S(t) 的復(fù)制或估計(jì)。

圖1示意了這一過程。最大熵(ME)算法、獨(dú)立成分分析理論(ICA)、最小互信息量(MMI)算法和最大似然盲信號分離(ML)算法是幾種常用的盲信號分離算法。


3 系統(tǒng)設(shè)計(jì)

本系統(tǒng)用芯片的2個(gè)McBSP和EDMA來實(shí)現(xiàn)語音信號的采集、數(shù)據(jù)的傳遞和分離語音的輸出。

3.1 系統(tǒng)硬件設(shè)計(jì)

32 位定點(diǎn)芯片是TI公司TMS320C64x系列DSP的代表產(chǎn)品,其時(shí)鐘頻率為400 ~600MHz,可以同時(shí)執(zhí)行8條32位指令,最大峰值速度為4800MIPS。外設(shè)資源十分豐富,其中包含一個(gè)具有64個(gè)獨(dú)立通道的增強(qiáng)型存儲器直接存儲(EDMA)控制器和3個(gè)多通道緩沖串口(McBSP)。

用于語音數(shù)據(jù)轉(zhuǎn)換的ADC和DAC很多,如TI公司生產(chǎn)的語音信號編碼解碼芯片TLC320AD50,ADI公司的AD1674等。由于C6416的McBSP通道含有μ律和A律壓擴(kuò)硬件,支持對輸入數(shù)據(jù)的μ律或A律擴(kuò)展以及對輸出數(shù)據(jù)的μ律或A律壓縮,又美國國家半導(dǎo)體(NS)公司的A律編解碼芯片TP3057為8位的串行A律壓擴(kuò)編解碼器,包含一個(gè)利用D/A、A/D轉(zhuǎn)換結(jié)構(gòu)的A律脈沖編碼調(diào)制的編/解碼器電路和一個(gè)串行PCM接口。因此,我們選用作TP3057為ADC和DAC。

系統(tǒng)選用兩片TP3057,它們把用麥克風(fēng)采集到的語音信號數(shù)字化(8kHz的采樣頻率),輸出8位A律PCM碼。同時(shí),其中一片TP3057還將C6416 McBSP輸出的A律PCM碼解壓縮后,通過揚(yáng)聲器輸出。圖2所示為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指定單元,最后進(jìn)行BSS處理。分離語音信號由EDMA送到McBSP0中的發(fā)送寄存器(DXR),經(jīng)過A律壓縮后送入發(fā)送移位寄存器,然后在FSR為低期間,經(jīng)接口送到TP3057(1)。TP3057(1)把數(shù)據(jù)A律解壓縮后用揚(yáng)聲器輸出。

3.2 嵌入式設(shè)計(jì)

DSP/ II是TI為它的TMS320C5000和TMS320C6000系列DSP開發(fā)的一個(gè)免費(fèi)的、用戶可剪裁的實(shí)時(shí)操作系統(tǒng),集成在TI的Code Composer Studio集成開發(fā)環(huán)境之中,主要由四部分組成:搶占式多任務(wù)實(shí)時(shí)內(nèi)核、配置工具、實(shí)時(shí)分析工具和芯片支持庫。利用此實(shí)時(shí)操作系統(tǒng),可以方便快速地開發(fā)復(fù)雜的DSP程序。操作系統(tǒng)維護(hù)、調(diào)度多線程的運(yùn)行,只需將定制的數(shù)字信號算法作為一個(gè)線程嵌入系統(tǒng)即可;芯片支持庫幫助管理外設(shè)資源;復(fù)雜的外設(shè)寄存器初始化可以直接利用圖形工具配置;實(shí)時(shí)分析工具可以幫助分析算法實(shí)時(shí)運(yùn)行情況。

DSP/BIOS II以模塊化方式提供給用戶,對線程、中斷、定時(shí)器、內(nèi)存資源、所有外設(shè)資源的管理能力都可以根據(jù)需要剪裁。實(shí)際應(yīng)用中需要定制的算法作為一個(gè)線程插入隊(duì)列,由DSP/BIOS II進(jìn)行調(diào)度。

在本系統(tǒng)中,需要用DSP/BIOS II的配置工具來配置生成一個(gè)軟件中斷(BssSWI)、三個(gè)PIP對象(DSS_rx1Pipe、DSS_rx2Pipe和DSS_txPipe)、一個(gè)硬件中斷(HWI)。BssSWI實(shí)現(xiàn)BSS。三個(gè)PIP對象完成與語音編解碼芯片相連接的串口和軟件中斷之間的數(shù)據(jù)交換,語音編解碼芯片采集到的兩路語音數(shù)據(jù)流向串口,然后經(jīng)DSS_rx1Pipe和DSS_rx2Pipe送到軟件中斷,軟件中斷對兩路信號進(jìn)行盲分離(BSS),然后將分離出來的信號DSS_txPipe送回串口ISR,最后送到語音編解碼芯片輸出。程序信號流程圖如圖3所示。

圖中三個(gè)PIP對象中的DSS_rx2Pipe和DSS_rx1Pipe分別對應(yīng)著SWI郵箱中的bit2和bit1,DSS_txPipe對應(yīng)著SWI郵箱中的bit0,初始值均為1,通過這三位來實(shí)現(xiàn)同步。當(dāng)ISR接收到一滿幀信號,就會調(diào)用相應(yīng)的SWI_andn( ) 來清除SWI 郵箱中的相應(yīng)位(如DSS_rx1Pipe調(diào)用SWI_andn(1)來清除郵箱中的bit1)。而且, 當(dāng)出現(xiàn)一個(gè)空的數(shù)據(jù)接收塊時(shí),將調(diào)用SWI_andn(0)來清除郵箱中的bit0。一旦bit2、bit1和bit0均為0時(shí),觸發(fā)BssSWI,就調(diào)用Bss( )來進(jìn)行盲信號分離。


4 結(jié)束語

本文設(shè)計(jì)了一個(gè)高性能的、基于DSP/BIOS II的嵌入式混合語音信號的采集與盲分離系統(tǒng),采集到的數(shù)據(jù)經(jīng)過DSP的McBSP和EDMA通道直接被送到片內(nèi)存儲器堆棧中,然后進(jìn)行BSS,將混合語音分離出來。系統(tǒng)還采用了實(shí)時(shí)操作系統(tǒng)DSP/BIOS II,大大地簡化了編程的難度和提高了系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。由于該系統(tǒng)結(jié)構(gòu)簡單、實(shí)時(shí)性好、性能穩(wěn)定和易于集成,所以在移動通信終端有廣泛的應(yīng)用空間和良好的市場前景。

另外,由于BSS算法復(fù)雜,在一定程度上影響了整個(gè)系統(tǒng)的性能。因此,要想進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性,研究簡單的、易于實(shí)現(xiàn)的、魯棒性好的BSS算法是十分必要的,這也是我們的下一步工作。



關(guān)鍵詞: DSP BIOS BSS TMS320C6416

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉