一般來說,,無線電臺通信采用半雙工通信方式,,一方在發(fā)送話音信號的同時,不能接收另一方的話音信號,。因此電臺的通信接口分為兩部分,,一部分為話音信號接口,用于發(fā)送接收話音,,另一部分為PTT控制信號接口,,用于控制電臺的發(fā)送接收狀態(tài)。然而,,目前有許多通信設(shè)備,,如民航、海事,、鐵路交通的內(nèi)部通信以及應(yīng)急通信等,,為了實現(xiàn)電臺的遠(yuǎn)程遙控,并且節(jié)省信道資源,,將PTT控制信號調(diào)制成已知的單頻信號與話音信號一起發(fā)送,,確保PTT控制信號傳輸?shù)目煽啃浴.?dāng)內(nèi)通設(shè)備與電臺直接相連時,,接口不兼容,。因此需要設(shè)計一種電臺接口轉(zhuǎn)換模塊,能夠?qū)晤l信號與話音信號分離開來,,實現(xiàn)電臺與內(nèi)通設(shè)備的通信,。
現(xiàn)代的大規(guī)模FPGA既能處理過去DSP處理器領(lǐng)域的功能,同時又大大地降低專用集成電路方案的風(fēng)險和前期成本,,因此采用FPGA作為核心芯片和先進(jìn)的數(shù)字信號處理技術(shù)來開發(fā)將為開發(fā)帶來諸多的優(yōu)勢,。
1 設(shè)計原理
基于FPGA的電臺接口轉(zhuǎn)換模塊是基于數(shù)字信號處理技術(shù),將設(shè)備的話音信號通過模/數(shù)轉(zhuǎn)換器轉(zhuǎn)化為數(shù)字信號傳輸?shù)捷斎刖彌_區(qū),,數(shù)字話音信號一方面經(jīng)過FIR(Finite Impulse Response)帶阻濾波器,,濾除某一已知的單頻信號,發(fā)送到輸出緩沖區(qū),,再通過數(shù)模轉(zhuǎn)換器轉(zhuǎn)化為話音信號,,傳輸給電臺;另一方面,,通過時頻變換,、閾值檢測以及穩(wěn)定處理三個步驟,檢測出單頻信號,,據(jù)此產(chǎn)生PTT(Push-to-Talk)控制信號輸出,,其接口轉(zhuǎn)換模塊功能框圖如圖1所示。
2 FFT處理器設(shè)計
在Altera可編程邏輯器件中數(shù)字信號處理系統(tǒng)設(shè)計需要能夠同時具有高速運(yùn)算以及硬件語言描述的開發(fā)工具,。Altera DSP Builder集成了這些工具,。Altera公司的DSP Builder大大縮短了DSP開發(fā)周期,在友好開發(fā)環(huán)境里它能幫助使用者生成一個有關(guān)DSP設(shè)計的高級硬件描述語言,。IP中的FFT MegaCore function是一個具有良好性能,,高度參數(shù)化的快速傅里葉變換的進(jìn)程。該設(shè)計采用DSP Builder模型這個共享開發(fā)平臺中的Megacore functions完成FFT處理器和FIR陷波濾波器的設(shè)計,。
I/O數(shù)據(jù)流結(jié)構(gòu)的設(shè)計如下:
在FFT MegaCore宏功能模塊中主要的參數(shù)指標(biāo)就是數(shù)據(jù)流相應(yīng)的時序規(guī)則,,下面簡要介紹一下流結(jié)構(gòu)的時序原理圖,如圖2所示,。
在圖2中,,sink_valid是FFT模塊的輸出信號,它表示FFT處理器是否做好接收數(shù)據(jù)的準(zhǔn)備,。sink_ready和sink_valid都處于高位時,,F(xiàn)FT開始運(yùn)行,等待sink_sop信號置位開始輸入數(shù)據(jù),,只要這兩個信號中任一個信號置低位,,就表明FFT還未準(zhǔn)備好,F(xiàn)FT將處于等待狀態(tài),,直到這兩個信號都處于高位才開始運(yùn)行,。sink_sop是一幀信號傳輸?shù)钠鹗夹盘枺瑂ink_eop表示一幀信號傳輸結(jié)束信號,。
3 FIR陷波濾波器的設(shè)計
窗函數(shù)設(shè)計法在設(shè)計常用FIR數(shù)字濾波器中有非常廣泛的應(yīng)用,,正確的選擇窗函數(shù)可以提高所設(shè)計的數(shù)字濾波器的性能,或者在滿足技術(shù)指標(biāo)的條件下,,減少FIR數(shù)字濾波器的階數(shù),。窗函數(shù)設(shè)計法主要目標(biāo)是獲得最窄的主瓣寬度和盡可能大的旁瓣衰減。若阻帶衰減不高,,則濾除不干凈,,衰減過高,可能將有用信號也一并濾除,。據(jù)資料可知,,矩形窗、漢寧窗的阻帶衰減很低,,海明窗較好一點,,布萊克曼窗應(yīng)該是最恰當(dāng)?shù)摹?/p>
圖3是加布萊克曼窗后的陷波濾波器,,采用Matlab工具產(chǎn)生,橫坐標(biāo)為頻率范圍,,縱坐標(biāo)為各頻率點上的幅度,。
由圖3可知,陷波濾波器在頻率為2 kHz的地方幅度最低,,達(dá)-60 dB,,其過渡帶寬200 Hz,大體上能滿足設(shè)計的需求,。
4 Cordic算法實現(xiàn)求模
目前實現(xiàn)Cordic算法主要有兩種基本的結(jié)構(gòu):較為簡潔的狀態(tài)機(jī)和高速全流水線處理器,。在此采用高速全流水線處理器。在流水線結(jié)構(gòu)中,,各階段數(shù)據(jù)處理不影響后面數(shù)據(jù)的輸入,,在每個時鐘周期到來是將各階段的數(shù)據(jù)不斷前移,后面的數(shù)據(jù)不斷輸入,,猶如一個FIFO緩沖期,,在每個時鐘周期到來時地址不斷向前移一位,后來的數(shù)據(jù)不斷的往里輸,,在各時鐘周期不同地址間數(shù)據(jù)不會相互影響,。這就保證了實時系統(tǒng)的數(shù)據(jù)能不斷地流入而不會導(dǎo)致沖突。圖4所示為5級迭代快速Cordic流水線結(jié)構(gòu):
如圖5所示,,采用QuartusⅡ的SignalTap采集的數(shù)據(jù),,經(jīng)計算其準(zhǔn)確率高達(dá)98%以上,能夠滿足設(shè)計的需求,。根據(jù)圖5所示計算mmsource_ exp信號,,此信號是指數(shù)修正信號,是有符號型,,將其轉(zhuǎn)換成十進(jìn)制數(shù)的-2,。先計算頭二組mmsource_real信號和mmource_imag信號數(shù)據(jù)。它們也是有符號數(shù),,因此將其轉(zhuǎn)化為十進(jìn)制數(shù),,轉(zhuǎn)換結(jié)果為{-1,-80,;-2,,-17;-11,,-53,;26,-51},,而根據(jù)Cordic算法得出的結(jié)果從圖5中讀出,,依次為{5 209,;1 113;3 517,;3 723},。而實際經(jīng)模修改后得到的標(biāo)準(zhǔn)值分別為{5 120;1 088,;5 317;3 648},。
5 穩(wěn)定處理
FFT閾值法的原理是先對原始信號做FFT處理,,適當(dāng)預(yù)設(shè)濾波閾值,將低于該閾值的頻帶設(shè)定為無效信號,,定義為接收器沒有接收到信號,。當(dāng)然閾值以下,并不能代表該周期產(chǎn)生了單頻信而由于信道上或者硬件本身的干擾,,單檢測周期的測量值超過閾值或者在號或沒產(chǎn)生,。僅憑單檢測周期的閾值檢測而產(chǎn)生PTT控制信號會帶來話音控制的不穩(wěn)定性。
設(shè)計的算法能極大地提高閾值測試的穩(wěn)定性,。具體處理如下,,流程如圖6所示。
為實現(xiàn)該功能,,需自定義一個計數(shù)器,,初始值為0,計數(shù)器值定義在0到T(T>0)之間,。若在加操作中使計數(shù)器值大于T,,則將計數(shù)器值飽和到T;若在減操作中使計數(shù)器小于0,,則將計數(shù)器值飽和到0,。
第一步,檢測測量值是否過閾值,。若過閾值,,計數(shù)器值加m,進(jìn)行第二步,;若不過閾值,,計數(shù)器值減n,進(jìn)行第四步,。
第二步,,若計數(shù)器值大于T,則飽和到T值,。進(jìn)行第三步,。
第三步,,檢測計數(shù)器值,若計數(shù)器值等于T,,則啟動輸出PTT控制信號,,結(jié)束流程;若計數(shù)器值小于T,,則維持上一次的PTT控制信號輸出狀態(tài),,結(jié)束流程。
第四步,,若計數(shù)器值小于0,,則飽和到0值。進(jìn)行第五步,。
第五步,,檢測計數(shù)器值,若計數(shù)器值等于0,,則取消輸出PTT控制信號,,結(jié)束流程;若計數(shù)器值大于0,,則維持上一次的PTT控制信號輸出狀態(tài),,結(jié)束流程。
在流程中,,m,,n值的選擇取決于信道上或者硬件本身干擾的大小。若沒有單頻信號而誤檢出單頻信號的錯誤概率比較大,,則m的取值應(yīng)較?。环粗?,若沒有單頻信號而誤檢出單頻信號的錯誤概率比較小,,則m的取值可以較大。同理,,若有單頻信號而未檢出單頻信號的錯誤概率比較大,,則n的取值應(yīng)較小,;反之,,若有單頻信號而未檢出單頻信號的錯誤概率比較小,則n的取值可以較大,。
圖7所示,,在CycloneⅢ實驗板運(yùn)行時采用SignalTapⅡ?qū)顟B(tài)機(jī)的各項內(nèi)容進(jìn)行驗證,保證狀態(tài)機(jī)運(yùn)行良好,。將相關(guān)程序下載到Cyclone-Ⅲ芯片里,,實時采集音頻數(shù)據(jù)對狀態(tài)機(jī)進(jìn)行分析,。
在圖7中,mmod在一個采樣周期結(jié)束后ostart信號被觸發(fā),,其獲得的總能量為1 427,,比預(yù)設(shè)閾值要低,因此ocounter1的狀態(tài)不變,,仍保持在第0狀態(tài),,而ocounter2的狀態(tài)則由第3狀態(tài)跳到第2狀態(tài),這實踐的結(jié)果和理論都是保持一致的,,可以說明程序的正確性,,狀態(tài)機(jī)運(yùn)行正常。
6 結(jié)語
本文可以用于一切需要PTT信號端的設(shè)備上,,應(yīng)用極其廣泛,如:對講機(jī),、飛機(jī)場指揮塔的應(yīng)答系統(tǒng)以及目前已在美國推出的PTT手機(jī)業(yè)務(wù)等均運(yùn)用到該技術(shù),。而在做該課題時遇到一些問題,如:陷波濾波器其阻帶帶寬偏大,,需要尋求一種更好的算法來解決其帶寬問題,;其次,F(xiàn)IR消耗內(nèi)存較大,,這樣會消耗大部分的FPGA邏輯資源,,會導(dǎo)致較大系統(tǒng)的資源不夠,因此需要設(shè)計更好的數(shù)據(jù)流結(jié)構(gòu)和算法來處理這個問題,。這將是筆者以后需要繼續(xù)研究學(xué)習(xí)的,。
作者:王宇杰 林明 姜黎 顧晶 來源:現(xiàn)代電子技術(shù)