国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MELP在數(shù)字對(duì)講機(jī)基帶系統(tǒng)中的應(yīng)用*

2012-08-13 05:57陳學(xué)藝凌朝東陳哲平
通信技術(shù) 2012年9期
關(guān)鍵詞:對(duì)講機(jī)基帶解碼

陳學(xué)藝, 凌朝東, 陳哲平, 楊 驍

(華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門 361008)

0 引言

目前,大多數(shù)數(shù)字對(duì)講機(jī)方案都是基于通用芯片平臺(tái),集成度低,功耗較高,價(jià)格昂貴,調(diào)試復(fù)雜,不利于產(chǎn)業(yè)化。隨著集成電路技術(shù)的發(fā)展,基于聲碼器與微控制器的對(duì)講機(jī)方案得到了較快的發(fā)展,聲碼器通常使用專用語(yǔ)音編解碼芯片完成語(yǔ)音數(shù)字化處理。為了簡(jiǎn)化系統(tǒng)維護(hù),方便使用操作,采用通用數(shù)字信號(hào)處理器作為基帶處理核心,實(shí)現(xiàn)聲碼器功能,使語(yǔ)音處理靈活,具有更好的通用性和擴(kuò)展性。

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

根據(jù)該基帶系統(tǒng)在功耗、成本及擴(kuò)展性等方面考慮,需要完成模擬語(yǔ)音信號(hào)數(shù)字化轉(zhuǎn)換及處理,無線信道傳輸。系統(tǒng)總體結(jié)構(gòu)方案如圖1所示。

系統(tǒng)主要由 AIC23數(shù)模轉(zhuǎn)換模塊、DSP語(yǔ)音處理模塊、微控制單元(MCU)模塊和 CC1101射頻模塊4部分構(gòu)成。

1.1 DSP處理模塊

基帶系統(tǒng)處理核心是基于通用DSP形成的數(shù)字語(yǔ)音處理單元,實(shí)現(xiàn)數(shù)模轉(zhuǎn)換模塊AIC23的控制,完成MELP聲碼器。選擇TMS320VC5510作為基帶系統(tǒng)處理核心,它有如下特點(diǎn)[1]:雙乘加器(MAC)結(jié)構(gòu),代碼執(zhí)行效率高;320KWord的RAM,可以減少擴(kuò)展功耗較大的片外存儲(chǔ)芯片;豐富的片上外設(shè),如:外部存儲(chǔ)器接口(EMIF, External Memory Interface)、直接內(nèi)存存取(DMA, Direct Memory Access)控制器、多通道緩沖串行口(McBSP, Multi-channel Buffered Serial Port)等;先進(jìn)的電源管理技術(shù)降低系統(tǒng)功耗。通過 EMIF接口擴(kuò)展 256KWord的Flash存儲(chǔ)器,用于上電后系統(tǒng)程序的加載,和電源、時(shí)鐘管理、JTAG模塊構(gòu)成DSP的最小系統(tǒng)。

1.2 數(shù)模轉(zhuǎn)換模塊

TLV320AIC23是TI公司推出的一款高性能、低功耗立體聲音頻編解碼器[2]。它可以和TI的DSP無縫連接,通過 DSP的 McBSP接口與其進(jìn)行連接,McBSP1用于配置工作參數(shù),McBSP2用于傳送模數(shù)(A/D)、數(shù)模(D/A)轉(zhuǎn)換的數(shù)據(jù)。AIC23和DSP的輸入輸出接口(I/O)電壓兼容,使系統(tǒng)設(shè)計(jì)簡(jiǎn)單。

1.3 MCU模塊

控制器 MCU主要實(shí)現(xiàn)對(duì)外圍器件的控制和設(shè)置,進(jìn)行按鍵掃描檢測(cè)、基帶信號(hào)的發(fā)送與接收、與 DSP之間數(shù)據(jù)的交換和實(shí)現(xiàn)通信協(xié)議。選擇MSP430F149作為主控制器[2],其通用同步/異步接收/發(fā)送器(USART)串口與 DSP進(jìn)行通信。 USART1與DSP的Mcbsp0接口連接,通過串行外設(shè)接口(SPI)進(jìn)行數(shù)據(jù)通信;USART0與射頻模塊進(jìn)行連接通信。

1.4 射頻模塊

射頻模塊主要完成數(shù)字基帶信號(hào)調(diào)制解調(diào),規(guī)定比特符號(hào)和碼元之間的關(guān)系,并建立頻率同步和碼元同步。射頻模塊采用 TI的 CC1101芯片,集成了一個(gè)高度可配置的基帶調(diào)制解調(diào)器,支持四進(jìn)制頻移鍵控(4FSK)、高斯頻移鍵控(GFSK)、最小移頻鍵控(MSK)等調(diào)制方式。單片機(jī)通過SPI方式實(shí)現(xiàn)對(duì)CC1101運(yùn)行參數(shù)和64字節(jié)發(fā)送/接收先入先出隊(duì)列(FIFO)的控制[3]。

2 系統(tǒng)軟件的設(shè)計(jì)

軟件主要是DSP與MSP430的程序設(shè)計(jì),包括數(shù)據(jù)采集、語(yǔ)音處理、MCU控制處理。接收時(shí),CC1101接收無線傳輸來的調(diào)制信號(hào),解調(diào)后送到MSP430完成數(shù)據(jù)組幀恢復(fù),得到數(shù)字編碼碼流。與DSP進(jìn)行通信,DSP對(duì)其進(jìn)行解碼恢復(fù)成數(shù)字語(yǔ)音碼流,送到AIC23進(jìn)行 D/A轉(zhuǎn)換為話音信號(hào)。發(fā)送時(shí), 由麥克風(fēng)輸入的語(yǔ)音經(jīng)AIC23進(jìn)行A/D采樣,由DSP進(jìn)行數(shù)字壓縮編碼,再送到單片機(jī)進(jìn)行填充組幀,最后由射頻模塊進(jìn)行調(diào)制后發(fā)射出去。

2.1 數(shù)據(jù)采集

DSP與AIC23之間的數(shù)據(jù)交換采用DMA的工作方式[2],減輕數(shù)據(jù)采集時(shí)DSP的負(fù)擔(dān),同時(shí)進(jìn)行聲碼器處理。采用乒乓(Ping-Pong)存儲(chǔ)結(jié)構(gòu),每當(dāng)串口Mcbsp2發(fā)送/接收到一個(gè)單元數(shù)據(jù),自動(dòng)觸發(fā)DMA將其存入一個(gè)存儲(chǔ)塊中,例如Ping存儲(chǔ)區(qū),當(dāng)存儲(chǔ)滿時(shí)會(huì)中斷 CPU進(jìn)行數(shù)據(jù)處理。同時(shí),DMA會(huì)自動(dòng)去操作Pong存儲(chǔ)區(qū),繼續(xù)采集數(shù)據(jù)。這樣可以有效防止數(shù)據(jù)在處理時(shí)被新數(shù)據(jù)覆蓋的情況,而且Ping-Pong之間自動(dòng)切換,可以不間斷對(duì)數(shù)據(jù)進(jìn)行采集,適合流水線式處理,完成數(shù)據(jù)的無縫緩沖與實(shí)時(shí)處理。

2.2 語(yǔ)音處理

語(yǔ)音處理模塊主要實(shí)現(xiàn)MELP聲碼器算法[4-5]。語(yǔ)音幀長(zhǎng)22.5 ms,每幀數(shù)據(jù)用 54 bit 進(jìn)行編碼。MELP聲碼器分為分析器和合成器兩部分。分析器實(shí)現(xiàn)對(duì)原始語(yǔ)音信號(hào)進(jìn)行幀分析處理,其流程圖如圖2所示。首先經(jīng)過高通濾波器進(jìn)行預(yù)處理,濾除直流工頻干擾,然后完成各個(gè)語(yǔ)音段的特征參數(shù)(基音周期、帶通清/濁音強(qiáng)度、非周期脈沖標(biāo)志、線譜對(duì)(LSF,Linear Spectrum Pairs)參數(shù)、增益估計(jì)和傅里葉譜幅度等)的提取,最后進(jìn)行量化編碼和組幀。

合成器用于對(duì)接收到的碼流進(jìn)行解碼恢復(fù),首先進(jìn)行解包、排列,然后譯碼生成混合激勵(lì)信號(hào),先后經(jīng)過自適應(yīng)譜增強(qiáng),線性預(yù)測(cè)編碼參數(shù)(LPC,Linear Predictive Coding)合成濾波,增益控制,脈沖離散濾波等步驟處理,在接收端重構(gòu)輸入的語(yǔ)音信號(hào)[5]。合成器的流程圖如圖3所示。

聲碼器模塊采用 MELP標(biāo)準(zhǔn)的 C程序開源代碼。在DSP移植過程中,需要對(duì)其進(jìn)行優(yōu)化,以滿足實(shí)時(shí)性要求。主要從以下幾個(gè)方面對(duì)MELP的定點(diǎn)C代碼進(jìn)行優(yōu)化。

(1)編譯器優(yōu)化選項(xiàng)和inline函數(shù)方法優(yōu)化[6]

采用優(yōu)化選項(xiàng)的優(yōu)化級(jí)別-o2,得到較高的代碼優(yōu)化效率。對(duì)小函數(shù)用inline關(guān)鍵字限定,當(dāng)函數(shù)較常被調(diào)用時(shí),可以減少調(diào)用的時(shí)間開銷,獲得較好優(yōu)化效果。

(2)使用ETSI函數(shù)[7]

調(diào)用mathhalf文件中基本運(yùn)算函數(shù)非常頻繁,運(yùn)行效率低。將這些函數(shù)用ETSI函數(shù)代替,當(dāng)代碼中調(diào)用了這些函數(shù)時(shí),編譯器會(huì)自動(dòng)把優(yōu)化過的匯編代碼嵌入到程序中,可以節(jié)省很多時(shí)鐘周期,優(yōu)化效果很好。

(3)數(shù)據(jù)內(nèi)存的優(yōu)化

對(duì)存儲(chǔ)器進(jìn)行合理規(guī)劃,將程序代碼和常量系數(shù)分配到單訪問隨機(jī)存儲(chǔ)器(SARAM, Single Access RAM)中,把頻繁訪問的變量、堆棧等放在雙訪問隨機(jī)存儲(chǔ)器(DARAM, Dual-Access RAM)中,充分利用片內(nèi)內(nèi)存,提高程序的執(zhí)行效率。

(4)對(duì)程序結(jié)構(gòu)進(jìn)行簡(jiǎn)化

對(duì)代碼結(jié)構(gòu)進(jìn)行優(yōu)化,減少一些不必要的代碼的運(yùn)行,比如 logic();等測(cè)試函數(shù)。將算法中用到MEM_ALLOC()等動(dòng)態(tài)分配內(nèi)存的函數(shù),根據(jù)運(yùn)行時(shí)所需的空間大小在函數(shù)中直接給出,減少庫(kù)函數(shù)的調(diào)用,防止破壞軟件流水執(zhí)行。

(5)循環(huán)優(yōu)化[8]

對(duì)算法中循環(huán)部分進(jìn)行優(yōu)化。利用其硬件結(jié)構(gòu)、尋址方式進(jìn)行修改,減少分支和調(diào)用等指令,合理安排代碼處理流程。充分利用其指令執(zhí)行時(shí)的流水線特點(diǎn),提高執(zhí)行效率。

DSP程序的控制流程如圖 4所示。程序中設(shè)置兩個(gè)長(zhǎng)度為180字編碼和解碼緩沖塊。當(dāng)接收緩沖區(qū)滿180樣點(diǎn)時(shí),DMA中斷CPU進(jìn)行處理,把數(shù)據(jù)復(fù)制到編碼緩沖塊中并進(jìn)行MELP編碼,處理得到的數(shù)據(jù)通過DMA復(fù)制到發(fā)送緩沖存儲(chǔ)器,送到MCU進(jìn)行后續(xù)處理。解碼過程是將MCU發(fā)來的幀比特?cái)?shù)據(jù),經(jīng)過MELP解碼后存儲(chǔ)解碼數(shù)據(jù)到解碼緩沖塊中,然后將合成語(yǔ)音數(shù)據(jù)發(fā)送到AIC23進(jìn)行話音的回放。

2.3 MCU控制

DSP與 MSP430微控制器采用 SPI 方式進(jìn)行通信,MSP430工作在主模式。主要流程如圖5所示。發(fā)送過程中MSP430通過串行通信模塊USART1 接收來自DSP的54bit一幀的語(yǔ)音壓縮碼流后,加上一些幀頭、幀尾等信息進(jìn)行組幀,形成 72 bit 的數(shù)據(jù)幀,由 USART0 送至射頻模塊進(jìn)行發(fā)射。接收過程,MSP430對(duì)從射頻模塊接收到解調(diào)后的數(shù)據(jù)進(jìn)行處理,將數(shù)據(jù)組幀恢復(fù)成壓縮的數(shù)字語(yǔ)音碼流,發(fā)送至DSP進(jìn)行語(yǔ)音的合成處理。

3 測(cè)試與分析

程序經(jīng)過編譯、連接,然后進(jìn)行下載調(diào)試[9]。對(duì)MELP聲碼器進(jìn)行測(cè)試,優(yōu)化前后的所占用的時(shí)鐘周期如表1所示。

表1 優(yōu)化前后時(shí)鐘周期

可以看出,優(yōu)化前MELP處理一幀數(shù)據(jù),分析就需要 31 115 629個(gè)時(shí)鐘周期,DSP工作在最高頻率200 MHz下也需要 155.6 ms,遠(yuǎn)遠(yuǎn)大于一幀 22.5 ms的處理時(shí)間。經(jīng)過優(yōu)化后,分析一幀數(shù)據(jù)只需要4.1 ms,合成一幀語(yǔ)音也從43.6 ms降到了1.3 ms。能夠達(dá)到語(yǔ)音的實(shí)時(shí)處理,滿足系統(tǒng)性能要求。

利用國(guó)際電信聯(lián)盟(ITU)推薦的P.862主觀語(yǔ)音質(zhì)量評(píng)估(PESQ, Perceptual Evaluation of Speech Quality)算法對(duì)合成語(yǔ)音與原始語(yǔ)音的誤差進(jìn)行數(shù)學(xué)計(jì)算,得到合成語(yǔ)音的平均主觀得分(MOS, Mean Opinion Score)[6]。優(yōu)化后 MELP聲碼器的合成語(yǔ)音的MOS值在3.27左右,通過人耳可以聽到較清晰,可懂度較好的話音,符合要求。

4 結(jié)語(yǔ)

從基帶系統(tǒng)中 MELP聲碼器的測(cè)試結(jié)果看, 基于通用DSP的方案在發(fā)射端能進(jìn)行語(yǔ)音采集數(shù)字化處理,并在接收端正確完成語(yǔ)音的解碼回放,話音質(zhì)量良好。結(jié)合DSP處理器特點(diǎn),通過對(duì)代碼優(yōu)化后獲得性能良好,在信道頻率資源有限的條件下,較好的實(shí)現(xiàn)了MELP聲碼器對(duì)語(yǔ)音的數(shù)字化處理,能滿足數(shù)字對(duì)講機(jī)基帶系統(tǒng)設(shè)計(jì)要求。適用于短波窄帶數(shù)字語(yǔ)音通信、保密通信等需要低速率的語(yǔ)音編碼場(chǎng)合, 具有廣闊的應(yīng)用前景。

[1] 劉媛媛.基于DSP的MELP語(yǔ)音編碼算法研究及實(shí)現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2008.

[2] 熊堃,陳向東,葛林.數(shù)字對(duì)講機(jī)中語(yǔ)音編碼的研究與DSP實(shí)現(xiàn)[J].通信技術(shù),2010,43(10):123-125.

[3] 韋建超,陳向東.基于 CC1101的無中心數(shù)字對(duì)講機(jī)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(06):1-3.

[4] 彭天偉,凌朝東,楊驍.數(shù)字對(duì)講機(jī)中語(yǔ)音信號(hào)處理的研究[J].通信技術(shù),2011,44(10):58-60.

[5] 王洪,唐凱.低速率語(yǔ)音編碼[M].北京:國(guó)防工業(yè)出版社,2006:72-172.

[6] 李洋,吳玉成.MELP語(yǔ)音編解碼算法在DSP上的優(yōu)化[J].電聲技術(shù), 2010,34(05):44-47.

[7] 鐘磊. G.723.1在DSP數(shù)字對(duì)講機(jī)基帶系統(tǒng)中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(08):13-16.

[8] 陳泰紅,任勝杰,魏宇.手把手教你學(xué) DSP:基于 TMS320 C55x[M].北京:北京航天航空大學(xué)出版社,2011:154-171.

[9] 文軍,王加懂.DSP程序在線編程的研究與實(shí)現(xiàn)[J].信息安全與通信保密.2007(08):193-195.

猜你喜歡
對(duì)講機(jī)基帶解碼
《解碼萬噸站》
幫助聾啞人士交流的“對(duì)講機(jī)”
Ag元素對(duì)Ni-7at.%W合金基帶織構(gòu)形成的影響
家用對(duì)講機(jī)的概述
解碼eUCP2.0
蘋果推出自研基帶芯片要過幾道坎?
蘋果10億美元為5G買“芯”
NAD C368解碼/放大器一體機(jī)
Quad(國(guó)都)Vena解碼/放大器一體機(jī)
耳機(jī)式對(duì)講機(jī)