文獻標識碼: A
文章編號: 0258-7998(2012)08-0042-03
羅蘭C導航系統(tǒng)是一種采用脈沖相位調(diào)制的陸基中遠程低頻無線電導航系統(tǒng),,是我國獨立控制的唯一大型陸基無線電導航系統(tǒng),也是全球羅蘭C系統(tǒng)網(wǎng)的重要組成部分,。目前已作為我國衛(wèi)星定位導航授時(PNT)的最重要備份手段,。又由于其工作在低頻段,因此具有較強的抗干擾能力和水下接收的可能[1],。研究羅蘭C的數(shù)字化接收技術對提高羅蘭C的利用率和提高軍事應用能力具有很大價值,。其射頻前端的數(shù)字帶通濾波器是實現(xiàn)數(shù)字化接收機的重要組成部分。為此,,本文針對羅蘭C數(shù)字接收機前端濾波的要求,,就如何在FPGA上實現(xiàn)羅蘭C數(shù)字帶通濾波器進行了研究。
1.2 FIR濾波器的計算機輔助設計
利用MATLAB信號處理工具箱(fdatool),,選取least-squares模式,,采樣率為1 MHz,,按照本設計要求,輸入通帶(90 kHz~110 kHz)和阻帶頻率(80 kHz~120 kHz)參數(shù)值,。為滿足其阻帶要達到25 dB以上衰減的要求,,設計濾波器階數(shù)為127階,可以得出滿足要求的128個濾波器系數(shù),,利用FIR濾波器系數(shù)的對稱性,,選取前64個系數(shù)并乘212取整后的濾波器參數(shù)如表1所示。
2 硬件設計與實現(xiàn)
2.1 硬件電路結(jié)構設計
要實現(xiàn)前端數(shù)字濾波,,首先要對天線接收來的信號進行數(shù)字化處理,。由于天線端接收的信號非常微弱,進行數(shù)字化處理之前必須放大處理,。系統(tǒng)硬件設計是以Altera公司的EP2C8Q208C芯片為核心,由磁天線接收的羅蘭C信號經(jīng)過以運算放大器MAX4418為核心的低噪聲放大(LNA)后,,經(jīng)過12 bit的ADC芯片AD9235轉(zhuǎn)換成數(shù)字信號輸入到FPGA芯片內(nèi),,經(jīng)FPGA內(nèi)部運算實現(xiàn)信號的數(shù)字濾波,輸出經(jīng)由12 bit的DAC芯片AD9752轉(zhuǎn)換成模擬信號,,經(jīng)過平滑處理送往羅蘭C接收機,,也可以直接數(shù)字輸出到數(shù)字接收機或者數(shù)據(jù)采集計算機,從而實現(xiàn)接收機定位和數(shù)據(jù)采集分析的目的,。電路結(jié)構圖如圖2所示,。
FIR濾波器只在原點處存在極點,所以具有全局穩(wěn)定性,,由一個“抽頭延遲線”,、加法器、乘法器的集合構成,,是一個典型的乘累加結(jié)構,,很方便進行FPGA實現(xiàn)。乘累加運算的次數(shù)由濾波器的階數(shù)來決定,,但乘法運算十分耗費資源,。利用傳統(tǒng)的MAC方式只能實現(xiàn)較低階的數(shù)字濾波器,而要滿足羅蘭C前端的濾波要求則需要高達127階的高階濾波器,,如此作為主芯片的EP2C8Q208C就很難滿足其資源要求,。可以考慮采用分布式算法(Distributed Arithmetic)來實現(xiàn),,以達到節(jié)約資源和提高運算速度的目的,。
2.3 分布式算法原理
分布式算法是在30年前被首次提出的,但直到Xilinx公司發(fā)明FPGA的查找表結(jié)構以后,,DA算法才廣泛應用在計算乘積和之中,。對于FIR濾波器,,其基本結(jié)構是一個分節(jié)的延時線,每一節(jié)的輸出加權累加,,得到濾波器的輸出,。其輸出y就是輸出x與系數(shù)h的內(nèi)積[4]:
2.4 改進的分布式算法
查找表(LUT)的大小是由濾波器的階數(shù)決定的,N階濾波器則共需要2N個查找表單元,。若已知濾波器的系數(shù)位寬為B bit,,則表中每個存儲單元的數(shù)據(jù)位寬可表示為(B+
log2127)bit,所以要完成127階濾波器需要(B+log2127)×
2127 bit的RAM,。為了減小查找表的規(guī)??梢岳肍IR濾波器的線性特性采用部分表計算,如此一個高階濾波器的輸出即是低階濾波器輸出的相加值,。在設計中將每4個濾波器系數(shù)作為一個小的查找表,,每個查找表的規(guī)模為(B+log24)×24 bit。利用FIR濾波器系數(shù)的對稱性,,將對應對稱系數(shù)的輸入數(shù)據(jù)預相加后再查找表,,這樣128個系數(shù)可以縮減為64個,如此實現(xiàn)整體的查找表則共需要(B+log24)×24×64 bit,。如此規(guī)模的RAM硬件是可以接受的,,而且不會降低濾波器的處理速度。將每個查找表的輸出分別相加后再經(jīng)過二次冪加權相加即可,。實現(xiàn)原理如圖5所示,,每個查找表的內(nèi)容如表2所示[5-6]。
fs為信號采樣率,,B為處理數(shù)據(jù)的位寬,,fsc為單比特流控制時鐘頻率。即:fs可以由fsc分頻得到(或fsc可以由fs倍頻得到),。設計中AD9235采樣數(shù)據(jù)的位寬為12 bit,,根據(jù)FIR濾波器的系數(shù)對稱性,簡化硬件實現(xiàn)考慮將對應對稱的兩個輸入數(shù)據(jù)相加,,相加后數(shù)據(jù)處理位寬為13 bit,。考慮到主控制時鐘,,可以選定FPGA的最高時鐘工作頻率為fsc=fs×13=13 MHz,,而13為質(zhì)數(shù),很難經(jīng)過分頻或者有10 MHz的晶振倍頻得到,。為方便工程化實現(xiàn),,考慮將處理數(shù)據(jù)位寬擴展,同時為節(jié)約資源又不宜采用太大的位寬,。如此將濾波器主體時鐘設置為15 MHz,。其中原始輸入時鐘為10 MHz,,經(jīng)過PLL進行3倍頻到30 MHz時鐘,再2分頻即可得到15 MHz主控制時鐘,。設置15 MHz時鐘為設計中串行移位控制時鐘,,計數(shù)狀態(tài)從0~14即計15個數(shù),因此可以將數(shù)據(jù)位拓寬到14 bit,。具體設計流程如圖6所示,。
利用$fdisplay函數(shù)將 modelsim中濾波器的輸出數(shù)據(jù)保存為txt文件,對比matlab中設計濾波器的輸出數(shù)據(jù)顯示兩組數(shù)據(jù)完全相同,,證明了濾波器功能設計成功,。用matlab對testbench中的輸入輸出數(shù)據(jù)進行分析,結(jié)果如圖8所示,。因為濾波器系數(shù)乘212取整,,所以輸出結(jié)果數(shù)據(jù)放大了212倍,為方便觀察沒有進行放縮,。經(jīng)過對比可以發(fā)現(xiàn),,濾波器的濾波效果明顯,經(jīng)過濾波器后信號的信噪比有了很大的提高,,濾波器可以成功地抑制一些帶外噪聲和干擾,。圖中顯示的波形重疊現(xiàn)象是因為晚上電離層高度變化天波干擾了地波,,采集的數(shù)據(jù)中存在天波干擾,,天波干擾屬于帶內(nèi)同頻干擾,用一般的頻域濾波器不能將其消除,,可以考慮在接收機內(nèi)部進行自適應濾波以消除帶內(nèi)噪聲,。
圖9所示是在白天避開天波干擾的情況下,將設計的硬件電路進行現(xiàn)場測試接收的羅蘭C信號示波器顯示波形,,實測顯示濾波器功能良好,。
本文研究了羅蘭C前端數(shù)字帶通濾波器的設計與FPGA實現(xiàn)。主要討論高階FIR濾波器在FPGA上的實現(xiàn)方法以及具體實現(xiàn)過程要注意的一些問題,。根據(jù)設計指標在FPGA上實現(xiàn)了滿足要求的127階數(shù)字帶通濾波器,。分布式算法避開了繁雜的乘法運算,尤其對采樣率不高,、數(shù)據(jù)位寬也比較小的情況下,,有比較明顯的優(yōu)勢,其處理速度明顯的要高于MAC結(jié)構,,并且可以減少資源的消耗,。最終仿真和實測結(jié)果均顯示,依據(jù)此方法設計的濾波器完全滿足設計要求,。由此方法設計的濾波器下步將用在羅蘭C軟件接收機上,,結(jié)合實際的裝備進行定位效果的測試,。
參考文獻
[1] 崔國恒,曹可勁,,許江寧,,等.磁天線水下接收羅蘭C信號可行性研究[J].彈箭與制導學報,2010,,30(6):180-182.
[2] 吳苗,,朱濤,李方能,,等.無線電導航原理及應用[M].北京:國防工業(yè)出版社,,2008.
[3] 胡廣書.數(shù)字信號處理(第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的數(shù)字濾波器實現(xiàn)技術研究[D].長沙:國防科技大學,,2004.