《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于無(wú)線數(shù)傳技術(shù)的話音擾頻模塊設(shè)計(jì)

基于無(wú)線數(shù)傳技術(shù)的話音擾頻模塊設(shè)計(jì)

《電子技術(shù)應(yīng)用》2007年第1期
2007-11-13
作者:劉開(kāi)華,,孫圣舉

摘 要:介紹一種話音擾頻方案,通過(guò)引入無(wú)線數(shù)傳" title="無(wú)線數(shù)傳">無(wú)線數(shù)傳技術(shù)和跳頻" title="跳頻">跳頻概念,,增大擾頻序列的隨機(jī)性,,有效提高了集群系統(tǒng)的安全性和應(yīng)用范圍,。
關(guān)鍵詞:
擾頻? 無(wú)線數(shù)傳? 糾錯(cuò)編碼

?

模擬集群是一種無(wú)線專用調(diào)度通信系統(tǒng),廣泛應(yīng)用于公安,、交通,、鐵路等專業(yè)通信網(wǎng)絡(luò)。隨著設(shè)備的標(biāo)準(zhǔn)化和普及化,,如何防止網(wǎng)外竊聽(tīng)和干擾,,保障通信安全成為亟需解決的問(wèn)題。
CMX264是CML公司推出的用于話音通信系統(tǒng)的頻域擾頻芯片,,片上有4個(gè)可編程的擾頻頻率點(diǎn),,以選定的頻率為中心,將話音信號(hào)的頻譜切割成兩段并分別倒置,;接收端將上述過(guò)程進(jìn)行反變換,,還原出原始語(yǔ)音信號(hào),從而達(dá)到加密的目的,。
本文設(shè)計(jì)了一種基于CMX264,,用于集群系統(tǒng)話音擾頻的方案,通過(guò)引入無(wú)線數(shù)傳技術(shù)和跳頻概念,,在不增加設(shè)備復(fù)雜度的情況下,,保障網(wǎng)內(nèi)通話的安全性和應(yīng)用范圍。
1 方案對(duì)比
1.1 單一擾頻方式
在固定擾頻點(diǎn)上實(shí)施擾頻,,這種方案設(shè)計(jì)簡(jiǎn)單,,且不受中繼臺(tái)影響,缺點(diǎn)是容易被破解,。
1.2 跳頻擾頻
通過(guò)單片機(jī)進(jìn)行控制和定時(shí),,在提供的四個(gè)擾頻點(diǎn)中按照約定的次序和時(shí)間間隔" title="時(shí)間間隔">時(shí)間間隔進(jìn)行切換,,類似跳頻通信技術(shù),只是跳動(dòng)的不是載波頻率,,而是擾頻點(diǎn)頻率,。與單一擾頻方式相比,該方案安全性能有所提高,,但不適于大網(wǎng)絡(luò),,因?yàn)樾盘?hào)經(jīng)過(guò)中繼臺(tái)以后會(huì)引入延時(shí),導(dǎo)致跳頻不同步,,且跳頻方式相對(duì)固定,,仍有一定的安全隱患。
1.3 結(jié)合數(shù)傳技術(shù)的跳頻擾頻
針對(duì)以上兩者的不足,,提出了結(jié)合數(shù)傳技術(shù)的跳頻擾頻方案,。該方案在模擬系統(tǒng)上實(shí)現(xiàn)數(shù)據(jù)傳輸,每次通話前先發(fā)送跳頻信令" title="信令">信令,,即本次跳頻的次序以及時(shí)間間隔,,由擾頻信令確定起跳時(shí)間,克服了中繼臺(tái)的延時(shí)影響,;跳頻次序的隨機(jī)性,,加大了竊聽(tīng)的難度。
2 系統(tǒng)設(shè)計(jì)
系統(tǒng)原理如圖1,,選用ATmega8單片機(jī)進(jìn)行控制和編碼,,CMX264進(jìn)行話音擾頻,MSM6882無(wú)線MODEM完成數(shù)據(jù)的調(diào)制解調(diào),,高萊(Golay)碼進(jìn)行信道糾錯(cuò),,通過(guò)擾頻信令確定跳頻方式。呼叫方每次通話前,,即按下PTT之后,,在單片機(jī)控制下先由MSM6882發(fā)送擾頻信令,確定此次通話是否擾頻以及擾頻的次序和時(shí)間間隔,,CMX264按照約定的規(guī)則改變擾頻點(diǎn),,接收方根據(jù)解調(diào)出的擾頻信令設(shè)置起跳時(shí)間和方式,達(dá)到同步接收的效果,。

?


2.1 CMX264的設(shè)計(jì)
話音信號(hào)的頻率范圍是300Hz~3 300Hz,,CMX264選擇四個(gè)頻點(diǎn)中的一個(gè),將話音信號(hào)劃分為兩個(gè)子帶,,并分別對(duì)子帶的頻譜進(jìn)行倒置,,接收端再進(jìn)行反變換還原出原始語(yǔ)音信號(hào)。當(dāng)晶振頻率為4.433 619MHz時(shí),,四個(gè)擾頻點(diǎn)頻率分別為1 027Hz,、1 276Hz,、1 482Hz和1 966Hz。話音信號(hào)由MICIN端進(jìn)入,,經(jīng)過(guò)擾頻,、加重處理后由MICO端輸出;射頻接收解調(diào)出的話音信號(hào)由RXIN端進(jìn)入,,經(jīng)去擾頻,、加重處理后由EXTO端輸出??梢?jiàn)CMX264只是串接在原有的話音通路中改變頻譜結(jié)構(gòu)而不影響傳輸效果,。
CMX264提供串行接口來(lái)控制內(nèi)部狀態(tài)和工作模式,指令的功能包括:省電模式,、是否擾頻,、話音輸入輸出控制、預(yù)加重/去加重選擇和擾頻點(diǎn)選擇,。指令的格式定義如表1所示,。


數(shù)據(jù)通過(guò)DATA端按高位在前的順序?qū)懭耄赟CLK端的上升沿鎖存數(shù)據(jù),,CSN端提供片選信號(hào),。CMX264處在從接收的位置,單片機(jī)只需根據(jù)時(shí)序定義,,通過(guò)I/O口即可實(shí)現(xiàn)此串行接口的功能,對(duì)CMX264進(jìn)行控制,。時(shí)序如圖2所示,。

?


2.2 無(wú)線數(shù)傳模塊設(shè)計(jì)
2.2.1 MODEM的設(shè)計(jì)
電臺(tái)內(nèi)部針對(duì)話音頻帶進(jìn)行了帶通濾波,因此對(duì)MODEM調(diào)制后的信號(hào)有頻率限制,,不能超出話音頻率范圍,。MSM6882是OKI公司推出的MSK全雙工調(diào)制解調(diào)器,MSK信號(hào)包絡(luò)恒定,,具有最小功率譜占用率,,在碼元轉(zhuǎn)換瞬間沒(méi)有相位突變,數(shù)據(jù)傳輸波特率可以在1 200/2 400進(jìn)行選擇,,載波頻率600~2400Hz,,因此完全可以通過(guò)電臺(tái)的話音信道進(jìn)行傳輸。
MSM6882內(nèi)部提供接收時(shí)鐘RT和發(fā)送時(shí)鐘ST,,通過(guò)同步串口與單片機(jī)通信,,單片機(jī)使用外部中斷模擬實(shí)現(xiàn)同步串口的功能。
發(fā)送數(shù)據(jù)時(shí),,單片機(jī)輸出的數(shù)據(jù)SD在ST上升沿被鎖存,,因此將ST與單片機(jī)的外部中斷INT0相連,,INT0設(shè)置為下降沿觸發(fā),單片機(jī)在中斷處理程序中改變SD電平,,數(shù)字信號(hào)經(jīng)過(guò)內(nèi)部調(diào)制后產(chǎn)生MSK信號(hào)輸出AO,,發(fā)送時(shí)序如圖3所示。


接收數(shù)據(jù)" title="接收數(shù)據(jù)">接收數(shù)據(jù)時(shí),,輸入AI的MSK信號(hào)經(jīng)過(guò)內(nèi)部濾波器后可恢復(fù)為串行數(shù)據(jù)輸出,,同時(shí)從接收的數(shù)據(jù)中還可恢復(fù)出同步時(shí)鐘RT,將RT與單片機(jī)的外部中斷INT1相連,,中斷設(shè)置為上升沿觸發(fā),,單片機(jī)在中斷處理程序中讀取RD電平值。接收時(shí)序如圖4所示,。

?


2.2.2 糾錯(cuò)編碼的設(shè)計(jì)
移動(dòng)通信時(shí)必然要受到無(wú)線信道傳輸特性的不理想以及加性噪聲的影響,,要在這樣的傳播條件下保持可以接受的傳輸質(zhì)量,就必須采取各種技術(shù)措施來(lái)抵消衰落的不利影響,,信道糾錯(cuò)編碼就是其中一種有效的抗衰落技術(shù),。
由于擾頻信令的信息非常重要,而且要求有實(shí)時(shí)性,,只有檢錯(cuò)重發(fā)并不能滿足要求,。針對(duì)單片機(jī)系統(tǒng)的特點(diǎn)和編解碼的復(fù)雜度,糾錯(cuò)編碼采用Golay碼,。Golay碼是一種特殊的非本原BCH碼,,屬于前向糾錯(cuò)編碼FEC(Forward Error Correction),也是目前為止發(fā)現(xiàn)的惟一能糾正多個(gè)錯(cuò)誤的完備碼,,因其在噪聲環(huán)境下具有良好的糾錯(cuò)性能而獲得了廣泛應(yīng)用,,尤其適合短碼字長(zhǎng)和短處理時(shí)延的應(yīng)用場(chǎng)合。
本方案選用的Golay(24,12)碼最小距離為8,,能糾正3個(gè)隨機(jī)錯(cuò)誤同時(shí)檢測(cè)4個(gè)錯(cuò)誤,。針對(duì)8位單片機(jī)的特點(diǎn),將信息位縮短為8bit,,并在最后添加0101進(jìn)行幀同步碼的提取,,最終構(gòu)成3個(gè)字節(jié)的完整結(jié)構(gòu),提高了單片機(jī)編碼的效率,。編解碼的程序全部用C語(yǔ)言實(shí)現(xiàn),,程序復(fù)雜度適中,Atmega8單片機(jī)的運(yùn)算能力完全可以勝任,。Golay碼結(jié)構(gòu)如表2所示,。


2.2.3 數(shù)據(jù)幀結(jié)構(gòu)的設(shè)計(jì)
MSM6882接收的數(shù)據(jù)是與時(shí)鐘同步的比特流,為了從所接收的數(shù)據(jù)中提取時(shí)鐘信號(hào),,首先發(fā)送6字節(jié)即48bit“1”和“0”交替出現(xiàn)的位同步碼,。為了按字節(jié)接收數(shù)據(jù),,確定每一幀的起始位,需要在比特流中添加幀同步信息,,以避免幀同步圖案與數(shù)據(jù)中內(nèi)容相同而導(dǎo)致的誤判,。根據(jù)所選用的糾錯(cuò)編碼特點(diǎn),每組Golay碼三個(gè)字節(jié)的最后4個(gè)bit為0101,,即不會(huì)出現(xiàn)三個(gè)字節(jié)以上的連續(xù)0或者連續(xù)1,,所以幀起始碼選用31bit1和1bit0,幀結(jié)束碼采用32bit連0,。在接收中斷處理程序中,,檢測(cè)到31bit1和1bit0就開(kāi)始按字節(jié)接收數(shù)據(jù),此后每3個(gè)字節(jié)一組進(jìn)行糾錯(cuò)解碼,,同時(shí)開(kāi)始對(duì)接收到的連續(xù)0進(jìn)行計(jì)數(shù),,超過(guò)32個(gè)就認(rèn)為一幀接收完畢。幀結(jié)構(gòu)如表3所示,。

?


2.2.4 數(shù)傳模塊程序的設(shè)計(jì)
數(shù)傳程序主要實(shí)現(xiàn)編碼和發(fā)送數(shù)據(jù),、接收數(shù)據(jù)和解碼的功能。發(fā)送時(shí),,Golay編碼由一個(gè)字節(jié)變?yōu)槿齻€(gè)字節(jié),,把待發(fā)送數(shù)組先全部編碼再進(jìn)行發(fā)送;接收時(shí),,先將三個(gè)字節(jié)一組的字節(jié)流存儲(chǔ)為數(shù)組,,再進(jìn)行Golay解碼,這樣,,將占用大量RAM空間和時(shí)間,。為了節(jié)省單片機(jī)資源,提高程序執(zhí)行效率,,把編碼與發(fā)送數(shù)據(jù)、接收數(shù)據(jù)與解碼結(jié)合起來(lái)同時(shí)進(jìn)行,。
首先,,定義全局變量作為接收發(fā)送的計(jì)數(shù)器和狀態(tài)標(biāo)志位,主函數(shù)中循環(huán)查詢系統(tǒng)工作狀態(tài)確定是否進(jìn)行編碼或者解碼和啟動(dòng)發(fā)送字節(jié)的子函數(shù),;在中斷處理函數(shù)中每接收和發(fā)送完一個(gè)字節(jié),,就改變相應(yīng)的計(jì)數(shù)器和狀態(tài)標(biāo)志位,供主函數(shù)查詢,。這樣把編解碼與收發(fā)結(jié)合起來(lái),,提高了程序的執(zhí)行效率,縮短了程序運(yùn)行的時(shí)間,。
其次,,接收和發(fā)送都設(shè)置雙緩沖區(qū),,結(jié)構(gòu)定義代碼如下:
typedef struct
{
??unsigned char rc;?/*信息字節(jié)*/
??unsigned int r1;?/*校驗(yàn)字*/
}Golay;
Golay RecvBuffer[2];
Golay SendBuffer[2];
在中斷處理函數(shù)中發(fā)送一個(gè)緩沖區(qū)數(shù)據(jù)的同時(shí),在主函數(shù)里編碼填充另一緩沖區(qū),;在中斷處理函數(shù)中接收數(shù)據(jù),、填充一個(gè)緩沖區(qū)時(shí),在主函數(shù)里對(duì)另一個(gè)緩沖區(qū)中接收的上一組數(shù)據(jù)進(jìn)行解碼,。在中斷處理函數(shù)中改變?nèi)值臓顟B(tài)標(biāo)志位,,在主函數(shù)里進(jìn)行緩沖區(qū)間的切換。通過(guò)設(shè)置雙緩沖區(qū),,收發(fā)分別只需占用兩組編碼空間,,節(jié)省了單片機(jī)的RAM資源。
2.3 擾頻信令的設(shè)計(jì)
每次通話之前,,即按下PTT之后,,首先延時(shí)一段時(shí)間,這個(gè)時(shí)間由中繼臺(tái)的最大延時(shí)決定,;再發(fā)送擾頻信令,,確定此次通話是否擾頻以及擾頻的次序和時(shí)間間隔,為了與未加擾頻模塊的手持臺(tái)通信,,需要保留不擾頻的功能,,即CMX264在Clear模式下工作;同時(shí)增加地址選項(xiàng),,通過(guò)地址進(jìn)行分組,,可以實(shí)現(xiàn)組呼和單呼;通話完畢時(shí)發(fā)送結(jié)束幀,,使手持臺(tái)恢復(fù)到Clear模式,。根據(jù)上述要求,設(shè)計(jì)擾頻信令格式如表4所示,。

?


結(jié)構(gòu)定義代碼如下:
typedef struct
{
??unsigned char ScrambleFrameType;?? /*幀類型*/
??unsigned char RecvAddress[2];?? /*接收地址*/
??unsigned char ScrambleSeq[4];?? /*擾頻次序*/
??unsigned char HopCyc;???? /*時(shí)間間隔*/
}Scramble;
本文介紹的方案主要針對(duì)使用模擬集群的專用網(wǎng)絡(luò),,調(diào)度通話內(nèi)容需要保密以避免竊聽(tīng)和干擾。本方案通過(guò)電臺(tái)的話音信道進(jìn)行無(wú)線數(shù)據(jù)傳輸,,對(duì)傳統(tǒng)擾頻方式進(jìn)行了改進(jìn),,提高了系統(tǒng)的安全性和應(yīng)用范圍。
參考文獻(xiàn)
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 張宗橙.糾錯(cuò)編碼原理和應(yīng)用.北京:電子工業(yè)出版社,2003

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。