新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于無線數傳技術的話音擾頻模塊設計

        基于無線數傳技術的話音擾頻模塊設計

        作者: 時間:2008-06-05 來源:電子技術應用 收藏

          由于信令的信息非常重要,而且要求有實時性,只有檢錯重發并不能滿足要求。針對系統的特點和編解碼的復雜度,糾錯編碼采用Golay碼。 Golay碼是一種特殊的非本原BCH碼,屬于前向糾錯編碼FEC(Forward Error Correction),也是目前為止發現的惟一能糾正多個錯誤的完備碼,因其在噪聲環境下具有良好的糾錯性能而獲得了廣泛應用,尤其適合短碼字長和短處理時延的應用場合。

        本文引用地址:http://www.104case.com/article/83748.htm

          本方案選用的Golay(24,12)碼最小距離為8,能糾正3個隨機錯誤同時檢測4個錯誤。針對8位的特點,將信息位縮短為8bit,并在最后添加0101進行幀同步碼的提取,最終構成3個字節的完整結構,提高了編碼的效率。編解碼的程序全部用C語言實現,程序復雜度適中,Atmega8單片機的運算能力完全可以勝任。Golay碼結構如表2所示。

                

          2.2.3 數據幀結構的設計

          MSM6882接收的數據是與時鐘同步的比特流,為了從所接收的數據中提取時鐘信號,首先發送6字節即48bit“1”和“0”交替出現的位同步碼。為了按字節接收數據,確定每一幀的起始位,需要在比特流中添加幀同步信息,以避免幀同步圖案與數據中內容相同而導致的誤判。根據所選用的糾錯編碼特點,每組Golay碼三個字節的最后4個 bit為0101,即不會出現三個字節以上的連續0或者連續1,所以幀起始碼選用31bit1和1bit0,幀結束碼采用32bit連0。在接收中斷處理程序中,檢測到31bit1和1bit0就開始按字節接收數據,此后每3個字節一組進行糾錯解碼,同時開始對接收到的連續0進行計數,超過32個就認為一幀接收完畢。幀結構如表3所示。

               

          2.2.4 數傳模塊程序的設計

          數傳程序主要實現編碼和發送數據、接收數據和解碼的功能。發送時,Golay編碼由一個字節變為三個字節,把待發送數組先全部編碼再進行發送;接收時,先將三個字節一組的字節流存儲為數組,再進行Golay解碼,這樣,將占用大量RAM空間和時間。為了節省單片機資源,提高程序執行效率,把編碼與發送數據、接收數據與解碼結合起來同時進行。

          首先,定義全局變量作為接收發送的計數器和狀態標志位,主函數中循環查詢系統工作狀態確定是否進行編碼或者解碼和啟動發送字節的子函數;在中斷處理函數中每接收和發送完一個字節,就改變相應的計數器和狀態標志位,供主函數查詢。這樣把編解碼與收發結合起來,提高了程序的執行效率,縮短了程序運行的時間。

          其次,接收和發送都設置雙緩沖區,結構定義代碼如下:

        typedef struct

        {

        unsigned char rc; /*信息字節*/

        unsigned int r1; /*校驗字*/

        }Golay;

          Golay RecvBuffer[2];

          Golay SendBuffer[2];

          在中斷處理函數中發送一個緩沖區數據的同時,在主函數里編碼填充另一緩沖區;在中斷處理函數中接收數據、填充一個緩沖區時,在主函數里對另一個緩沖區中接收的上一組數據進行解碼。在中斷處理函數中改變全局的狀態標志位,在主函數里進行緩沖區間的切換。通過設置雙緩沖區,收發分別只需占用兩組編碼空間,節省了單片機的RAM資源。

          2.3 信令的設計

          每次通話之前,即按下PTT之后,首先延時一段時間,這個時間由中繼臺的最大延時決定;再發送信令,確定此次通話是否擾頻以及擾頻的次序和時間間隔,為了與未加擾頻模塊的手持臺通信,需要保留不擾頻的功能,即CMX264在Clear模式下工作;同時增加地址選項,通過地址進行分組,可以實現組呼和單呼;通話完畢時發送結束幀,使手持臺恢復到Clear 模式。根據上述要求,設計擾頻信令格式如表4所示。

                

          結構定義代碼如下:

        typedef struct

        {

        unsigned char ScrambleFrameType; /*幀類型*/

        unsigned char RecvAddress[2]; /*接收地址*/

        unsigned char ScrambleSeq[4]; /*擾頻次序*/

        unsigned char HopCyc; /*時間間隔*/

        }Scramble;

          本文介紹的方案主要針對使用模擬集群的專用網絡,調度通話內容需要保密以避免竊聽和干擾。本方案通過電臺的話音信道進行無線數據傳輸,對傳統擾頻方式進行了改進,提高了系統的安全性和應用范圍。

          參考文獻

          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 張宗橙.糾錯編碼原理和應用.北京:電子工業出版社,2003


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宾阳县| 博客| 万全县| 尼玛县| 巴马| 玛纳斯县| 上饶市| 垣曲县| 永仁县| 石狮市| 周至县| 张家港市| 绥宁县| 锦屏县| 土默特右旗| 海原县| 寻乌县| 奉化市| 沾化县| 京山县| 墨脱县| 错那县| 治多县| 察哈| 日喀则市| 青神县| 横峰县| 视频| 周至县| 琼海市| 新乡县| 宁国市| 紫阳县| 湘乡市| 故城县| 会泽县| 讷河市| 罗田县| 仁布县| 阜新| 章丘市|