夏 輝
(中國人民解放軍92728部隊(duì),上海200436)
“北斗”是我國自主研制、獨(dú)立運(yùn)行的衛(wèi)星導(dǎo)航定位系統(tǒng),其目的在于為全球帶來便利,同時(shí)也為保障國防安全。80年代,我國就開始研制自己的北斗導(dǎo)航定位系統(tǒng),經(jīng)過近20年的發(fā)展,北斗衛(wèi)星導(dǎo)航系統(tǒng)愈發(fā)成熟,為我國帶來了巨大的經(jīng)濟(jì)效益?!氨倍贰毙l(wèi)星導(dǎo)航定位系統(tǒng),簡稱北斗系統(tǒng),是我國自行研制的區(qū)域性無源衛(wèi)星定位系統(tǒng)和有源三維衛(wèi)星定位系統(tǒng)。北斗系統(tǒng)還提供了簡短雙向報(bào)文通信的功能,使用戶機(jī)與中心站、用戶機(jī)與用戶機(jī)之間可進(jìn)行數(shù)據(jù)通信,極大地豐富了系統(tǒng)功能。除此之外,北斗系統(tǒng)還具備定時(shí)、授時(shí)功能。現(xiàn)有的北斗用戶機(jī)只具備普通的報(bào)文通信、定位和導(dǎo)航功能。但是,在抗險(xiǎn)救災(zāi)等惡劣環(huán)境中,有時(shí)需要實(shí)時(shí)進(jìn)行語音通信,這是當(dāng)前的用戶機(jī)所不具備的[1-3]。針對現(xiàn)有用戶機(jī)的上述不足與缺陷,在前人基礎(chǔ)之上提出一種基于北斗通信的虛擬多SIM卡語音通信傳輸技術(shù)[4-7]。
系統(tǒng)由硬件和軟件2部分組成。硬件部分包括外設(shè)模塊、語音處理模塊以及北斗處理模塊。軟件部分包括DSP信息處理軟件。系統(tǒng)組成框圖如圖1所示。
系統(tǒng)工作流程:語音發(fā)送端北斗用戶機(jī)外設(shè)模塊的話筒獲取外界語音信息發(fā)送給語音處理模塊,語音處理模塊把語音信息壓縮編碼后形成的數(shù)據(jù)流通過MCU接口模塊發(fā)送給北斗處理模塊,北斗處理模塊封包成短報(bào)文后由北斗天線發(fā)送給語音接收端北斗用戶機(jī),語音接收端北斗用戶機(jī)將接收數(shù)據(jù)經(jīng)北斗處理模塊拆包后發(fā)送給語音處理模塊,語音處理模塊通過MCU接口模塊接收語音數(shù)據(jù)流并對語音壓縮碼流進(jìn)解碼,還原成模擬語音由外設(shè)模塊聽筒輸出。
圖1 系統(tǒng)組成
北斗處理模塊包含基帶處理單元和信息處理單元2部分?;鶐幚韱卧?fù)責(zé)語音信號的發(fā)射與接收;信息處理單元負(fù)責(zé)語音數(shù)據(jù)的拆包、封包、語音數(shù)據(jù)的實(shí)時(shí)發(fā)送、虛擬多卡的管理以及丟包重發(fā)的處理。
基帶處理單元由接收通道和發(fā)射通道組成,衛(wèi)星信號通過天線進(jìn)入射頻模塊,采用2次變頻,最后輸出2路相位相反的零中頻信號,經(jīng)A/D 芯片(AD9288)采樣后,F(xiàn)PGA(芯片EP3C120F484)根據(jù)信號格式對輸入信號進(jìn)行捕獲、跟蹤、解調(diào)、幀同步以及譯碼。發(fā)射通道由FPGA對發(fā)送的數(shù)據(jù)按格式要求進(jìn)行卷積編碼,并擴(kuò)頻調(diào)制,經(jīng)射頻模塊一次變頻并放大,由天線發(fā)射出去。
信息處理單元CPU由TMS320C6747DZKBA3,工作主頻300 MHz,是TI公司推出的極低功耗DSP芯片、SPI FLASH、SDRAM以及外圍電路組成。衛(wèi)星信號經(jīng)過FPGA譯碼后,通過EMIF總線送DSP處理解析出語音數(shù)據(jù)并封包發(fā)送給語音處理模塊播放語音。
語音處理模塊采用深圳市邁可為科技有限公司自主研發(fā)的一款多碼率語音編解碼芯片MA24126-P1[8-9]。該語音處理算法結(jié)合了二元激勵(lì)、碼激勵(lì)和多帶激勵(lì)的優(yōu)點(diǎn),將短時(shí)語音劃分為若干子帶,在每個(gè)子帶中分別進(jìn)行清濁音判決。在合成端,采用周期性脈沖和隨機(jī)噪聲的混合序列去激勵(lì)語音合成濾波器,能在較低的碼率下(小于2 400 bps)得到較高質(zhì)量的再生語音。MA24126-P1 支持600,1 200,2 400 bps 三種編碼速率,速率的選擇可由芯片外部管腳或軟件命令進(jìn)行控制。包含語音接口模塊、語音算法模塊、MCU接口模塊和語音配置模塊4部分。
算法模塊:實(shí)現(xiàn)與語音編解碼算法相關(guān)的功能,是語音處理模塊的核心模塊。
語音接口模塊:與外設(shè)模塊相連,用于傳輸語音數(shù)據(jù)。
MCU接口模塊:與北斗處理模塊相連,用于傳輸編解碼數(shù)據(jù)及配置數(shù)據(jù)。
語音配置模塊:根據(jù)配置引腳狀態(tài)或外部配置數(shù)據(jù)來對語音處理模塊功能進(jìn)行配置。
處理模塊包含話筒和聽筒,與語音處理模塊進(jìn)行連接,實(shí)現(xiàn)模擬語音的輸入和輸出。
系統(tǒng)軟件部分由DSP信息處理軟件完成。
北斗數(shù)據(jù)傳輸有頻度限制,即一次通信完成需要等待一段時(shí)間才能再次通信,每次通信的字節(jié)數(shù)也有限制,而語音信息數(shù)據(jù)量都相對普通短報(bào)文通信較大,單張卡不能保證語音的實(shí)時(shí)性且完成一次語音通信的耗時(shí)相對較長。
為了解決頻度和字節(jié)數(shù)限制,本系統(tǒng)采用虛擬多SIM卡實(shí)現(xiàn)并合理規(guī)劃SIM卡張數(shù)、發(fā)射頻度、通信等級和語音模塊編碼之間的關(guān)系;為了解決語音的實(shí)時(shí)性和完成一次語音通信的耗時(shí)較長問題,本系統(tǒng)采用接收語音數(shù)據(jù)和發(fā)射北斗報(bào)文同時(shí)進(jìn)行的設(shè)計(jì)策略。
下面從虛擬多SIM卡實(shí)現(xiàn)、語音通信的傳輸協(xié)議、SIM卡和語音模塊編碼速率選擇、語音發(fā)送和接收兩端分別說明北斗語音通信工作流程。
3.2.1 多SIM卡信息存儲
由于體積限制,本系統(tǒng)北斗處理模塊硬件上只保留一個(gè)SIM卡槽,卡槽用于北斗處理模塊讀取SIM卡信息。SIM卡信息被讀取后存入DSP的SPI FLASH中。多SIM卡信息存儲流程圖如圖2所示[16-18]。
圖2 多SIM卡信息存儲流程
3.2.2 多SIM卡接收和發(fā)射管理
在所有讀取的多個(gè)SIM卡中,設(shè)置一個(gè)主卡用于接收語音通信和請求發(fā)送方重發(fā)語音信息。
語音發(fā)送時(shí)語音數(shù)據(jù)優(yōu)先級最高,需要對多SIM卡合理管理才能更高效更充分地利用北斗資源和更合理地使用SIM卡。多SIM卡發(fā)射管理流程圖如圖3所示。
圖3 多SIM卡發(fā)射管理流程
發(fā)送端北斗處理模塊接收語音處理模塊發(fā)來的語音數(shù)據(jù),當(dāng)接收的語音數(shù)據(jù)滿足當(dāng)前IC卡允許發(fā)射的最大數(shù)據(jù),馬上發(fā)射語音通信數(shù)據(jù)給接收端北斗用戶機(jī),此時(shí)完成一次語音通信的用時(shí)最短。
在既要保證用時(shí)最短又要保證語音通信成功率的前提下,制定語音通信數(shù)據(jù)幀格式如表1所示,N為一次語音通信的總幀數(shù),M為IC卡允許一次發(fā)送的最大字節(jié)數(shù)。
表1 語音通信數(shù)據(jù)幀格式
在語音發(fā)送過程中無法獲取本次語音通信的總幀數(shù),除最后一幀外總幀數(shù)字段都填0,最后一幀填寫總幀數(shù),用于本次語音通信接收端用戶機(jī)判斷是否成本次語音通信和保證語音通信成功率向發(fā)送端用戶機(jī)申請重發(fā)未收到的數(shù)據(jù)幀。
在實(shí)際申請北斗SIM卡時(shí),運(yùn)營部門對高頻度SIM卡管理比較嚴(yán)格,本系統(tǒng)采用60 s最低頻度北斗SIM卡。對語音處理模塊在600、1 200,2 400 bps三種不同編碼速率下進(jìn)行通話質(zhì)量測試,語音清晰,語音質(zhì)量沒有明顯差別都滿足設(shè)計(jì)要求。
下面對語音處理模塊選擇不同編碼速率和SIM卡選擇不同通信等級,實(shí)現(xiàn)語音通信時(shí)間不受頻度限制所使用的SIM卡張數(shù)進(jìn)行比較分析,發(fā)射1 s語音SIM卡使用張數(shù)如表2所示。
表2 語音時(shí)間不受限SIM卡使用張數(shù)
由表2可知,選擇速率600 bps和通信等級4級時(shí)SIM卡使用張數(shù)最少,42張就能保證語音通信時(shí)間可以不受SIM卡頻度限制一直發(fā)射語音通信??紤]到高通信等級北斗SIM卡在申請流程上受限本系統(tǒng)使用通信等級為3級的北斗SIM卡。
綜合考慮,本系統(tǒng)使用60 s頻度通信等級為3級的北斗SIM卡,語音處理模塊編碼速率使用600 bps來實(shí)現(xiàn)語音通信功能。
發(fā)射端北斗處理模塊工作的關(guān)鍵在于語音信息的發(fā)射流程和虛擬多SIM卡發(fā)射的配合使用管理,其中關(guān)鍵問題有,語音重發(fā)判斷、語音結(jié)束判斷,語音重發(fā)優(yōu)先級最高,保證當(dāng)前語音完畢后才能進(jìn)行下一次語音通信,在沒有重發(fā)的語音數(shù)據(jù)時(shí)才進(jìn)行正常的語音發(fā)射流程,語音說完或者達(dá)到限定的最大長度字節(jié)限制都可以結(jié)束發(fā)端語音通信流程。
發(fā)端工作流程如圖4所示,具體實(shí)現(xiàn)步驟如下[10-12]:
① 判斷是否需要重發(fā)語音數(shù)據(jù),如果不需要,轉(zhuǎn)步驟2執(zhí)行。
② 接收語音處理模塊發(fā)來的語音數(shù)據(jù)并存儲,同時(shí)判斷是否到達(dá)最大語音時(shí)間限制。如果沒有,轉(zhuǎn)步驟③執(zhí)行;如果達(dá)到,轉(zhuǎn)步驟⑤執(zhí)行。
③ 判斷接收的語音數(shù)據(jù)是否達(dá)到當(dāng)前SIM的發(fā)送最大字節(jié)限制,如果是轉(zhuǎn)步驟④執(zhí)行,如果沒有回到步驟②執(zhí)行。
④ 發(fā)送非尾包數(shù)據(jù),判斷本次語音是否完畢,如果完畢轉(zhuǎn)步驟⑤執(zhí)行,如果沒有回到步驟②執(zhí)行。
⑤ 發(fā)送尾包數(shù)據(jù),本次語音通信完畢。
圖4 發(fā)端工作流程
接收端北斗處理模塊工作的關(guān)鍵在于本次語音通信結(jié)束的判斷和超時(shí)請求重發(fā)的判斷,由于語音實(shí)時(shí)傳輸,只有尾包中包含總包數(shù),收到總包數(shù)后才能判斷語音數(shù)據(jù)丟包情況,所以如果在沒收到尾包是定時(shí)器超時(shí),一直請求重發(fā)尾包,知道收到然后統(tǒng)計(jì)接收情況,請求重發(fā)直至語音通信完成。
發(fā)端工作流程如圖5所示,具體實(shí)現(xiàn)步驟如下[13-15]:
① 接收端用戶機(jī)接收到電文信息,根據(jù)電文信息頭判斷電文類型,根據(jù)不同電文類型轉(zhuǎn)相應(yīng)步驟(步驟②、步驟③)執(zhí)行。
② 普通北斗電文走普通北斗電文處理流程。
③ 如果是語音電文首先存儲然后判斷是否為尾包或者重發(fā)數(shù)據(jù)包(尾包和重發(fā)包中帶有本次語音通信的總包數(shù)),如果是轉(zhuǎn)步驟④執(zhí)行,如果不是轉(zhuǎn)步驟⑤執(zhí)行。
④ 統(tǒng)計(jì)電文語音電文接收狀態(tài)判斷電文是否收齊,如果是轉(zhuǎn)步驟⑧執(zhí)行,如果沒有轉(zhuǎn)步驟⑦執(zhí)行。
⑤ 打開動(dòng)態(tài)超時(shí)定時(shí)器(根據(jù)包號的不同超時(shí)時(shí)間也不同,包號越小超時(shí)時(shí)間越長)判斷是否超時(shí),如果是轉(zhuǎn)步驟⑥執(zhí)行,如果沒有回到步驟①執(zhí)行。
⑥ 請求發(fā)送方重發(fā)尾包數(shù)據(jù)。
⑦ 請求發(fā)送方重發(fā)相應(yīng)數(shù)據(jù)包。
⑧ 語音數(shù)據(jù)發(fā)送語音處理模塊解碼,本次語音通信完畢。
圖5 收端工作流程
使用2臺新型車載“北斗”用戶機(jī)(CZ1機(jī)和CZ2機(jī)),每臺車載機(jī)采用北斗SIM卡57張,發(fā)射頻度60 s,通信等級3級(最多發(fā)射長度78.5 Bytes)。分別讀取57張SIM卡信息存儲到車載用戶機(jī)中,語音模塊采用600 bps(每秒語音模塊編解碼75 Bytes)編解碼速率的配置進(jìn)行測試試驗(yàn)。分開兩地,核對好時(shí)間,語音通信實(shí)驗(yàn)結(jié)果如表3所示。
從表3可以看出,利用“北斗”車載用戶機(jī)在不影響其定位位置報(bào)告等功能的情況下,實(shí)現(xiàn)了語音通信傳輸功能,語音被叫方播放語音清晰,語音模塊采用600 bps編解碼速率語音通話質(zhì)量較好,但發(fā)送語音較長時(shí)有重發(fā)的情況。
在第1,2,4,5次沒有重發(fā)的情況下,主叫方語音說完2 s(車載機(jī)處理時(shí)延)后被叫方開始播放語音。
第3次測試時(shí),有重發(fā)的情況,重發(fā)1包語音數(shù)據(jù),主叫方15 s語音說完4 s(車載機(jī)處理時(shí)延2 s,請求重發(fā)和重發(fā)時(shí)延2 s)后,被叫方開始播放語音。
本次測試發(fā)送語音數(shù)據(jù)共94 s,發(fā)射語音通信共96次(語音數(shù)據(jù)94次、被叫方CZ2請求重發(fā)1次和主叫方CZ1重發(fā)1次)。
表3 語音通信實(shí)驗(yàn)結(jié)果
在音頻信號高質(zhì)量壓縮的基礎(chǔ)上,利用北斗通信信道和虛擬多SIM卡技術(shù)實(shí)現(xiàn)北斗用戶機(jī)語音通信功能。該設(shè)計(jì)已在新型車載“北斗”用戶機(jī)中實(shí)現(xiàn)其應(yīng)用,達(dá)到了預(yù)期要求。豐富了“北斗”用戶機(jī)在各個(gè)科研領(lǐng)域的應(yīng)用范圍。隨著對北斗語音通信技術(shù)研究的進(jìn)一步加深,其應(yīng)用將擴(kuò)展到漁船通訊、艦隊(duì)指揮、抗震和抗洪指揮等更加寬廣的領(lǐng)域。