模擬集群是一種無線專用調度通信系統,廣泛應用于公安、交通、鐵路等專業通信網絡。隨著設備的標準化和普及化,如何防止網外竊聽和干擾,保障通信安全成為亟需解決的問題。 CMX264是CML公司推出的用于話音通信系統的頻域擾頻芯片,片上有4個可編程的擾頻頻率點,以選定的頻率為中心,將話音信號的頻譜切割成兩段并分別倒置;接收端將上述過程進行反變換,還原出原始語音信號,從而達到加密的目的。 本文設計了一種基于CMX264,用于集群系統話音擾頻的方案,通過引入無線數傳技術和跳頻概念,在不增加設備復雜度的情況下,保障網內通話的安全性和應用范圍。 1 方案對比 1.1 單一擾頻方式 在固定擾頻點上實施擾頻,這種方案設計簡單,且不受中繼臺影響,缺點是容易被破解。 1.2 跳頻擾頻 通過單片機進行控制和定時,在提供的四個擾頻點中按照約定的次序和時間間隔進行切換,類似跳頻通信技術,只是跳動的不是載波頻率,而是擾頻點頻率。與單一擾頻方式相比,該方案安全性能有所提高,但不適于大網絡,因為信號經過中繼臺以后會引人延時,導致跳頻不同步,且跳頻方式相對固定,仍有一定的安全隱患。 1.3 結合數傳技術的跳頻擾頻 針對以上兩者的不足,提出了結合數傳技術的跳頻擾頻方案。該方案在模擬系統上實現數據傳輸,每次通話前先發送跳頻信令,即本次跳頻的次序以及時間間隔,由擾頻信令確定起跳時間,克服了中繼臺的延時影響;跳頻次序的隨機性,加大了竊聽的難度。 2 系統設計 系l統原理如圖1,選用ATmega8單片機進行控制和編碼,CMX264進行話音擾頻,MSM6882無線MODEM完成數據的調制解調,高萊(Golay)碼進行信道糾錯,通過擾頻信令確定跳頻方式。呼叫方每次通話前,即按下PTT之后,在單片機控制下先由MSM6882發送擾頻信令,確定此次通話是否擾頻以及擾頻的次序和時間間隔,CMX264按照約定的規則改變擾頻點,接收方根據解調出的擾頻信令設置起跳時間和方式,達到同步接收的效果。 2.1 CMX264的設計 話音信號的頻率范圍是300Hz~3 300Hz,CMX264選擇四個頻點中的一個,將話音信號劃分為兩個子帶,并分別對子帶的頻譜進行倒置,接收端再進行反變換還原出原始語音信號。當晶振頻率為4.433 619MHz時,四個擾頻點頻率分別為1 027Hz、1 276Hz、1482Hz和1966Hz。話音信號由MICIN端進入,經過擾頻、加重處理后由MICO端輸出;射頻接收解調出的話音信號由RXIN端進入,經去擾頻、加重處理后由EXTO端輸出。可見CMX264只是串接在原有的話音通路中改變頻譜結構而不影響傳輸效果。 CMX264提供串行接口來控制內部狀態和工作模式,指令的功能包括:省電模式、是否擾頻、話音輸入輸出控制、預加重/去加重選擇和擾頻點選擇。指令的格式定義如表1所示。 數據通過DATA端按高位在前的順序寫入,在SCLK端的上升沿鎖存數據,CSN端提供片選信號。CMX264處在從接收的位置,單片機只需根據時序定義,通過I/O口即可實現此串行接口的功能,對CMX264進行控制。時序如圖2所示。 2.2 無線數傳模塊設計 2.2.1 MODEM的設計 電臺內部針對話音頻帶進行了帶通濾波,因此對MODEM調制后的信號有頻率限制,不能超出話音頻率范圍。MSM6882是OKI公司推出的MSK全雙工調制解調器,MSK信號包絡恒定,具有最小功率譜占用率,在碼元轉換瞬間沒有相位突變,數據傳輸波特率可以在l 200/2 400進行選擇,載波頻率600~2400Hz,因此完全可以通過電臺的話音信道進行傳輸。 MSM6882內部提供接收時鐘RT和發送時鐘ST,通過同步串口與單片機通信,單片機使用外部中斷模擬實現同步串口的功能。 發送數據時,單片機輸出的數據SD在ST上升沿被鎖存,因此將ST與單片機的外部中斷INT0相連,INT0設置為下降沿觸發,單片機在中斷處理程序中改變SD電平,數字信號經過內部調制后產生MSK信號輸出AO,發送時序如圖3所示。 接收數據時,輸入AI的MSK信號經過內部濾波器后可恢復為串行數據輸出,同時從接收的數據中還可恢復出同步時鐘RT,將RT與單片機的外部中斷INT1相連,中斷設置為上升沿觸發,單片機在中斷處理程序中讀取RD電平值。接收時序如圖4所示。 2.2.2 糾錯編碼的設計 移動通信時必然要受到無線信道傳輸特性的不理想以及加性噪聲的影響,要在這樣的傳播條件下保持可以接受的傳輸質量,就必須采取各種技術措施來抵消衰落的不利影響,信道糾錯編碼就是其中一種有效的抗衰落技術。 由于擾頻信令的信息非常重要,而且要求有實時性,只有檢錯重發并不能滿足要求。針對單片機系統的特點和編解碼的復雜度,糾錯編碼采用Golay碼。Golay碼是一種特殊的非本原BCH碼,屬于前向糾錯編碼FEC(Forward Error Correction),也是目前為止發現的惟一能糾正多個錯誤的完備碼,因其在噪聲環境下具有良好的糾錯性能而獲得了廣泛應用,尤其適合短碼字長和短處理時延的應用場合。 本方案選用的Golay(24,12)碼最小距離為8,能糾正3個隨機錯誤同時檢測4個錯誤。針對8位單片機的特點,將信息位縮短為8bit,并在最后添加0101進行幀同步碼的提取,最終構成3個字節的完整結構,提高了單片機編碼的效率。編解碼的程序全部用C語言實現,程序復雜度適中,Atmega8單片機的運算能力完全可以勝任。Golay碼結構如表2所示。 2.2.3 數據幀結構的設計 MSM6882接收的數據是與時鐘同步的比特流,為了從所接收的數據中提取時鐘信號,首先發送6字節即48bit"l"和"0"交替出現的位同步碼。為了按字節接收數據,確定每一幀的起始位,需要在比特流中添加幀同步信息,以避免幀同步圖案與數據中內容相同而導致的誤判。根據所選用的糾錯編碼特點,每組Golay碼三個字節的最后4個bit為0101,即不會出現三個字節以上的連續0或者連續1,所以幀起始碼選用31bit1和1bit0,幀結束碼采用32bit連0。在接收中斷處理程序中,檢測到31bitl和1bit0就開始按字節接收數據,此后每3個字節一組進行糾錯解碼,同時開始對接收到的連續0進行計數,超過32個就認為一幀接收完畢。幀結構如表3所示。 2.2.4 數傳模塊程序的設計 數傳程序主要實現編碼和發送數據、接收數據和解碼的功能。發送時,Golay編碼由一個字節變為三個字節,把待發送數組先全部編碼再進行發送;接收時,先將三個字節一組的字節流存儲為數組,再進行Golay解碼,這樣,將占用大量RAM空間和時間。為了節省單片機資源,提高程序執行效率,把編碼與發送數據、接收數據與解碼結合起來同時進行。 首先,定義全局變量作為接收發送的計數器和狀態標志位,主函數中循環查詢系統工作狀態確定是否進行編碼或者解碼和啟動發送字節的子函數;在中斷處理函數中每接收和發送完一個字節,就改變相應的計數器和狀態標志位,供主函數查詢。這樣把編解碼與收發結合起來,提高了程序的執行效率,縮短了程序運行的時間。 其次,接收和發送都設置雙緩沖區,結構定義代碼如下: 在中斷處理函數中發送一個緩沖區數據的同時,在主函數里編碼填充另一緩沖區;在中斷處理函數中接收數據、填充一個緩沖區時,在主函數里對另一個緩沖區中接收的上一組數據進行解碼。在中斷處理函數中改變全局的狀態標志位,在主函數里進行緩沖區間的切 換。通過設置雙緩沖區,收發分別只需占用兩組編碼空間,節省了單片機的RAM資源。 2.3 擾頻信令的設計 每次通話之前,即按下PTT之后,首先延時一段時間,這個時間由中繼臺的最大延時決定;再發送擾頻信令,確定此次通話是否擾頻以及擾頻的次序和時間間隔,為了與未加擾頻模塊的手持臺通信,需要保留不擾頻的功能,即CMX264在Clear模式下工作;同時增加地址選項,通過地址進行分組,可以實現組呼和單呼;通話完畢時發送結束幀,使手持臺恢復到Clear模式。根據上述要求,設計擾頻信令格式如表4所示。 本文介紹的方案主要針對使用模擬集群的專用網絡,調度通話內容需要保密以避免竊聽和干擾。本方案通過電臺的話音信道進行無線數據傳輸,對傳統擾頻方式進行了改進,提高了系統的安全性和應用范圍。 |