王李民,劉衛(wèi)華,周志文
(1. 92493部隊,遼寧葫蘆島 125000;2. 92403部隊,福州 350007;3. 海軍工程大學,武漢 430033)
短波接收機頻譜掃描[1]的作用是對目標信號的頻譜進行搜索截獲,提取信號的特征參數(shù),從而對敵方的通信信號進行監(jiān)聽。頻譜掃描的主要性能指標[2]之一為掃描速度,影響掃描速度的因素包括模擬前端頻率合成器的換頻時間、AGC的調整時間以及信號分析檢測的時間。在數(shù)字化短波接收機中,可編程邏輯器件(比如DSP,F(xiàn)PGA等)的應用可大大提高,由于DSP的靈活性所以較適合在數(shù)字化結構中起邏輯控制作用。
本文在基于DSP和FPGA的短波數(shù)字化接收機硬件平臺上設計平實現(xiàn)了滿足工程應用的頻譜掃描流程,并針對掃頻速度難以滿足實際工程要求的情況,運用有限狀態(tài)機的思想合理設計和調用DSP的線程,使得在不影響接收機指標前提下有效提高了掃頻速度。
圖1 有限狀態(tài)機狀態(tài)轉移圖
在本設計中,數(shù)字化短波接收機的硬件平臺采用的為中頻帶通采樣結構[3],既可完成解調也可進行掃頻,本文只探討頻譜掃描。當接收機工作在頻譜掃描狀態(tài)下時,天線端的射頻信號經(jīng)過前端混頻、放大后到模擬中頻,設計的中頻頻率為63.078 MHz。經(jīng)ADC中頻采樣后送往FPGA和DSP進行數(shù)字處理,DSP將頻譜分析的結果最終送給 PC終端進行提取通信信號參數(shù)。其中數(shù)字處理部分主要包括FPGA進行數(shù)字下變頻,將I、Q兩路信號送給DSP進行FFT頻譜分析。頻譜掃描的系統(tǒng)框圖如圖2所示。其中數(shù)字處理部分的詳細流程圖如圖3所示。
由于在實際工程中要求頻譜掃描的速度必須大小200 MHz/s,這就要求在掃描1 MHz的頻段范圍須在5 ms內(nèi)完成。然而對接收機而言,每對頻譜掃描一次需要完成五個狀態(tài)之間的切換:1)主控發(fā)解調命令,在 DSP中做 AGC;2)主控發(fā)FFT命令,F(xiàn)PGA中開始進行采數(shù);3)FPGA中采數(shù)結束,DSP讀取2*N個I/Q兩路數(shù)據(jù)到FIFO中;4)DSP的FIFO中數(shù)據(jù)存儲完畢,開始做FFT分析;5)FFT分析做完,通知主控通過主機并行接口(HPI,Host Parallel Interface) 取數(shù),并等待主控下發(fā)一條命令。狀態(tài)的切換控制與時間把握決定了掃頻速度是否滿足指標要求。
圖2 頻譜掃描系統(tǒng)框圖
圖3 頻譜掃描數(shù)字處理部分流程圖
在本設計中 DSP以 64 kHz的中斷速率與FPGA進行數(shù)據(jù)交互,DSP通過調用BIOS中的API函數(shù),比如SWI_post來觸發(fā)軟件中斷(SWI,Software Interrupt),其處理時間相對于硬件中斷(HWI,Hardware Interrupt)比較充裕。因此,主控每次給DSP發(fā)送命令時產(chǎn)生硬中斷,保證命令的優(yōu)先級,而信號處理置于SWI層。由于高優(yōu)先級可打斷低優(yōu)先級的SWI,所以設計了如圖4的狀態(tài)機[4,5,6]。
圖4 頻譜掃描狀態(tài)機示意圖
如圖4中的狀態(tài)為前述一次掃頻的五種狀態(tài),外部觸發(fā)事件可能是為主控發(fā)送的命令,也可能為信號處理產(chǎn)生的標志位。當接收到外部觸發(fā)事件時,轉移到下一個狀態(tài),兩個轉移的時間為ti。由前述可知,完成1 MHz的頻段掃描時間T=t0+t1+t2+t3+t4,T=≤5 ms。主控在讀取DSP的頻譜掃描數(shù)據(jù)時發(fā)下一條解調命令使數(shù)據(jù)和命令并行處理,壓縮主控處理的時間。
在本設計中,當工作在接收機的頻譜掃描狀態(tài)下時,DSP為保證整個運算的精度,對FPGA送來的緩存數(shù)據(jù)進行移位處理,使得進行FFT處理時的數(shù)據(jù)為滿16位。移位后進行加窗處理,然后調用dsp64x.lib中的 DSP_fft16x32(const short*ptr_w, int npoints, int *ptr_x, int *ptr_y)函數(shù),其中ptr_w為輸入的旋轉因子,為16位浮點型,npoints為FFT點數(shù),ptr_x為輸入的正交數(shù)據(jù)I/Q兩路,其存放順序為I0,Q0,I1,Q1,…IN,QN,N=n points,ptr_y為線性FFT變化的32位數(shù)據(jù)。
測試條件為輸入中頻信號頻率為 63.398 MHz,幅度為-22 dBm,進行譜分析時頻率分辨率為1 kHz,掃描范圍為fIF±400 kHz。DSP將計算的頻譜分析結果由 32位線性數(shù)轉化為 32位Q16格式的dB值,如圖5所示為DSP中分析的信號頻譜。
在輸入單音信號情況下,在 DSP中做 FFT譜分析后捕捉到通信信號(即為圖所示的主峰位置)頻率63.398 MHz(其中400點的位置為中頻頻率,右偏為正、左偏為負,所以右偏320點即中頻偏移+320 kHz),幅度為-83 dBm(由于為中頻輸入,模擬前端的放大量60 dB沒有計算在內(nèi)),所以本數(shù)字化短波電臺的頻譜掃描在短波范圍內(nèi)能夠有效捕捉到目標信號。
為測試頻譜掃描時每個狀態(tài)的開銷時間,采用示波器三個探頭的高低電平來捕捉。如圖6所示,圖中每個探頭的高低電平代表1/0狀態(tài),比如此時電平狀態(tài)分別為低高低,則掃頻狀態(tài)為010(2進制),代表DSP正從FPGA中讀取采樣值。依此類推,由圖可知每部分時間開銷分別為t0=2 ms,t1=260 μs,t2=510 μs,t3=1.4 ms,t4=500 μs,滿足T=t0+t1+t2+t3+t4=4.67 ms≤5 ms。由此可見,將有限狀態(tài)機運用在接收機的頻譜掃描中可有效提高掃頻速度,使得滿足工程需求。
本文設計和實現(xiàn)了數(shù)字化短波接收機中的頻譜掃描功能,并針對掃頻速度難以滿足工程需要的現(xiàn)狀,運用有限狀態(tài)機的思想合理調度DSP的線程,在不影響接收機性能指標的前提下壓縮了掃頻時間,滿足實際應用提出的掃描1 MHz的頻段在5 ms以內(nèi)。
圖6 一次掃描主控與DSP、FPGA時間開銷圖
[1]許軍, 汪芙平, 王贊基. 基于軟件無線電的數(shù)字偵聽接收機研究[J]. 電子技術應用, 2007, (8):110-112.
[2]山娟苗. 通信偵察接收機的數(shù)字信號處理技術[J].計算機與網(wǎng)絡, 2006, (9): 41-43.
[3]遠海鵬, 劉峰, 龍騰. 基于射頻采樣的短波偵察接收機設計[J]. 微計算機信息, 2008, 24(8) : 173-175.
[4]黃新林, 王鋼, 劉春剛. 有限狀態(tài)機在單片機編程中的應用[J]. 哈爾濱理工大學學報, 2008, 13(4) :7-9.
[5]Stoter Arjan, Dalmolen Simon, Drenth Eduard, et al.Real-time context aware reasoning in on-board intelligent traffic systems: An architecture for ontology-based reasoning using finite state machines[J]. ICAART, 2011: 637-642.
[6]Zhu Lin, Wu Zhangguo. Finite State Machine to optimize multi-tasking concurrence technology for real time operating system[J]. Advanced Materials Research. 2011, (383): 2522- 2527.
[7]周先存, 聶堯. 有限狀態(tài)機在數(shù)字調度系統(tǒng)中的建模及應用[J]. 洛陽理工學院學報, 2010, 20(3) :52-55.