當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:實(shí)現(xiàn)了一種基于DSP的通用語(yǔ)音編譯碼器實(shí)驗(yàn)平臺(tái)。在該平臺(tái)上通過(guò)軟件重構(gòu)可以實(shí)現(xiàn)常用語(yǔ)音信號(hào)的編譯碼。詳細(xì)介紹了應(yīng)用DSP實(shí)現(xiàn)通用語(yǔ)音編譯碼中的關(guān)鍵技術(shù),包括硬件平臺(tái)設(shè)計(jì)、軟件結(jié)構(gòu)和接口擴(kuò)展等。由于硬件

摘要:實(shí)現(xiàn)了一種基于DSP的通用語(yǔ)音編譯碼器實(shí)驗(yàn)平臺(tái)。在該平臺(tái)上通過(guò)軟件重構(gòu)可以實(shí)現(xiàn)常用語(yǔ)音信號(hào)的編譯碼。詳細(xì)介紹了應(yīng)用DSP實(shí)現(xiàn)通用語(yǔ)音編譯碼中的關(guān)鍵技術(shù),包括硬件平臺(tái)設(shè)計(jì)、軟件結(jié)構(gòu)和接口擴(kuò)展等。由于硬件和軟件采用模塊和結(jié)構(gòu)化設(shè)計(jì),通過(guò)開(kāi)放的模塊接口和子程序使得該設(shè)計(jì)具有擴(kuò)展和升級(jí)容易、學(xué)生參與度高等優(yōu)點(diǎn)。最后通過(guò)實(shí)際測(cè)試驗(yàn)證了設(shè)計(jì)的正確性。
關(guān)鍵詞:語(yǔ)音信號(hào)處理;DSP;編碼器;解碼器;實(shí)驗(yàn)系統(tǒng)

0 引言
    語(yǔ)音信號(hào)處理在通信系統(tǒng)中占有重要地位,也是通信工程專業(yè)的重要課程。由于課程內(nèi)容比較抽象,如果只是停留在理論教學(xué),會(huì)使學(xué)生不易理解并且感到枯燥乏味,同時(shí)也不容易體現(xiàn)它的實(shí)現(xiàn)原理以及在實(shí)際通信系統(tǒng)的位置和作用。語(yǔ)音編譯碼器的實(shí)現(xiàn)主要有三種方法:專用芯片、基于DSP和混合方法。其中,DSP5000系列以其內(nèi)含硬件乘法器、硬件加法器和FFT運(yùn)算器特別適合用于語(yǔ)音信號(hào)處理。文獻(xiàn)提出一種基于DSP的多制式語(yǔ)音編解碼器,文獻(xiàn)給出一種可變速率的通用語(yǔ)音編解碼實(shí)現(xiàn)技術(shù),但都不適合實(shí)驗(yàn)教學(xué)。本文在文獻(xiàn)的基礎(chǔ)上,結(jié)合實(shí)驗(yàn)教學(xué)特點(diǎn)設(shè)計(jì)一種語(yǔ)音編譯碼器實(shí)驗(yàn)平臺(tái),其設(shè)計(jì)思想是采用通用的DSP,CPLD,控制器和PC機(jī)將語(yǔ)音信號(hào)處理過(guò)程在硬件、軟件、接口和PC機(jī)管理幾個(gè)方面實(shí)現(xiàn)模塊化和開(kāi)放接口設(shè)計(jì)。通過(guò)PC機(jī)或控制器,可以設(shè)置編碼方式、調(diào)用不同的子程序?qū)崿F(xiàn)不同的編碼算法,同時(shí)也設(shè)置了計(jì)算機(jī)數(shù)據(jù)接口來(lái)實(shí)現(xiàn)編解碼器的通用性,方便直觀地了解語(yǔ)音信號(hào)的處理過(guò)程,易于不同層次、不同目的的學(xué)生參與,具有方便實(shí)現(xiàn)設(shè)計(jì)性、系統(tǒng)性、綜合性和創(chuàng)新性實(shí)驗(yàn)等優(yōu)點(diǎn)。該平臺(tái)可以實(shí)現(xiàn)G.711,G.721,G.729和△M四種符合國(guó)際標(biāo)準(zhǔn)的編解碼。為了觀察信號(hào)的處理過(guò)程,在硬件電路的關(guān)鍵點(diǎn)都設(shè)置有測(cè)試點(diǎn);其次,在軟件設(shè)計(jì)上也盡量將程序分解成子程序由主程序調(diào)用,如初始化子程序、命令解
析子程序、信號(hào)采集與輸出子程序、編譯碼子程序、數(shù)據(jù)接收與發(fā)送子程序等。每個(gè)子程序的人口都有相應(yīng)的函數(shù)名、要傳遞的參數(shù)和返回的結(jié)果,這樣便于學(xué)生參與各個(gè)算法子程序的設(shè)計(jì)。文中給出了詳細(xì)的硬件電路設(shè)計(jì)和軟件流程圖,最后對(duì)實(shí)驗(yàn)平臺(tái)進(jìn)行了測(cè)試,結(jié)果正確且工作穩(wěn)定可靠。

1 系統(tǒng)結(jié)構(gòu)與硬件電路設(shè)計(jì)
    在硬件設(shè)計(jì)上根據(jù)功能分了6個(gè)模塊,包括濾波器與放大模塊、A/D與D/A轉(zhuǎn)換器模塊、DSP處理器模塊、FPGA與數(shù)據(jù)接口模塊、MCU控制器與PC機(jī)接口模塊、鍵盤/顯示器模塊。為了防止干擾和方便學(xué)生觀察信號(hào),各模塊之間的控制線通過(guò)通用底板相連,而信號(hào)通過(guò)各個(gè)模塊的信號(hào)線相連。系統(tǒng)結(jié)構(gòu)如圖1所示。


    圖1中,抗混疊濾波器采用二階有源低通濾波器;音頻接口芯片選擇TI公司性價(jià)比較高的A/D轉(zhuǎn)換芯片TLV320AIC23,它可以在8~96 kHz的采樣頻率范圍內(nèi)提供16 b,20 b,24 b和32 b的采樣數(shù)據(jù),其DSP Mode是TI公司特有的與DSP連接模式,使音頻接口設(shè)計(jì)非常簡(jiǎn)單,如對(duì)于PCM編碼則根據(jù)AIC23的數(shù)據(jù)手冊(cè)只需在其時(shí)鐘輸入端MCLK引腳外接一個(gè)12.288 MHz的有源晶振,配置AIC23的采樣率控制寄存器的SR3~SR0= 0011,即可得到AIC23的A/D和D/A的采樣率為8 kHz;DSP選擇TI公司的TMS320VC5416,它采用增強(qiáng)的多總線和優(yōu)化的CPU設(shè)計(jì)結(jié)構(gòu),內(nèi)含三個(gè)多通道緩沖串口McBSP和8/16 b的增強(qiáng)型HPI口,不但可以滿足語(yǔ)音編譯碼算法處理的需求,也方便實(shí)現(xiàn)主機(jī)訪問(wèn);SRAM和FLASH分別采用常用的芯片CY7C1041CV33和SST39VF400(兩者存儲(chǔ)空間均為256K×16 b),外擴(kuò)存儲(chǔ)器的控制時(shí)序通過(guò)CPLD(EPM3128ATC100)實(shí)現(xiàn);控制器采用AT89C52,它通過(guò)DSP的HPI口與DSP相連,其優(yōu)點(diǎn)是可以通過(guò)DSP內(nèi)部的雙口RAM訪問(wèn)DSP內(nèi)部的各種資源,而不會(huì)影響DSP的運(yùn)行。同時(shí),控制器擴(kuò)展了鍵盤/顯示和RS 232接口(預(yù)留了USB接口),不但方便用戶使用,也實(shí)現(xiàn)了上位機(jī)軟件與編譯碼器的通信。
    系統(tǒng)工作原理如下:首先來(lái)自用戶的語(yǔ)音信號(hào)先經(jīng)過(guò)抗混疊濾波器模塊完成信號(hào)的濾波和放大,然后送A/D、D/A模塊將模擬語(yǔ)音信號(hào)轉(zhuǎn)換成相應(yīng)標(biāo)準(zhǔn)速率(如8 kHz)和采樣精度(如16 b)的數(shù)字信號(hào),數(shù)字化的語(yǔ)音信號(hào)通過(guò)多通道緩沖串口McBSP0送給DSP信號(hào)處理板,信號(hào)處理板將語(yǔ)音數(shù)據(jù)信號(hào)送到DSP內(nèi)部緩沖區(qū),在緩沖區(qū)內(nèi)按用戶選擇的方法調(diào)用編碼算法編成特定碼率的碼流,再將得到的標(biāo)準(zhǔn)數(shù)字碼流送數(shù)據(jù)接口模塊輸出;另一方面,來(lái)自數(shù)據(jù)接口的碼流送數(shù)據(jù)處理模塊,數(shù)據(jù)處理模塊由其多通道緩沖串口McBSP2接收至DSP的內(nèi)部接收緩沖區(qū),然后由DSP對(duì)其進(jìn)行解碼處理,解碼后的數(shù)字化語(yǔ)音通過(guò)多通道緩沖串口McBSP0傳送給D/A轉(zhuǎn)換器模塊轉(zhuǎn)換成模擬語(yǔ)音信號(hào)后送信號(hào)濾波和放大模塊,從而實(shí)現(xiàn)語(yǔ)音信號(hào)的采集、編碼、發(fā)送和接收、解碼等功能。
[!--empirenews.page--]
2 軟件設(shè)計(jì)
    軟件設(shè)計(jì)包括DSP程序、控制器程序、CPLD程序和上位機(jī)程序四部分。DSP程序根據(jù)命令完成語(yǔ)音信號(hào)和計(jì)算機(jī)數(shù)據(jù)的處理等;控制器程序完成本地對(duì)編譯碼器的管理,并負(fù)責(zé)DSP與PC之間的通信;CPLD程序除完成系統(tǒng)需要的組合、時(shí)序工作外,還要提供與調(diào)制/解調(diào)器的數(shù)據(jù)接口;上位機(jī)程序完成對(duì)語(yǔ)音編譯碼器的管理。下面介紹部分程序的設(shè)計(jì)原理。
2.1 DSP程序設(shè)計(jì)
    DSP程序主要包括主程序、命令解析子程序、模擬信號(hào)采集與輸出子程序、編譯碼子程序、數(shù)據(jù)信號(hào)接收與發(fā)送子程序等。DSP完成G.711規(guī)范的A-Law編譯碼程序流程圖如圖2所示。


    在DSP響應(yīng)控制器程序中設(shè)置一個(gè)控制標(biāo)志位CON_SEL,并分配在DSP數(shù)據(jù)空間內(nèi)的0x1fffH地址,控制器根據(jù)用戶從鍵盤輸入的命令(或來(lái)自PC機(jī)的命令)向此地址寫入相應(yīng)的控制標(biāo)志,DSP的底層程序響應(yīng)該控制標(biāo)志位完成相應(yīng)的工作(MIC語(yǔ)音處理、線路語(yǔ)音處理和數(shù)據(jù)通信)。DSP響應(yīng)控制器程序流程圖如圖3所示。從流程圖中可以看到,對(duì)于語(yǔ)音處理,程序先打開(kāi)中斷。當(dāng)A/D采集完語(yǔ)音數(shù)據(jù)后,即進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中關(guān)閉全局中斷,并設(shè)置數(shù)據(jù)是否滿的標(biāo)志位為有效狀態(tài)。主程序查詢?cè)摌?biāo)志位,如果有效則調(diào)語(yǔ)音處理子程序進(jìn)行處理,處理完調(diào)用通信程序輸出;而對(duì)于數(shù)據(jù)通信的處理過(guò)程是,DSP首先在內(nèi)部開(kāi)辟一個(gè)數(shù)據(jù)緩沖區(qū),并打開(kāi)HPI中斷和全局中斷,然后DSP主程序進(jìn)入數(shù)據(jù)處理程序,這時(shí)接收來(lái)自單片機(jī)(或PC機(jī))的數(shù)據(jù)通過(guò)數(shù)據(jù)口傳輸出去,傳送完后可通過(guò)HINT去中斷控制器,通知主機(jī)傳送下一個(gè)數(shù)據(jù)。

[!--empirenews.page--]
2.2 控制器程序設(shè)計(jì)
    控制器工作有兩個(gè)狀態(tài),即本地控制工作狀態(tài)和通信傳輸工作狀態(tài)。本地控制狀態(tài)就是實(shí)現(xiàn)對(duì)編譯碼器的控制與管理,而通信工作狀態(tài)僅僅完成DSP與PC機(jī)之間的信息傳輸,這里只說(shuō)明DSP、控制器和PC機(jī)之間的程序設(shè)計(jì)。由于DSP的HINT引腳和單片機(jī)的INT0引腳相連接,HINT中斷有效觸發(fā)的是單片機(jī)的INT0中斷,所以PC機(jī)的上位機(jī)軟件要響應(yīng)DSP的中斷只能在控制器與PC機(jī)的控制協(xié)議中完成,DSP在發(fā)送完成一個(gè)數(shù)據(jù)后無(wú)法采用中斷的方式告訴上位機(jī)。為解決這個(gè)問(wèn)題,上位機(jī)采用查詢的方式,即在控制器中設(shè)置一個(gè)標(biāo)志位send_end,初始化為0,當(dāng)DSP發(fā)送完一個(gè)字節(jié)數(shù)據(jù)后置該標(biāo)志位為1,上位機(jī)每發(fā)送完一個(gè)數(shù)據(jù),通過(guò)控制器觸發(fā)一次DSPINT中斷,并讀回send_end的值判斷,若為1則傳送下一個(gè)字節(jié),否則等待控制器將當(dāng)前數(shù)據(jù)發(fā)送完成。
2.3 上位機(jī)軟件設(shè)計(jì)
    上位機(jī)軟件采用學(xué)生容易掌握的VB語(yǔ)言實(shí)現(xiàn),其主界面如圖4所示。


    主界面主要完成系統(tǒng)初始化,并顯示系統(tǒng)需要檢測(cè)和控制的內(nèi)容。初始化正常后,上位機(jī)程序即可通過(guò)控制器向DSP的指令地址發(fā)送控制命令,DSP查詢此地址的命令字,并根據(jù)命令字進(jìn)入相應(yīng)的服務(wù)程序(MIC語(yǔ)音、線路語(yǔ)音或數(shù)據(jù)通信。DSP在初始化中默認(rèn)的是MIC語(yǔ)音處理),如果要進(jìn)行線路語(yǔ)音處理則在控制界面上選擇“線路輸入語(yǔ)音”控制命令,這時(shí)控制子界面將用戶選擇的命令通過(guò)控制器送DSP,DSP查詢到并判斷是線路輸入語(yǔ)音命令后即執(zhí)行線路輸入語(yǔ)音子程序,這時(shí)如果將數(shù)據(jù)輸出端口與數(shù)據(jù)輸入端口、對(duì)應(yīng)的同步信號(hào)連接好的話,從耳機(jī)可聽(tīng)到經(jīng)過(guò)語(yǔ)音編碼和譯碼后的電腦播放的音樂(lè),從聽(tīng)到的音樂(lè)比較編譯碼后的語(yǔ)音質(zhì)量。如果在命令控制界面選擇“計(jì)算機(jī)數(shù)據(jù)通信”控制命令,即可進(jìn)行計(jì)算機(jī)數(shù)據(jù)通信實(shí)驗(yàn)。

3 實(shí)際測(cè)試
3.1 語(yǔ)音信號(hào)編譯碼測(cè)試
    首先將PC機(jī)的線路輸出用信號(hào)線連接到編譯碼器的LINE輸入,啟動(dòng)編譯碼實(shí)驗(yàn)系統(tǒng),然后由PC機(jī)播放MP3音樂(lè),測(cè)試得到的8 kHz幀同步和64 kHz位同步時(shí)鐘的波形如圖5所示。


    圖6是在64 kHz位同步時(shí)鐘情況下編碼后的音樂(lè)數(shù)據(jù)波形,在譯碼器輸出端用耳機(jī)可以聽(tīng)到MOS分在4 dB以上的音樂(lè)。[!--empirenews.page--]
3.2 數(shù)據(jù)傳輸測(cè)試
   首先在上位機(jī)軟件的控制界面中選擇計(jì)算機(jī)數(shù)據(jù)通信命令,在彈出的數(shù)據(jù)通信對(duì)話框中輸入測(cè)試數(shù)據(jù)1234,如圖7所示。


    DSP結(jié)束當(dāng)前語(yǔ)音通信過(guò)程后即進(jìn)入數(shù)據(jù)通信子程序,這時(shí)可以從主界面的編輯對(duì)話框中輸入要傳輸?shù)臄?shù)據(jù)(也可以選擇PC機(jī)中的文件),點(diǎn)擊“確認(rèn)”按鈕,編譯碼實(shí)驗(yàn)系統(tǒng)即可完成數(shù)據(jù)通信,圖8給出以64 Kb/s的速率傳輸?shù)臄?shù)據(jù),同時(shí)PC機(jī)從DSP端讀回所發(fā)送的數(shù)據(jù),可以看到數(shù)據(jù)完全正確。


    對(duì)于傳輸文件,先選擇*.txt數(shù)據(jù)文件,然后點(diǎn)擊“確認(rèn)”,則*.txt文件中的數(shù)據(jù)將通過(guò)控制器發(fā)送到DSP中指定的發(fā)送緩沖區(qū)中,DSP將發(fā)送緩沖區(qū)中的數(shù)據(jù)以64 Kb/s的速率從數(shù)字接口McBSP2發(fā)送出去。如果將數(shù)據(jù)接口的發(fā)送和接收端用測(cè)試線連接起來(lái),則DSP接收回到接收緩沖區(qū)中,軟件從其接收緩沖區(qū)中讀回?cái)?shù)據(jù),圖9是寫入DSP發(fā)送緩沖區(qū)的數(shù)據(jù),在CCS中觀察與所發(fā)送的數(shù)據(jù)完全一致。

4 結(jié)語(yǔ)
    本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于DSP的通用語(yǔ)音編譯碼器實(shí)驗(yàn)平臺(tái)。該平臺(tái)硬件采用模塊化設(shè)計(jì),軟件采用結(jié)構(gòu)化設(shè)計(jì),非常方便學(xué)生從不同層面參與實(shí)驗(yàn),也非常適合以團(tuán)隊(duì)的方式完成實(shí)驗(yàn)項(xiàng)目,將比較復(fù)雜、內(nèi)容比較多的實(shí)驗(yàn)項(xiàng)目分解成易于實(shí)現(xiàn)的小模塊,同時(shí)模塊和結(jié)構(gòu)化的設(shè)計(jì)思想非常容易實(shí)現(xiàn)硬件和軟件的擴(kuò)展和升級(jí),可以從硬件和軟件等多方面培養(yǎng)學(xué)生的設(shè)計(jì)、綜合以及創(chuàng)新等能力。從仿真和測(cè)試結(jié)果可以看到設(shè)計(jì)的正確性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉