夏 輝
(中國人民解放軍92728部隊,上海200436)
“北斗”是我國自主研制、獨立運行的衛(wèi)星導航定位系統(tǒng),其目的在于為全球帶來便利,同時也為保障國防安全。80年代,我國就開始研制自己的北斗導航定位系統(tǒng),經(jīng)過近20年的發(fā)展,北斗衛(wèi)星導航系統(tǒng)愈發(fā)成熟,為我國帶來了巨大的經(jīng)濟效益?!氨倍贰毙l(wèi)星導航定位系統(tǒng),簡稱北斗系統(tǒng),是我國自行研制的區(qū)域性無源衛(wèi)星定位系統(tǒng)和有源三維衛(wèi)星定位系統(tǒng)。北斗系統(tǒng)還提供了簡短雙向報文通信的功能,使用戶機與中心站、用戶機與用戶機之間可進行數(shù)據(jù)通信,極大地豐富了系統(tǒng)功能。除此之外,北斗系統(tǒng)還具備定時、授時功能?,F(xiàn)有的北斗用戶機只具備普通的報文通信、定位和導航功能。但是,在抗險救災等惡劣環(huán)境中,有時需要實時進行語音通信,這是當前的用戶機所不具備的[1-3]。針對現(xiàn)有用戶機的上述不足與缺陷,在前人基礎之上提出一種基于北斗通信的虛擬多SIM卡語音通信傳輸技術[4-7]。
系統(tǒng)由硬件和軟件2部分組成。硬件部分包括外設模塊、語音處理模塊以及北斗處理模塊。軟件部分包括DSP信息處理軟件。系統(tǒng)組成框圖如圖1所示。
系統(tǒng)工作流程:語音發(fā)送端北斗用戶機外設模塊的話筒獲取外界語音信息發(fā)送給語音處理模塊,語音處理模塊把語音信息壓縮編碼后形成的數(shù)據(jù)流通過MCU接口模塊發(fā)送給北斗處理模塊,北斗處理模塊封包成短報文后由北斗天線發(fā)送給語音接收端北斗用戶機,語音接收端北斗用戶機將接收數(shù)據(jù)經(jīng)北斗處理模塊拆包后發(fā)送給語音處理模塊,語音處理模塊通過MCU接口模塊接收語音數(shù)據(jù)流并對語音壓縮碼流進解碼,還原成模擬語音由外設模塊聽筒輸出。

圖1 系統(tǒng)組成
北斗處理模塊包含基帶處理單元和信息處理單元2部分?;鶐幚韱卧撠熣Z音信號的發(fā)射與接收;信息處理單元負責語音數(shù)據(jù)的拆包、封包、語音數(shù)據(jù)的實時發(fā)送、虛擬多卡的管理以及丟包重發(fā)的處理。
基帶處理單元由接收通道和發(fā)射通道組成,衛(wèi)星信號通過天線進入射頻模塊,采用2次變頻,最后輸出2路相位相反的零中頻信號,經(jīng)A/D 芯片(AD9288)采樣后,F(xiàn)PGA(芯片EP3C120F484)根據(jù)信號格式對輸入信號進行捕獲、跟蹤、解調、幀同步以及譯碼。發(fā)射通道由FPGA對發(fā)送的數(shù)據(jù)按格式要求進行卷積編碼,并擴頻調制,經(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]。該語音處理算法結合了二元激勵、碼激勵和多帶激勵的優(yōu)點,將短時語音劃分為若干子帶,在每個子帶中分別進行清濁音判決。在合成端,采用周期性脈沖和隨機噪聲的混合序列去激勵語音合成濾波器,能在較低的碼率下(小于2 400 bps)得到較高質量的再生語音。MA24126-P1 支持600,1 200,2 400 bps 三種編碼速率,速率的選擇可由芯片外部管腳或軟件命令進行控制。包含語音接口模塊、語音算法模塊、MCU接口模塊和語音配置模塊4部分。
算法模塊:實現(xiàn)與語音編解碼算法相關的功能,是語音處理模塊的核心模塊。
語音接口模塊:與外設模塊相連,用于傳輸語音數(shù)據(jù)。
MCU接口模塊:與北斗處理模塊相連,用于傳輸編解碼數(shù)據(jù)及配置數(shù)據(jù)。
語音配置模塊:根據(jù)配置引腳狀態(tài)或外部配置數(shù)據(jù)來對語音處理模塊功能進行配置。
處理模塊包含話筒和聽筒,與語音處理模塊進行連接,實現(xiàn)模擬語音的輸入和輸出。
系統(tǒng)軟件部分由DSP信息處理軟件完成。
北斗數(shù)據(jù)傳輸有頻度限制,即一次通信完成需要等待一段時間才能再次通信,每次通信的字節(jié)數(shù)也有限制,而語音信息數(shù)據(jù)量都相對普通短報文通信較大,單張卡不能保證語音的實時性且完成一次語音通信的耗時相對較長。
為了解決頻度和字節(jié)數(shù)限制,本系統(tǒng)采用虛擬多SIM卡實現(xiàn)并合理規(guī)劃SIM卡張數(shù)、發(fā)射頻度、通信等級和語音模塊編碼之間的關系;為了解決語音的實時性和完成一次語音通信的耗時較長問題,本系統(tǒng)采用接收語音數(shù)據(jù)和發(fā)射北斗報文同時進行的設計策略。
下面從虛擬多SIM卡實現(xiàn)、語音通信的傳輸協(xié)議、SIM卡和語音模塊編碼速率選擇、語音發(fā)送和接收兩端分別說明北斗語音通信工作流程。
3.2.1 多SIM卡信息存儲
由于體積限制,本系統(tǒng)北斗處理模塊硬件上只保留一個SIM卡槽,卡槽用于北斗處理模塊讀取SIM卡信息。SIM卡信息被讀取后存入DSP的SPI FLASH中。多SIM卡信息存儲流程圖如圖2所示[16-18]。

圖2 多SIM卡信息存儲流程
3.2.2 多SIM卡接收和發(fā)射管理
在所有讀取的多個SIM卡中,設置一個主卡用于接收語音通信和請求發(fā)送方重發(fā)語音信息。
語音發(fā)送時語音數(shù)據(jù)優(yōu)先級最高,需要對多SIM卡合理管理才能更高效更充分地利用北斗資源和更合理地使用SIM卡。多SIM卡發(fā)射管理流程圖如圖3所示。

圖3 多SIM卡發(fā)射管理流程
發(fā)送端北斗處理模塊接收語音處理模塊發(fā)來的語音數(shù)據(jù),當接收的語音數(shù)據(jù)滿足當前IC卡允許發(fā)射的最大數(shù)據(jù),馬上發(fā)射語音通信數(shù)據(jù)給接收端北斗用戶機,此時完成一次語音通信的用時最短。
在既要保證用時最短又要保證語音通信成功率的前提下,制定語音通信數(shù)據(jù)幀格式如表1所示,N為一次語音通信的總幀數(shù),M為IC卡允許一次發(fā)送的最大字節(jié)數(shù)。

表1 語音通信數(shù)據(jù)幀格式
在語音發(fā)送過程中無法獲取本次語音通信的總幀數(shù),除最后一幀外總幀數(shù)字段都填0,最后一幀填寫總幀數(shù),用于本次語音通信接收端用戶機判斷是否成本次語音通信和保證語音通信成功率向發(fā)送端用戶機申請重發(fā)未收到的數(shù)據(jù)幀。
在實際申請北斗SIM卡時,運營部門對高頻度SIM卡管理比較嚴格,本系統(tǒng)采用60 s最低頻度北斗SIM卡。對語音處理模塊在600、1 200,2 400 bps三種不同編碼速率下進行通話質量測試,語音清晰,語音質量沒有明顯差別都滿足設計要求。
下面對語音處理模塊選擇不同編碼速率和SIM卡選擇不同通信等級,實現(xiàn)語音通信時間不受頻度限制所使用的SIM卡張數(shù)進行比較分析,發(fā)射1 s語音SIM卡使用張數(shù)如表2所示。

表2 語音時間不受限SIM卡使用張數(shù)
由表2可知,選擇速率600 bps和通信等級4級時SIM卡使用張數(shù)最少,42張就能保證語音通信時間可以不受SIM卡頻度限制一直發(fā)射語音通信??紤]到高通信等級北斗SIM卡在申請流程上受限本系統(tǒng)使用通信等級為3級的北斗SIM卡。
綜合考慮,本系統(tǒng)使用60 s頻度通信等級為3級的北斗SIM卡,語音處理模塊編碼速率使用600 bps來實現(xiàn)語音通信功能。
發(fā)射端北斗處理模塊工作的關鍵在于語音信息的發(fā)射流程和虛擬多SIM卡發(fā)射的配合使用管理,其中關鍵問題有,語音重發(fā)判斷、語音結束判斷,語音重發(fā)優(yōu)先級最高,保證當前語音完畢后才能進行下一次語音通信,在沒有重發(fā)的語音數(shù)據(jù)時才進行正常的語音發(fā)射流程,語音說完或者達到限定的最大長度字節(jié)限制都可以結束發(fā)端語音通信流程。
發(fā)端工作流程如圖4所示,具體實現(xiàn)步驟如下[10-12]:
① 判斷是否需要重發(fā)語音數(shù)據(jù),如果不需要,轉步驟2執(zhí)行。
② 接收語音處理模塊發(fā)來的語音數(shù)據(jù)并存儲,同時判斷是否到達最大語音時間限制。如果沒有,轉步驟③執(zhí)行;如果達到,轉步驟⑤執(zhí)行。
③ 判斷接收的語音數(shù)據(jù)是否達到當前SIM的發(fā)送最大字節(jié)限制,如果是轉步驟④執(zhí)行,如果沒有回到步驟②執(zhí)行。
④ 發(fā)送非尾包數(shù)據(jù),判斷本次語音是否完畢,如果完畢轉步驟⑤執(zhí)行,如果沒有回到步驟②執(zhí)行。
⑤ 發(fā)送尾包數(shù)據(jù),本次語音通信完畢。

圖4 發(fā)端工作流程
接收端北斗處理模塊工作的關鍵在于本次語音通信結束的判斷和超時請求重發(fā)的判斷,由于語音實時傳輸,只有尾包中包含總包數(shù),收到總包數(shù)后才能判斷語音數(shù)據(jù)丟包情況,所以如果在沒收到尾包是定時器超時,一直請求重發(fā)尾包,知道收到然后統(tǒng)計接收情況,請求重發(fā)直至語音通信完成。
發(fā)端工作流程如圖5所示,具體實現(xiàn)步驟如下[13-15]:
① 接收端用戶機接收到電文信息,根據(jù)電文信息頭判斷電文類型,根據(jù)不同電文類型轉相應步驟(步驟②、步驟③)執(zhí)行。
② 普通北斗電文走普通北斗電文處理流程。
③ 如果是語音電文首先存儲然后判斷是否為尾包或者重發(fā)數(shù)據(jù)包(尾包和重發(fā)包中帶有本次語音通信的總包數(shù)),如果是轉步驟④執(zhí)行,如果不是轉步驟⑤執(zhí)行。
④ 統(tǒng)計電文語音電文接收狀態(tài)判斷電文是否收齊,如果是轉步驟⑧執(zhí)行,如果沒有轉步驟⑦執(zhí)行。
⑤ 打開動態(tài)超時定時器(根據(jù)包號的不同超時時間也不同,包號越小超時時間越長)判斷是否超時,如果是轉步驟⑥執(zhí)行,如果沒有回到步驟①執(zhí)行。
⑥ 請求發(fā)送方重發(fā)尾包數(shù)據(jù)。
⑦ 請求發(fā)送方重發(fā)相應數(shù)據(jù)包。
⑧ 語音數(shù)據(jù)發(fā)送語音處理模塊解碼,本次語音通信完畢。

圖5 收端工作流程
使用2臺新型車載“北斗”用戶機(CZ1機和CZ2機),每臺車載機采用北斗SIM卡57張,發(fā)射頻度60 s,通信等級3級(最多發(fā)射長度78.5 Bytes)。分別讀取57張SIM卡信息存儲到車載用戶機中,語音模塊采用600 bps(每秒語音模塊編解碼75 Bytes)編解碼速率的配置進行測試試驗。分開兩地,核對好時間,語音通信實驗結果如表3所示。
從表3可以看出,利用“北斗”車載用戶機在不影響其定位位置報告等功能的情況下,實現(xiàn)了語音通信傳輸功能,語音被叫方播放語音清晰,語音模塊采用600 bps編解碼速率語音通話質量較好,但發(fā)送語音較長時有重發(fā)的情況。
在第1,2,4,5次沒有重發(fā)的情況下,主叫方語音說完2 s(車載機處理時延)后被叫方開始播放語音。
第3次測試時,有重發(fā)的情況,重發(fā)1包語音數(shù)據(jù),主叫方15 s語音說完4 s(車載機處理時延2 s,請求重發(fā)和重發(fā)時延2 s)后,被叫方開始播放語音。
本次測試發(fā)送語音數(shù)據(jù)共94 s,發(fā)射語音通信共96次(語音數(shù)據(jù)94次、被叫方CZ2請求重發(fā)1次和主叫方CZ1重發(fā)1次)。

表3 語音通信實驗結果
在音頻信號高質量壓縮的基礎上,利用北斗通信信道和虛擬多SIM卡技術實現(xiàn)北斗用戶機語音通信功能。該設計已在新型車載“北斗”用戶機中實現(xiàn)其應用,達到了預期要求。豐富了“北斗”用戶機在各個科研領域的應用范圍。隨著對北斗語音通信技術研究的進一步加深,其應用將擴展到漁船通訊、艦隊指揮、抗震和抗洪指揮等更加寬廣的領域。