徐師友
(福建星海通信科技有限公司,福建 福州350015)
“北斗一號”衛星導航定位系統,簡稱北斗系統,是我國自行研制的第一代區域性有源三維衛星定位通信系統。北斗用戶機需要在捕獲衛星信號后由用戶機發射定位申請指令,才能夠得到由中心控制站計算得到的定位信息。北斗系統還提供了簡短雙向報文通信的功能,使用戶機與中心站、用戶機與用戶機之間可進行數據通信,極大地豐富了系統功能。除此之外,北斗系統還具備定時、授時功能。
現有的北斗用戶機只具備普通的報文通信、定位和導航功能。目前,北斗用戶機型都是在這幾種功能上擴展,實現北斗導航,北斗指揮等系統功能。但是,在抗險救災等惡劣環境中,有時需要實時進行語音通信,這是當前的用戶機所不具備的。
針對現有用戶機的上述不足與缺陷,這里提出一種基于語音壓縮技術,可利用北斗系統進行語音通信的新型北斗用戶機設計方案。
系統主要由外設模塊、語音處理模塊以及北斗處理模塊組成,系統組成框圖如圖1所示。
系統工作流程:發端用戶機外設模塊的話筒獲取外界語音信息,語音信息在語音處理模塊中經A/D轉換、壓縮編碼后,形成的數據流通過北斗處理模塊封包后,由北斗天線發送給收端用戶機,收端用戶機將接收數據經北斗處理模塊拆包后,送聲音處理模塊對語音壓縮碼流進行解碼,最后經D/A轉換還原成模擬語音由聽筒輸出。
下面分模塊介紹系統硬件設計。
2.1.1 基帶處理單元
基帶處理單元負責對接收的發射與接收?;鶐幚韱卧山邮胀ǖ篮桶l射通道組成,衛星信號通過天線進入射頻模塊,采用2次變頻,最后輸出兩路相位相反的零中頻信號[1],經 A/D(芯片AD9288)采樣后,FPGA(芯片EP2C50F484IN)根據信號格式對輸入信號進行捕獲、跟蹤、解調、幀同步以及譯碼[2],接收通道具有30dB的自動增益控制。發射通道由FPGA對發送的數據按格式要求進行卷積編碼,并擴頻調制,經射頻模塊一次變頻,并放大,由天線發射出去,最大功率輸出≥10W.其FPGA接口電路連接如圖2所示。

圖2 FPGA接口電路連接
2.1.2 顯控單元
采用TFT-LCD彩屏,按鍵及顯示觸摸屏都與ARM9連接,顯控單元顯示操作界面,方便人機交互。
信息處理單元主要由CPU、SDRAM以及NAND FLASH構成,負責底層數據處理,協調各個單元之間的信息交互。信息處理單元采用微處理器S3C2440A[3],是一款為手持設備設計的低功耗、高度集成的微處理器,其外圍接口如圖3所示。采用2片64MB的SDRAM組成128MB的內存,芯片型號為K4S511632C.采用128M字節的NAND FLASH芯片K9F1G08U08,實現開機即從NAND FLASH啟動。

圖3 ARM9外圍接口框圖
語音處理模塊實現模擬語音的數字化壓縮。語音處理模塊的 DSP 采用芯片TMS320VC5505[4],工作主頻為100MHz,是 TI公司推出的極低功耗芯片,該芯片可提供高達320 KB的片上存儲器以及多個集成外設,完成數字語音編、解碼算法,以及完成與ARM9(S3C2440A)之間的接口功能。 A/D、D/A 采 用TMS320AIC23B芯片,該芯片具有雙路可編程低功耗語音編解碼功能,16bit,線性PCM。圖4為語音處理模塊接口電路連接圖。

圖4 語音處理模塊接口電路連接
外設接口主要有話筒、聽筒,與語音處理模塊進行連接,實現模擬語音的輸入、輸出。話筒模擬語音信號輸入峰峰值≤1.414V,模擬語音信號輸出給聽筒的峰峰值≤3.0V.
北斗數據傳輸有頻度限制,即一次通信完成要等待一段時間才能再次通信,每次通信的字節數也有限制,而一般的語音信息都超過字節數限制。為了解決上述限制問題,并且保證每段話的連續性,系統通話采用對講機模式,即語音輸入為分段輸入。每段語音在語音處理模塊進行A/D轉換,并對轉換后的數據進行高度壓縮,然后北斗處理模塊將壓縮后的數據存儲為文件,每個文件代表一段語音信息。北斗處理模塊再將文件分包發送,收端用戶機接收到數據后再組包還原成文件,文件再經語音處理模塊解碼,D/A轉化后送給外設輸出。
所以,北斗語音通信軟件設計的關鍵在于北斗語音文件傳輸。下面從發、收兩端分別說明北斗語音通信工作流程。
發端工作流程圖如圖5所示,具體實現步驟如下:
步驟1:開始傳輸文件時,發端先通信申請,將文件名及文件大小發給收端,然后等待收端回復的文件名確認指令以執行下一步操作。如果在一個服務頻度的時間間隔內沒收到確認,發端應再次發送通信申請,沒收到回復指令,就不能進行下一步操作。收到文件名確認后,轉步驟2執行。
步驟2:收到文件名確認后,發端將文件分包按頻度間隔逐個發送。發完轉步驟3執行。
步驟3:文件包都發送完畢后再次等待收端回復的文件包確認指令以執行下一步操作。如果在一個服務頻度的時間間隔內沒收到確認,再次發送尾包,發送次數累加,如果發送次數大于設定值n,則認為該次文件傳輸失敗,傳輸停止。收到文件包確認后,轉步驟4執行。
步驟4:收到文件包確認后,根據文件包確認信息查詢文件是否收全,收全則給出文件傳輸完畢提示,未收全則將未收到的文件包再次發送,然后回到步驟3執行。

圖5 發端工作流程圖
收端用戶機工作流程圖如圖6所示,具體實現步驟如下:
步驟1:收端用戶機接收到電文信息,根據電文信息頭判斷電文類型,根據不同電文類型轉相應步驟(步驟2、步驟3、步驟4)執行。
步驟2:普通北斗電文走普通電文處理流程。
步驟3:若是文件名電文,則提醒用戶有北斗語音文件申請傳輸,由用戶操作是否同意接收。拒絕則流程結束,否則要求用戶設置保存路徑與文件名,確定后回復文件名確認信息。
步驟4:若是文件包電文,則先判斷是否有文件在等待接收。沒有就直接結束流程,有則判斷該文件是否已收到過。未收過就將數據保存在緩沖區中,標記為已收,轉步驟5執行;收過直接跳到步驟5執行。

圖6 收端用戶機工作流程圖
步驟5:判斷收到的文件包是否是尾包,不是則該次流程結束;是則統計接收狀態,給發方回復接收狀態信息,然后再根據接收狀態信息判斷文件是否收全,未收全則該次流程結束,收全就給出文件接收完畢提示。
用2部“北斗一代”手持用戶機(1#機和2#機),采用30s的頻度卡進行測試試驗。分開兩地,核對好時間,結果如表1.
從表1可以看出,利用“北斗一代”用戶機在不影響其正常的定位等功能的情況下,實現了語音通信功能。

表1 測試實驗結果
在音頻信號高質量壓縮的基礎上,利用北斗通信信道實現北斗用戶機語音通信功能。該設計已在新型北斗用戶機中實現其應用,達到了預期要求。新型北斗用戶機可在包括近海漁船間,艦船間,以及陸上應急指揮等方面實現語音通信,豐富北斗用戶機在各個科研領域的應用范圍。隨著對北斗語音通信技術研究的進一步加深,其應用將擴展到漁船通訊、艦隊指揮、抗震、抗洪指揮等更加寬廣的領域。
[1]李大為.Windows CE工程實踐完全分析[M].北京:中國電力出版社,2008.
[2]汪 兵.Windows CE嵌入式高級編程及其實例詳解[M].北京:中國水利水電出版社,2008.
[3]普羅基斯.數字通信[M].張力軍,等譯.4版.北京:電子工業出版社,2003.
[4]侯俊杰.深入淺出 MFC[M].2版.湖北:華中科技大學出版社,2005.
[5]希爾特.C++捷徑教程[M].聶雪軍譯.3版.北京:清華大學出版社,2004年.
[6]普羅基斯.數字信號處理[M].方艷梅,等譯.4版.北京:電子工業出版社,2003.