基于DSP的數(shù)字對講機(jī)基帶系統(tǒng)中的應(yīng)用
隨著通信技術(shù)的發(fā)展,傳統(tǒng)的模擬對講機(jī)已不能滿足人們的需求,對講機(jī)數(shù)字化勢在必行。信息社會的高速發(fā)展使頻譜資源變得愈加寶貴,信道利用率成為一項關(guān)鍵因素。如何在有限的信道資源下,通過壓縮信源以提高傳輸效率,已成為當(dāng)前急需解決的問題之一。DSP數(shù)字信號處理器的運(yùn)算能力越來越強(qiáng),本設(shè)計采用TI公司的通用定DSPTMS320C5509A作為基帶系統(tǒng)的處理器,主要對G.723.1語音壓縮編碼在頻帶、DSP資源有限的數(shù)字對講機(jī)基帶系統(tǒng)中的具體應(yīng)用進(jìn)行研究與實(shí)現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/148898.htm1G.723.1語音壓縮編碼原理
G.723.1標(biāo)準(zhǔn)主要用于對語音及其他多媒體聲音信號的壓縮。該算法是H.324系列標(biāo)準(zhǔn)的一部分,包含2種工作速率:低速率(5.3kbps)采用代數(shù)碼本線性激勵預(yù)測(ACELP),高速率(6.3kbps)采用多脈沖激勵最大似然量化(MP_MLQ)。2種速率的編碼器都以幀為處理單位,幀長為30ms,加上另需7.5ms的延時,總共37.5ms的算法延時。編碼器原理如圖1所示。
輸入的16位線性PC碼流分成長度為240樣點(diǎn)的語音幀。每幀信號先通過1個高通濾波器,去除低頻成分,再分成4個子幀,每個子幀60個樣點(diǎn)。對每個子幀進(jìn)行10階LPC預(yù)測,將最后1個子幀的LPC參數(shù)轉(zhuǎn)化成線譜對LSP參數(shù)。用預(yù)測分裂矢量量化法(PSVQ)進(jìn)行量化。為了減少合成端合成語音信號的誤差,在分析端對LSP系數(shù)解碼、插值后,再變?yōu)長PC系數(shù)。由LPC分析后的LPC系數(shù)可得到共振峰加權(quán)濾波器的系數(shù)。用共振峰加權(quán)濾波器對經(jīng)高通濾波后的語音信號進(jìn)行共振峰加權(quán)濾波,可得到共振峰加權(quán)濾波后的語音信號f(n)。由f(n)經(jīng)基音估計可求出開環(huán)基音周期,基音周期的搜索范圍為18~142個樣點(diǎn)。對每個子幀的語音信號進(jìn)行諧波噪聲整形、沖擊響應(yīng)計算,然后進(jìn)行閉環(huán)基音搜索,求出閉環(huán)基音周期及基音增益,再計算出殘差信號。然后根據(jù)不同的速率進(jìn)行激勵搜索,求出脈沖位置和幅度參數(shù),打包后形成以幀為單位的編碼數(shù)據(jù)流。
2語音系統(tǒng)的結(jié)構(gòu)及硬件原理圖
原始的模擬語音首先要經(jīng)過模數(shù)變換,轉(zhuǎn)化為數(shù)字信號之后,通過串口輸入到DSP中,再進(jìn)行語音壓縮算法。G.723.1標(biāo)準(zhǔn)計算復(fù)雜和數(shù)據(jù)存儲量大的問題使得語音編解碼方案的實(shí)時實(shí)現(xiàn)存在很多困難。為了保證該算法處理的實(shí)時性,本系統(tǒng)選用DSP作為主控芯片,用來實(shí)現(xiàn)編解碼算法。語音系統(tǒng)整體硬件結(jié)構(gòu)如圖2所示。
3語音系統(tǒng)的硬件設(shè)計
本基帶系統(tǒng)的核心部件采用CPLD和DSP。DSP負(fù)責(zé)基帶的數(shù)字化處理,CPLD用于外圍器件的控制。將CPLD和DSP技術(shù)相結(jié)合,一方面能利用DSP軟件控制的靈活性,另一方面又能利用CPLD硬件上的高速、高集成度和可編程性。
本系統(tǒng)選用TMS320C5509A(簡稱C5509A)負(fù)責(zé)G.723.1標(biāo)準(zhǔn)的算法及后續(xù)基帶數(shù)字化的處理(信道編譯碼、交織、加擾、CRC、基帶調(diào)制解調(diào))。該芯片是TMS320C55X系列DSP中的一款,C55X系列的結(jié)構(gòu)見參考文獻(xiàn)[1]。
CPLD主要用來擴(kuò)展DSP的外部地址空間,實(shí)現(xiàn)地址譯碼、時序控制,并給DSP提供所需的邏輯和時序控制信號。本系統(tǒng)選用Altera公司MAX7000系列中的EPM7128,其與DSP的接口電路如圖3(a)所示,其中FSX和FSR幀同步信號端的同步信號相同。原始模擬語音信號必須進(jìn)行數(shù)字化處理后,才能在DSP中進(jìn)行語音壓縮編解碼算法。系統(tǒng)選用的是ADI公司推出的低成本、低功耗通用模擬前端AD7311L,其與DSP的接口電路如圖3(b)所示。由于G.723.1的算法比較復(fù)雜,處理時需要大量的存儲空間,本設(shè)計采用4Mb×16的SDRAM,芯片為MT48LCM16,通過EMIF接口映射到C5509A的CEO空間。其與DSP的接口電路如圖3(c)所示。
4語音系統(tǒng)的軟件設(shè)計
總體軟件流程如圖4所示。當(dāng)DSP處于發(fā)送狀態(tài)時,通過MCBSP1接收來自AD7311L的數(shù)字化語音數(shù)據(jù),調(diào)用語音壓縮編碼程序,編完1幀輸出數(shù)據(jù),然后繼續(xù)進(jìn)行后續(xù)的相關(guān)基帶處理。當(dāng)DSP處于接收狀態(tài)時,接收來自后續(xù)基帶處理的數(shù)據(jù),調(diào)用語音解碼程序;解碼后的語音數(shù)據(jù),再以每幀的數(shù)據(jù)通過MCBSP1送入AD7311L,最后還原成原始語音。下面主要介紹初始化模塊及語音編解碼模塊。
評論