基于無線數傳技術的話音擾頻模塊設計
由于擾頻信令的信息非常重要,而且要求有實時性,只有檢錯重發(fā)并不能滿足要求。針對單片機系統(tǒng)的特點和編解碼的復雜度,糾錯編碼采用Golay碼。 Golay碼是一種特殊的非本原BCH碼,屬于前向糾錯編碼FEC(Forward Error Correction),也是目前為止發(fā)現的惟一能糾正多個錯誤的完備碼,因其在噪聲環(huán)境下具有良好的糾錯性能而獲得了廣泛應用,尤其適合短碼字長和短處理時延的應用場合。
本文引用地址:http://cafeforensic.com/article/83748.htm本方案選用的Golay(24,12)碼最小距離為8,能糾正3個隨機錯誤同時檢測4個錯誤。針對8位單片機的特點,將信息位縮短為8bit,并在最后添加0101進行幀同步碼的提取,最終構成3個字節(jié)的完整結構,提高了單片機編碼的效率。編解碼的程序全部用C語言實現,程序復雜度適中,Atmega8單片機的運算能力完全可以勝任。Golay碼結構如表2所示。
2.2.3 數據幀結構的設計
MSM6882接收的數據是與時鐘同步的比特流,為了從所接收的數據中提取時鐘信號,首先發(fā)送6字節(jié)即48bit“1”和“0”交替出現的位同步碼。為了按字節(jié)接收數據,確定每一幀的起始位,需要在比特流中添加幀同步信息,以避免幀同步圖案與數據中內容相同而導致的誤判。根據所選用的糾錯編碼特點,每組Golay碼三個字節(jié)的最后4個 bit為0101,即不會出現三個字節(jié)以上的連續(xù)0或者連續(xù)1,所以幀起始碼選用31bit1和1bit0,幀結束碼采用32bit連0。在接收中斷處理程序中,檢測到31bit1和1bit0就開始按字節(jié)接收數據,此后每3個字節(jié)一組進行糾錯解碼,同時開始對接收到的連續(xù)0進行計數,超過32個就認為一幀接收完畢。幀結構如表3所示。
2.2.4 數傳模塊程序的設計
數傳程序主要實現編碼和發(fā)送數據、接收數據和解碼的功能。發(fā)送時,Golay編碼由一個字節(jié)變?yōu)槿齻€字節(jié),把待發(fā)送數組先全部編碼再進行發(fā)送;接收時,先將三個字節(jié)一組的字節(jié)流存儲為數組,再進行Golay解碼,這樣,將占用大量RAM空間和時間。為了節(jié)省單片機資源,提高程序執(zhí)行效率,把編碼與發(fā)送數據、接收數據與解碼結合起來同時進行。
首先,定義全局變量作為接收發(fā)送的計數器和狀態(tài)標志位,主函數中循環(huán)查詢系統(tǒng)工作狀態(tài)確定是否進行編碼或者解碼和啟動發(fā)送字節(jié)的子函數;在中斷處理函數中每接收和發(fā)送完一個字節(jié),就改變相應的計數器和狀態(tài)標志位,供主函數查詢。這樣把編解碼與收發(fā)結合起來,提高了程序的執(zhí)行效率,縮短了程序運行的時間。
其次,接收和發(fā)送都設置雙緩沖區(qū),結構定義代碼如下:
typedef struct
{
unsigned char rc; /*信息字節(jié)*/
unsigned int r1; /*校驗字*/
}Golay;
Golay RecvBuffer[2];
Golay SendBuffer[2];
在中斷處理函數中發(fā)送一個緩沖區(qū)數據的同時,在主函數里編碼填充另一緩沖區(qū);在中斷處理函數中接收數據、填充一個緩沖區(qū)時,在主函數里對另一個緩沖區(qū)中接收的上一組數據進行解碼。在中斷處理函數中改變全局的狀態(tài)標志位,在主函數里進行緩沖區(qū)間的切換。通過設置雙緩沖區(qū),收發(fā)分別只需占用兩組編碼空間,節(jié)省了單片機的RAM資源。
2.3 擾頻信令的設計
每次通話之前,即按下PTT之后,首先延時一段時間,這個時間由中繼臺的最大延時決定;再發(fā)送擾頻信令,確定此次通話是否擾頻以及擾頻的次序和時間間隔,為了與未加擾頻模塊的手持臺通信,需要保留不擾頻的功能,即CMX264在Clear模式下工作;同時增加地址選項,通過地址進行分組,可以實現組呼和單呼;通話完畢時發(fā)送結束幀,使手持臺恢復到Clear 模式。根據上述要求,設計擾頻信令格式如表4所示。
結構定義代碼如下:
typedef struct
{
unsigned char ScrambleFrameType; /*幀類型*/
unsigned char RecvAddress[2]; /*接收地址*/
unsigned char ScrambleSeq[4]; /*擾頻次序*/
unsigned char HopCyc; /*時間間隔*/
}Scramble;
本文介紹的方案主要針對使用模擬集群的專用網絡,調度通話內容需要保密以避免竊聽和干擾。本方案通過電臺的話音信道進行無線數據傳輸,對傳統(tǒng)擾頻方式進行了改進,提高了系統(tǒng)的安全性和應用范圍。
參考文獻
1 MORELOS-ZARAGOZA R.H. The art of error correcting coding. Wiley, 2002
2 OKI Semiconductor. MSM6882 MSK Modem User's Manual.
3 CML Microcircuits.Wireless Modem Troubleshooting Guide
4 CML Microcircuits.CMX264 Frequency Domain Split Band Scrambler datasheet.
5 Atmel Corporation. ATmega8 AVR 8-bit microcontroller datasheet.
6 張宗橙.糾錯編碼原理和應用.北京:電子工業(yè)出版社,2003
評論