《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 羅蘭C前端數字帶通濾波器設計與實現
羅蘭C前端數字帶通濾波器設計與實現
來源:電子技術應用2012年第8期
李靖宇1,2,,許江寧1,,李 豹1,賀航海3
1.海軍工程大學 導航工程系,,湖北 武漢430033,; 2.海軍91821部隊;廣東 潮州515700,; 3.海軍92678部隊,;天津300220
摘要: 分析了羅蘭C信號的特征,并根據信號特征決定選用FIR濾波器,,利用MATLAB工具設計了滿足濾波要求的高階數字帶通濾波器,。詳細研究了分布式算法的原理和分布式算法在FPGA上實現FIR數字濾波器的方法。最終采用改進的分布式算法在FPGA上實現了127階FIR數字帶通濾波器,。利用實際采集的信號進行仿真和現場測試,,結果均顯示由該方法設計的濾波器性能良好,方法簡單易行,,相對于傳統(tǒng)的乘累加結構不僅能節(jié)省硬件資源,,而且可以改善數據處理速度,具有一定的推廣價值,。
中圖分類號: TN962
文獻標識碼: A
文章編號: 0258-7998(2012)08-0042-03
Design and implementation of Loran-C front digital band pass filter
Li Jingyu1,,2,Xu Jiangning1,Li Bao1,,He Hanghai3
1.Department of Navigation Engineering,,Naval University of Engineering,Wuhan 430033,,China; 2.Naval 91821 Department,,Chaozhou 515700,,China; 3.Naval 92678 Department,,Tianjin 300220,,China
Abstract: The signature of the Loran-C was analyzed in this paper. The FIR filter was selected and a higher-order digital band pass filter was designed to meet requirement according to the Loran-C signature in MATLAB. The theory of distributed arithmetic and its FPGA implementation method were studied, At last, a 127 orders FIR digital band pass filter was realized using modified distributed arithmetic on FPGA. The simulation result using practical signal and the field tests showed the design is wonderful. The method is very simple, which not only used fewer hardware resources but also the speed is improved that can be widely popularized.
Key words : Loran-C;distributed arithmetic,;FIR higher-order band pass filter,;FPGA;Modelsim simulator

    羅蘭C導航系統(tǒng)是一種采用脈沖相位調制的陸基中遠程低頻無線電導航系統(tǒng),,是我國獨立控制的唯一大型陸基無線電導航系統(tǒng),,也是全球羅蘭C系統(tǒng)網的重要組成部分。目前已作為我國衛(wèi)星定位導航授時(PNT)的最重要備份手段,。又由于其工作在低頻段,,因此具有較強的抗干擾能力和水下接收的可能[1]。研究羅蘭C的數字化接收技術對提高羅蘭C的利用率和提高軍事應用能力具有很大價值,。其射頻前端的數字帶通濾波器是實現數字化接收機的重要組成部分,。為此,本文針對羅蘭C數字接收機前端濾波的要求,,就如何在FPGA上實現羅蘭C數字帶通濾波器進行了研究,。

1.2 FIR濾波器的計算機輔助設計
    利用MATLAB信號處理工具箱(fdatool),選取least-squares模式,,采樣率為1 MHz,,按照本設計要求,輸入通帶(90 kHz~110 kHz)和阻帶頻率(80 kHz~120 kHz)參數值,。為滿足其阻帶要達到25 dB以上衰減的要求,,設計濾波器階數為127階,可以得出滿足要求的128個濾波器系數,,利用FIR濾波器系數的對稱性,,選取前64個系數并乘212取整后的濾波器參數如表1所示。

2 硬件設計與實現
2.1 硬件電路結構設計

    要實現前端數字濾波,,首先要對天線接收來的信號進行數字化處理,。由于天線端接收的信號非常微弱,進行數字化處理之前必須放大處理。系統(tǒng)硬件設計是以Altera公司的EP2C8Q208C芯片為核心,,由磁天線接收的羅蘭C信號經過以運算放大器MAX4418為核心的低噪聲放大(LNA)后,,經過12 bit的ADC芯片AD9235轉換成數字信號輸入到FPGA芯片內,經FPGA內部運算實現信號的數字濾波,,輸出經由12 bit的DAC芯片AD9752轉換成模擬信號,,經過平滑處理送往羅蘭C接收機,也可以直接數字輸出到數字接收機或者數據采集計算機,,從而實現接收機定位和數據采集分析的目的,。電路結構圖如圖2所示。

    FIR濾波器只在原點處存在極點,,所以具有全局穩(wěn)定性,,由一個“抽頭延遲線”、加法器,、乘法器的集合構成,,是一個典型的乘累加結構,很方便進行FPGA實現,。乘累加運算的次數由濾波器的階數來決定,,但乘法運算十分耗費資源。利用傳統(tǒng)的MAC方式只能實現較低階的數字濾波器,,而要滿足羅蘭C前端的濾波要求則需要高達127階的高階濾波器,,如此作為主芯片的EP2C8Q208C就很難滿足其資源要求??梢钥紤]采用分布式算法(Distributed Arithmetic)來實現,,以達到節(jié)約資源和提高運算速度的目的。
2.3 分布式算法原理
    分布式算法是在30年前被首次提出的,,但直到Xilinx公司發(fā)明FPGA的查找表結構以后,,DA算法才廣泛應用在計算乘積和之中。對于FIR濾波器,,其基本結構是一個分節(jié)的延時線,,每一節(jié)的輸出加權累加,得到濾波器的輸出,。其輸出y就是輸出x與系數h的內積[4]:
 
2.4 改進的分布式算法
    查找表(LUT)的大小是由濾波器的階數決定的,,N階濾波器則共需要2N個查找表單元。若已知濾波器的系數位寬為B bit,,則表中每個存儲單元的數據位寬可表示為(B+
log2127)bit,,所以要完成127階濾波器需要(B+log2127)×
2127 bit的RAM。為了減小查找表的規(guī)??梢岳肍IR濾波器的線性特性采用部分表計算,,如此一個高階濾波器的輸出即是低階濾波器輸出的相加值。在設計中將每4個濾波器系數作為一個小的查找表,每個查找表的規(guī)模為(B+log24)×24 bit,。利用FIR濾波器系數的對稱性,,將對應對稱系數的輸入數據預相加后再查找表,這樣128個系數可以縮減為64個,,如此實現整體的查找表則共需要(B+log24)×24×64 bit,。如此規(guī)模的RAM硬件是可以接受的,而且不會降低濾波器的處理速度,。將每個查找表的輸出分別相加后再經過二次冪加權相加即可,。實現原理如圖5所示,每個查找表的內容如表2所示[5-6],。

    fs為信號采樣率,B為處理數據的位寬,,fsc為單比特流控制時鐘頻率,。即:fs可以由fsc分頻得到(或fsc可以由fs倍頻得到)。設計中AD9235采樣數據的位寬為12 bit,,根據FIR濾波器的系數對稱性,,簡化硬件實現考慮將對應對稱的兩個輸入數據相加,相加后數據處理位寬為13 bit,??紤]到主控制時鐘,可以選定FPGA的最高時鐘工作頻率為fsc=fs×13=13 MHz,,而13為質數,,很難經過分頻或者有10 MHz的晶振倍頻得到。為方便工程化實現,,考慮將處理數據位寬擴展,,同時為節(jié)約資源又不宜采用太大的位寬。如此將濾波器主體時鐘設置為15 MHz,。其中原始輸入時鐘為10 MHz,,經過PLL進行3倍頻到30 MHz時鐘,再2分頻即可得到15 MHz主控制時鐘,。設置15 MHz時鐘為設計中串行移位控制時鐘,,計數狀態(tài)從0~14即計15個數,因此可以將數據位拓寬到14 bit,。具體設計流程如圖6所示,。

 

 

    利用$fdisplay函數將 modelsim中濾波器的輸出數據保存為txt文件,對比matlab中設計濾波器的輸出數據顯示兩組數據完全相同,,證明了濾波器功能設計成功,。用matlab對testbench中的輸入輸出數據進行分析,結果如圖8所示。因為濾波器系數乘212取整,,所以輸出結果數據放大了212倍,,為方便觀察沒有進行放縮。經過對比可以發(fā)現,,濾波器的濾波效果明顯,,經過濾波器后信號的信噪比有了很大的提高,濾波器可以成功地抑制一些帶外噪聲和干擾,。圖中顯示的波形重疊現象是因為晚上電離層高度變化天波干擾了地波,,采集的數據中存在天波干擾,天波干擾屬于帶內同頻干擾,,用一般的頻域濾波器不能將其消除,,可以考慮在接收機內部進行自適應濾波以消除帶內噪聲。

    圖9所示是在白天避開天波干擾的情況下,,將設計的硬件電路進行現場測試接收的羅蘭C信號示波器顯示波形,,實測顯示濾波器功能良好。

    本文研究了羅蘭C前端數字帶通濾波器的設計與FPGA實現,。主要討論高階FIR濾波器在FPGA上的實現方法以及具體實現過程要注意的一些問題,。根據設計指標在FPGA上實現了滿足要求的127階數字帶通濾波器。分布式算法避開了繁雜的乘法運算,,尤其對采樣率不高,、數據位寬也比較小的情況下,有比較明顯的優(yōu)勢,,其處理速度明顯的要高于MAC結構,,并且可以減少資源的消耗。最終仿真和實測結果均顯示,,依據此方法設計的濾波器完全滿足設計要求,。由此方法設計的濾波器下步將用在羅蘭C軟件接收機上,結合實際的裝備進行定位效果的測試,。
參考文獻
[1] 崔國恒,,曹可勁,許江寧,,等.磁天線水下接收羅蘭C信號可行性研究[J].彈箭與制導學報,,2010,30(6):180-182.
[2] 吳苗,,朱濤,,李方能,等.無線電導航原理及應用[M].北京:國防工業(yè)出版社,,2008.
[3] 胡廣書.數字信號處理(第2版)[M].北京:清華大學出版社,,2003.
[4] UWE M B.Digital signal processing with field programmable  gate arrays[M].劉凌,,譯.北京:清華大學出版社,2003.
[5] 田耘,,徐文波,,張延偉.無線通信FPGA設計[M].北京:電子工業(yè)出版社,2008.
[6] 朱好學.基于FPGA的高階FIR濾波器設計[D].南京:南京理工大學,,2008.
[7] 黃仰博.基于FPGA的數字濾波器實現技術研究[D].長沙:國防科技大學,,2004.

此內容為AET網站原創(chuàng),未經授權禁止轉載,。