許博浩,郝永生,蘇偉朋
(1.軍械工程學(xué)院 河北 石家莊 050003;2.76327部隊(duì) 湖南 郴州 423000)
北斗衛(wèi)星導(dǎo)航系統(tǒng)是我國自主研發(fā)的且具有通信能力的區(qū)域性衛(wèi)星導(dǎo)航系統(tǒng),目前已經(jīng)投入使用的“北斗一號(hào)”衛(wèi)星可以為我國覆蓋范圍內(nèi)的周邊地區(qū)提供精確的定位、授時(shí)及短報(bào)文通信服務(wù)[1]。隨著“北斗”功能的不斷完善,在各個(gè)領(lǐng)域已經(jīng)得到了廣泛應(yīng)用,尤其是在抗震救災(zāi)等惡劣環(huán)境中的作用日益凸顯。在現(xiàn)有短報(bào)文通信基礎(chǔ)上通過硬件擴(kuò)展及語音壓縮技術(shù),可實(shí)現(xiàn)語音傳輸功能,更加豐富了系統(tǒng)功能,使用戶機(jī)可以向指揮中心語音匯報(bào)情況。
北斗衛(wèi)星通信信道較窄 (普通用戶最高傳輸速度為240字節(jié)/次),若要實(shí)現(xiàn)語音通信功能需解決通信帶寬小與通信數(shù)據(jù)量大之間的矛盾。 針對(duì)以上問題提出基于語音壓縮技術(shù),可實(shí)現(xiàn)語音通信的“北斗”用戶機(jī)設(shè)計(jì)方法。
系統(tǒng)主要由語音采集模塊、語音處理模塊、北斗通信終端及北斗指揮機(jī)構(gòu)成,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 System overall structure
模擬聲音信號(hào)從外設(shè)話筒輸入,經(jīng)A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)后,通過濾波經(jīng)DSP的多通道緩沖串口存入DSP的儲(chǔ)存器,DSP對(duì)數(shù)據(jù)進(jìn)行處理壓縮編碼封包后,由北斗通信終端發(fā)送到北斗指揮機(jī),北斗指揮機(jī)對(duì)收到的數(shù)據(jù)進(jìn)行拆包、解碼,得到語音數(shù)據(jù)。
國際電信聯(lián)盟推出的ITU-TG·729編碼方法采用共軛結(jié)構(gòu)代數(shù)碼本激勵(lì)線性預(yù)測(cè)編碼(CS-ACELP)算法,編碼速率為8 k bit/s具有低延遲和高編碼語音質(zhì)量的特點(diǎn)。輸入的語音信號(hào)的每80點(diǎn)為一個(gè)語音幀并將其分為2個(gè)子幀,經(jīng)分析語音信號(hào),獲取相關(guān)參數(shù)按照一定的順序?qū)ζ溥M(jìn)行編碼送入信道[2]。CS-ACELP編碼原理如圖2所示。
圖2 CS-ACELP編碼原理圖Fig.2 CS-ACELPcoding principle diagram
編 碼 步 驟 為[3-4]:
1)語音信號(hào)通過高通濾波器處理后,以8 kHz的頻率進(jìn)行采樣并量化得到16 bit的PCM信號(hào)進(jìn)入編碼器;
2)每10 ms對(duì)信號(hào)幀用10階線性預(yù)測(cè)作1次短時(shí)分析,然后將得到的LP濾波器系數(shù)轉(zhuǎn)化為L(zhǎng)SP(線譜對(duì))參數(shù),LSP參數(shù)用二級(jí)分裂式矢量量化,量化和未被量化的LP參數(shù)構(gòu)成感覺加權(quán)濾波器與合成濾波器系數(shù);
3)經(jīng)過感知加權(quán)的語音信號(hào)減去感知加權(quán)濾波器的零輸入響應(yīng)得到目標(biāo)信號(hào);
4)在固定碼本和自適應(yīng)碼本中搜索目標(biāo)信號(hào),分別產(chǎn)生固定碼本激勵(lì)和自適應(yīng)碼本激勵(lì),與各自激勵(lì)增益相乘后共同激勵(lì)合成濾波器,經(jīng)過綜合濾波器產(chǎn)生合成語音信號(hào)[5]。不斷重復(fù)步驟 2)~4)進(jìn)行編碼。
G·729解碼是將碼流進(jìn)行解碼,得到相應(yīng)參數(shù)并重建語音,整個(gè)過程也是按幀進(jìn)行的。如圖3,其步驟為:
圖3 CS-ACELP解碼原理圖Fig.3 CS-ACELP decoding principle bit
1)解碼器根據(jù)碼流結(jié)構(gòu)提取參數(shù)序號(hào)并解碼,得出參數(shù)序號(hào)對(duì)應(yīng)的10 ms語音幀的編碼參數(shù);
2)每個(gè)子幀的LSP系數(shù)轉(zhuǎn)換為L(zhǎng)P系數(shù),固定碼本和自適應(yīng)碼本進(jìn)行增益并且二者相加,構(gòu)成語音激勵(lì)信號(hào);
3)語音激勵(lì)信號(hào)通過LP合成濾波器得到語音。
本設(shè)計(jì)方案選用TMS320V C4510 DSP完成語音壓縮編碼,該芯片具有運(yùn)行速度快、功耗低、吞吐能力強(qiáng)等特點(diǎn),非常適合用于語音壓縮處理[6]。該硬件系統(tǒng)配置了64 k×16 bit RAM、128 k×8 Flash ROM,分別映射到程序存儲(chǔ)器空間和程序空間。程序啟動(dòng)時(shí)系統(tǒng)自動(dòng)加載,語音編解碼程序轉(zhuǎn)化成引導(dǎo)程序所能識(shí)別的格式存儲(chǔ)在Flash中,系統(tǒng)啟動(dòng)時(shí)會(huì)自動(dòng)導(dǎo)儲(chǔ)存在Flash中的編解碼程序,加載到高速的DARAM和SARAM空間。語音輸入時(shí),語音信號(hào)經(jīng)由A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào)并送入DSP的多通道緩沖串口,由中斷程序讀入,存放于主程序的緩沖區(qū)。當(dāng)緩沖區(qū)儲(chǔ)存滿則立即調(diào)用語音編碼程序,進(jìn)行編碼處理,DSP與北斗通信終端通過USB進(jìn)行的數(shù)據(jù)交換,隨后通過北斗通信終端進(jìn)行傳輸。圖4為基于DSP的CS-ACELP語音壓縮編碼實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)。
圖4 CS-ACELP語音編碼在DSP上的實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)圖Fig.4 CS-ACELPvoice coding on the DSP implementation of system structure
輸入的語音在編碼時(shí),PCM接口電路以8 kHz的頻率對(duì)語音信號(hào)采樣和量化,將得到的16 bit PCM信號(hào)存入緩沖區(qū)并將幀同步信號(hào)提供給DSP。DSP對(duì)語音信號(hào)進(jìn)行編碼,將編碼后的數(shù)據(jù)以10 B/幀打包,每10 ms發(fā)送一次數(shù)據(jù)包給北斗通訊終端,待數(shù)據(jù)接收完畢后北斗通訊終端對(duì)數(shù)據(jù)封包發(fā)送至北斗指揮機(jī)。
北斗導(dǎo)航系統(tǒng)在通訊時(shí)每次傳輸數(shù)量必須限制在240字節(jié)以內(nèi),因此在進(jìn)行大量數(shù)據(jù)傳輸時(shí),需要對(duì)其進(jìn)行分包傳輸[7]。具體就是把大數(shù)據(jù)包拆分為系統(tǒng)所允許傳輸數(shù)據(jù)量的n個(gè)小數(shù)據(jù)包,然后每個(gè)小的數(shù)據(jù)包加上相對(duì)應(yīng)的包頭,包頭中含有數(shù)據(jù)的序列信息,將分包依次發(fā)送出去。接收端部分在接收到各個(gè)數(shù)據(jù)包后,對(duì)其進(jìn)行對(duì)比驗(yàn)證,確認(rèn)所有數(shù)據(jù)包是否完全接收,完全接收的數(shù)據(jù)包合并成分割前的數(shù)據(jù)。
整個(gè)數(shù)據(jù)發(fā)送過程包括數(shù)據(jù)分包發(fā)送、查詢響應(yīng)信息分析以及補(bǔ)報(bào)流程。待所有家數(shù)據(jù)發(fā)送完之后向接收端發(fā)送查詢命令,查詢命令中包含本次發(fā)送信息一共含有數(shù)據(jù)包數(shù)量,通過查詢收到數(shù)據(jù)可以得知有無丟包現(xiàn)象。如果系統(tǒng)丟包則會(huì)重新發(fā)送所丟包,連續(xù)3次發(fā)送失敗怎么繼續(xù)進(jìn)行其他數(shù)據(jù)包發(fā)送,待其他數(shù)據(jù)包發(fā)送完畢后進(jìn)行補(bǔ)報(bào)發(fā)送。圖5為數(shù)據(jù)發(fā)送端工作流程。
圖5 發(fā)送端工作流程圖Fig.5 The sender work flow chart
本實(shí)驗(yàn)對(duì)原始語音波形、經(jīng)過壓縮系統(tǒng)后重建語音波形及經(jīng)北斗發(fā)送后重建語音波形進(jìn)行分析,從仿真結(jié)果及實(shí)際體驗(yàn)可以得出,語音質(zhì)量滿足設(shè)計(jì)要求。圖6為一段1 s的語音波形,圖7為一段1 s經(jīng)過壓縮系統(tǒng)后重建語音波形,圖8為一段1 s經(jīng)北斗發(fā)送后重建語音波形。對(duì)比可以發(fā)現(xiàn)原始語音與壓縮后重建語音波形基本接近,經(jīng)北斗傳輸后語音與壓縮重建語音幾乎完全一致,語音效果達(dá)到了預(yù)想要求。
圖6 原始語音Fig.6 The original voice
圖7 壓縮重建語音Fig.7 Voice compression reconstruction
圖8 傳輸重建語音Fig.8 Voice transmission reconstruction
通過對(duì)語音進(jìn)行壓縮設(shè)計(jì),利用北斗通信功能實(shí)現(xiàn)語音傳輸,極大擴(kuò)展了北斗衛(wèi)星導(dǎo)航系統(tǒng)的應(yīng)用。但在實(shí)驗(yàn)北斗通信偶爾會(huì)出現(xiàn)丟包、誤碼的情況影響了語音傳輸?shù)馁|(zhì)量,若要廣泛應(yīng)用與各個(gè)領(lǐng)域需要進(jìn)一步加深研究,主要是要解決北斗通信數(shù)據(jù)傳輸?shù)却龝r(shí)間、傳輸速率、丟包及誤碼率的問題。隨著研究技術(shù)的不斷進(jìn)步,北斗語音通信功能,將在各個(gè)領(lǐng)域得到廣泛應(yīng)用。
[1]呂偉,朱建軍.北斗衛(wèi)星導(dǎo)航系統(tǒng)發(fā)展綜述[J].地礦測(cè)繪,2007,23(3):29-32.LV Wei,ZHU Jiang-jun.BeiDou satellite navigation system development review[J].Journal of Surveying and Mapping,2007,23(3):29-32.
[2]洪景新,陳國伙,劉光增.基于DSP的ITU-T G·729語音編解碼實(shí)現(xiàn)[J].廈門大學(xué)學(xué)報(bào):自然科學(xué)版,2004,43(3):335-338.HONG Jing-xin,CHEN Guo-huo,LIU Guang-zeng.ITU-T G·729 speech codec based on DSP implementation[J].Journal of Xiamen University:Natural Science Edition,2004,43(3):335-338.
[3]劉興云.基于DSP的8 kb/s語音壓縮算法的分析與研究[J].湖北師范學(xué)院學(xué)報(bào)自然科學(xué)版,2005,25(1):63-65.LIUXing-yun.Analysisand study of 8 KB/sspeech compression algorithmbased on DSP[J].Journal of Hubei Normal University Natural Science Edition,2005,25(1):63-65.
[4]許紅麗,闞海鷹,余小清,等.G·729 CS-ACELP語音編碼算法的優(yōu)化及其DSP實(shí)現(xiàn)[J].上海大學(xué)學(xué)報(bào):自然科學(xué)版,2001,7(1):13-17.XU Gong-li,KAN Hai-ying,YU Xiao-qing,et al.A speech coding algorithm based on G.729 GS-ACELP and itsimplementation[J].Journal of Shanghai University Natural Science Edition,2001,7(1):13-17.
[5]周昕,苗長(zhǎng)云,歷彥峰,等.CS-ACELP語音編碼算法的優(yōu)化及其在DSP上的實(shí)現(xiàn)[J].工礦自動(dòng)化,2009(12):69-72.ZHOU Xin,MIAO Chang-yun,LI Yan-feng,et al.CSACELP speech coding algorithm of optimization and its implementation on DSP[J].Journal of Industrial Automation,2009(12):69-72.
[6]張雄偉,曹鐵勇.DSP芯片的原理與開發(fā)應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[7]成方林,張翼飛,劉佳佳.基于“北斗”衛(wèi)星導(dǎo)航系統(tǒng)的長(zhǎng)報(bào)文通信協(xié)議[J].海洋技術(shù),2008,1(27):26-28.CHENGFang-lin,ZHANGYi-fei,LIUJia-jia.Thelongmessage communication protocol based on “BeiDou” satellitenavigation system[J].Marine Technology,2008,1(27):26-28.