《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高階FIR濾波器強抗干擾數據采集系統
基于FPGA的高階FIR濾波器強抗干擾數據采集系統
來源:電子技術應用2012年第9期
唐 博, 李錦明, 李士照
中北大學 電子測試技術國家重點實驗室,山西 太原 030051
摘要: 介紹了一種適用于在強干擾、關鍵信號被無用信號淹沒的情況下,實現高精度數據采集的系統。系統硬件上采用24位高精度A/D采集模擬信號,采用XILINX公司的FPGA作為主控制器;軟件上通過從A/D讀取數字化后的信號,再進行高階FIR濾波,剔除了干擾信號。通過FIR濾波在數據采集系統中的運用,采集系統可以較傳統數據系統有更高的采集精度和更強的抗干擾能力。
中圖分類號: TP311
文獻標識碼: B
文章編號: 0258-7998(2012)09-0089-04
High anti-interference data collection system of the high order FIR filter based on FPGA
Tang Bo, Li Jinming, Li Shizhao
National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China
Abstract: This article introduced a data collection system especially suit for the conditions of high anti-interference and usable signal was submerged environment. The hardware of the system was designed with a 24 bits high accuracy A/D to collect analog signals, and we choose the FPGA of XILINX company as a controller. The software of the system, we use FIR filter to deprive the useless signals. With the use of FIR filter, this system has a higher accuracy and anti-interference ability compare to the traditional data collection systems.
Key words : FIR filter; data collection; signal process; FPGA; anti-interference

    數據采集系統能實時采集生產過程中的各種數據、參數,成為獲取系統工作狀態、運行情況的非常重要的手段。近年來,各種應用領域對數據采集系統的性能提出了更加嚴格的要求:不但要求實現采集關鍵信息的功能,且對采集系統的抗干擾能力、無用信號的剔除能力提出了很高的要求。特別是在所采集信號被無用信號覆蓋或是采集系統工作在具有強干擾的環境下時,如何從采集的數據中提取有用信號,去除干擾信號是現如今數據采集系統的難點和研究的熱點。基于FPGAFIR濾波器由于具有設計靈活、速度快、增益容易控制、穩定性好的優點,逐漸成為數字信號提取的一種非常重要的手段。利用其作為數據采集系統的前端信號處理,已經是高精度和抗干擾數據采集領域的很好的實現方案。

1 FIR 濾波器的簡介
    有限脈沖響應FIR(Finite Impulse Response)濾波器由于其具有良好的線性相位和極高的穩定性,在數字信號處理領域得到了極為廣泛的運用。N階FIR濾波器基本系統函數如式(1):
    
一次輸出要做N次乘法和N-1次加法,所以如果用串行結構來實現,當階數N較大時,系統的延時就會很大。如今的數字FIR濾波器大體上可以分為基于DSP的FIR濾波器和基于FPGA的FIR濾波器:基于DSP的FIR濾波器實現簡單,只需要幾條簡單的語句就可以實現,大量運用于數字信號處理過程中。但是由于DSP的運算是串行的,所以不可能設計出高階快速的FIR濾波器。基于FPGA的FIR濾波器是近幾年隨著FPGA資源的急速增長而發展出來的一種新型的FIR濾波實現方案[2],它具有可配置性強,靈活多樣,速度快,穩定性高的優點,逐漸成為工業控制和航天領域中FIR濾波的首選實現方案。
2 系統實現方案
2.1 總體設計方案

    系統采集的模擬信號是帶有很大噪聲和正弦信號的未解調的微弱電壓信號,系統實現框圖如圖2所示。

     

    調節滑動變阻器, 將OPA2277的輸出電壓控制在0~5 V之內,雖然加入了一個簡單的有源RC低通濾波,但是信號有用成分仍然被噪聲和疊加的高頻正弦波所覆蓋。
    放大后的電壓信號雖然幅值在0~5 V之內,但是淹沒在其中的關鍵信號卻仍然只有幾毫伏,如果用普通的低精度ADC進行模數轉換,由于ADC的轉換誤差正好和關鍵信號相差不大,使得轉換后的數字信號中引入了相對大的誤差。即使后續濾波,得到的也是疊加了誤差的關鍵信號,無法實現高精度采集并解調。因此采用TI公司的24位16通道串行高精度ADC芯片ADS1258進行模數轉換。電路圖如圖4所示。
    ADC的主時鐘采用FPGA主時鐘分頻后的16 MHz方波信號,選擇AIN0~AIN9通道作為模擬信號輸入,內部采用自動掃描方式。ADC的控制端口都接到了FPGA的通用I/O口。 ADC內部寄存器配置數據從FPGA通過ADC的SPI口寫入。配置數據在SPI時鐘的上升沿寫入,轉換后的數據在SPI時鐘的下降沿讀出。內部寄存器配置情況如表1所示。

   本系統的主控制器采用XILINX公司的SPARTAN3E系列的FPGA XC3S200E,這款芯片在資源上能滿足系統的要求,而且最重要的是在開發環境ISE 9.1以后的版本中,對于SPARTAN3E系列的芯片系統都自帶了功能強大的FIR濾波器IP核,這樣方便設計高速可靠、占用資源少的FIR濾波器。數據傳送到上位機使用CY7C68013,由于這方面的設計不是本系統的重點,因此不再累述。
2.3 系統程序設計
    程序設計是本系統的關鍵所在,區別于以往系統的關鍵之處就是高精度ADC的使用和創新性的FIR濾波的引入,使得采集系統具備了超高精度和強抗干擾的能力。
    ADS1258是一款多通道串行ADC,由于其控制方式是向其內部寄存器寫入一定配置數據來完成A/D轉換,所以其使用較為靈活。可配置的波特率及斬波功能也使器件的性能更加突出。器件控制流程如圖5所示。

    ADC的讀寫時序特別重要,所以必須按照芯片資料將各個狀態之間轉換的延時控制好,既不影響轉換周期也能保證結果的正確。器件上電后的218個TCLK周期的延時必須保證,否則雖然芯片也能工作,能進行A/D轉換,但是寫寄存器命名無法使用,無法將系統需要的配置數據寫到各個寄存器。在系統開發的前期,由于忽略了這個長時間的復位時間,導致寫命令一直無法正確執行,后來加上復位延時后,ADC工作正常,寄存器數據能順利寫進去。每完成一次轉換,能從芯片SPI口讀出32位有效數據[3],數據格式如表2所示。

    數據低24位為有效A/D數據,高8位為狀態和通道標志位,NEW位指示通道數據是否更新,NEW=1代表通道數據相對前一次讀取已經更新,NEW=0代表未更新,這樣通過判斷NEW的值可以防止重復讀取同樣的數據。OVF位和SUPPLY位分別指示通道端口電壓和供電電壓是否正常。CHID4~CHID0用來判定讀出的數據是屬于哪個通道。通過把不同通道的低24位數據寫入FPGA不同的存儲空間,為接下來的FIR濾波做準備。
    FIR濾波器采用系統自帶的IP核來開發,這樣可以保證FIR濾波器的可靠性并大大縮短開發周期。濾波系數采用Matlab的濾波器設計工具FDATOOL來產生數據。由于系統設計的是超高FIR濾波器,因此系數的生成也需特別注意,并進行一些特定的計算。下面介紹系數的生成辦法。在Matlab主界面輸入FDATOOL命令,調用FDATOOL工具并設置好濾波系數[4]。由于ADC的采樣頻率為23.7 kS/s,因此濾波器的采樣頻率必須大于23.7 kS/s,設置為50 kHz。由于需要采集的關鍵信號的頻率低于100 Hz,因此設置截止頻率為200 Hz。之后,將數據導入到Matlab中,得到的數據全為小數,默認保留了小數點后面四位。
    由于FPGA不能直接做浮點運算,因此必須將系數整型化,整型化的好壞直接影響濾波的精度[5]。當系數整型化后的系數精度不夠時,由于是200階的高階濾波,哪怕一點的系數誤差,都會累積起來反應在濾波結果上。經過反復試驗和研究,發現當FIR濾波器的階數到200時,整型化濾波系數必須將FDATOOL的值乘以220以上,上文所述濾波系數其實只是截取了小數點后面的四位,如果只將系數乘以104,則小數點4位以后的值便人為忽略了,這在高階FIR設計時會帶來極大誤差,造成濾波器不可用。通過觀察FDATOOL生成系數的格式,發現其為32位浮點型,其表示精度遠遠大于小數點四位。在Matlab中輸入如下命令:
    coe=Num*16777216;
    coe=round(coe);
    fid=fopen(′fir300.txt′,′wt′);
    fprintf(fid,′%d\n′,coe);
    fclose(fid);
    以上語句將系數擴大了224倍,然后將系數取整,并以10進制的格式保存到一個TXT文件中,通過手動修改TXT文件內容滿足ISE中系數文件COE的格式要求,最終將TXT文件的后綴名改為.COE[6],至此系數文件已經生成好了。接下來便是在ISE中調用IP核設計高階FIR濾波器,具體步驟本文不再闡述。設計關鍵參數如表3所示。

3 系統實驗結果
    通過信號程序產生一路帶有很大噪聲的正弦信號輸入到FPGA進行處理,將處理前和處理后的信號都發送到上位機進行畫圖和頻譜分析,得到如圖6結果:其上半部分是輸入的帶噪聲的信號,下半部分是經過濾波后得到的信號。
    從圖6可以看出,由FPGA設計的高階FIR濾波器良好地實現了有用信號的提取,輸入信號中的噪聲衰減到幾乎為零,即融入了FIR濾波器的本系統具有強抗干擾并同時解調信號的能力。圖7是濾波前和濾波后采集到信號的頻譜分析圖。

 

 

    圖7可以看出,濾波后系統良好地提取出了頻率為0.08 kHz的信號,而頻率為0.23 kHz、0.33 kHz、0.41 kHz的高頻干擾信號被削減到了幾乎為零,很好地實現了100 Hz內的信號高精度解調。
    具有FIR濾波功能的數據采集系統較過去的單一采集系統有很大的進步。高階FIR濾波器的引入使得本采集系統集抗干擾和解調信號于一體,能適用于各種具有強干擾或者疊加大量無用信號的數據采集場合。
參考文獻
[1] 趙嵐,畢衛紅,劉豐.基于FPGA分布式算法FIR濾波器設計[J].電子測量技術,2007,30(7):101-104.
[2] 張維良.高速并行FIR濾波器的FPGA實現[J]. 系統工程與電子技術,2009,31(8):1819-1822.
[3] TI. ADS1258 DATASHEET:30-40.
[4] 孫耀其. 基于MATLAB和FPGA的FIR數字濾波器設計與實現[J]. 通信與信息技術,2008(11): 89-92.
[5] 徐峰,禹衛國,唐紅. 基于FPGA的流水線分布式算法的FIR濾波器的實現[J].電子技術應用,2004,30(7):70-73.
[6] XILINX. XILINX FIR_compiler_ds534:17-35.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99re热精品| 久久精品二区三区| 亚洲一区自拍| 日韩视频永久免费观看| 亚洲盗摄视频| 依依成人综合视频| 韩国v欧美v日本v亚洲v| 国产亚洲精品v| 国产视频在线观看一区二区三区| 国产精品成人av性教育| 欧美视频一二三区| 欧美午夜精品一区二区三区| 欧美日韩在线播| 欧美日韩亚洲成人| 欧美日韩在线一二三| 欧美日韩一区视频| 国产精品久久久久久久久久久久久| 欧美视频精品在线| 国产精品乱码人人做人人爱 | 欧美激情在线免费观看| 欧美激情a∨在线视频播放| 欧美成ee人免费视频| 欧美电影在线播放| 欧美激情成人在线视频| 欧美另类99xxxxx| 欧美日韩久久不卡| 欧美色综合网| 国产热re99久久6国产精品| 国产日韩欧美黄色| 国内精品视频在线播放| 亚洲成人在线视频网站| 亚洲精品亚洲人成人网| 在线亚洲观看| 香蕉久久夜色精品国产| 亚洲国产精品传媒在线观看 | 欧美激情一区在线| 国产精品红桃| 国产亚洲精品一区二区| 在线观看av一区| 亚洲高清不卡av| 99在线精品观看| 亚洲免费视频网站| 久久精品国产在热久久 | 欧美中文字幕在线观看| 麻豆精品一区二区综合av| 欧美—级高清免费播放| 国产精品www994| 国产亚洲精品久久飘花| 亚洲激情综合| 亚洲午夜一二三区视频| 久久精品国产亚洲aⅴ| 99精品热6080yy久久| 亚洲欧美日韩久久精品| 久久久久久久国产| 欧美成人中文字幕| 国产精品红桃| 激情五月婷婷综合| 夜夜爽99久久国产综合精品女不卡| 亚洲欧美日韩国产综合在线 | 国产日韩精品久久| 91久久精品国产91性色| 亚洲欧美中文日韩v在线观看| 亚洲片在线观看| 亚洲欧美另类在线观看| 美女国内精品自产拍在线播放| 欧美三级视频| 精品不卡一区| 亚洲影视综合| 日韩午夜激情av| 久久久福利视频| 国产精品99免费看 | 国产精品永久免费在线| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲一区二区影院| 亚洲国产cao| 欧美一区二区在线| 欧美日韩精品免费观看视一区二区 | 狠狠色狠色综合曰曰| 99精品99| 亚洲国产视频一区| 欧美在线高清视频| 欧美色视频在线| 1024日韩| 欧美中文字幕精品| 亚洲在线免费视频| 欧美黄色免费网站| 精品成人一区二区| 亚洲欧美日韩国产成人精品影院| 一本综合精品| 欧美va天堂| 韩日精品中文字幕| 亚洲综合社区| 亚洲欧美日韩区| 欧美午夜不卡在线观看免费 | 久久精品亚洲一区二区| 欧美亚洲日本网站| 欧美午夜精彩| 亚洲美女中文字幕| 99ri日韩精品视频| 欧美激情精品久久久久久大尺度| 好看不卡的中文字幕| 欧美一区二区三区四区视频| 午夜精品福利电影| 国产精品v欧美精品∨日韩| 亚洲精品美女91| 亚洲精品一区中文| 欧美超级免费视 在线| 伊人精品视频| 亚洲国产精品va在线看黑人| 久久婷婷一区| 国内精品视频久久| 久久高清国产| 久久久久久高潮国产精品视| 国产欧美亚洲一区| 亚洲欧美中文日韩在线| 午夜在线精品偷拍| 国产精品日韩欧美| 亚洲免费在线观看| 午夜在线播放视频欧美| 国产精品久久久久91| 亚洲视屏一区| 欧美一级欧美一级在线播放| 国产精品视频yy9299一区| 一区二区三区久久久| 亚洲免费视频中文字幕| 国产精品美女主播在线观看纯欲| 亚洲一区在线视频| 久久久精品日韩欧美| 韩国在线一区| 亚洲欧洲中文日韩久久av乱码| 欧美激情日韩| 9久re热视频在线精品| 亚洲一区二区三区在线观看视频 | 亚洲国产婷婷| 亚洲视频视频在线| 国产精品高潮久久| 亚洲欧美日韩一区二区三区在线观看| 欧美一区二区在线看| 国产午夜精品一区二区三区欧美| 欧美一级视频免费在线观看| 久久久久久久久综合| 激情综合中文娱乐网| 亚洲毛片播放| 欧美日韩视频不卡| 亚洲免费一在线| 久久免费一区| 亚洲日本成人在线观看| 亚洲欧美日韩另类| 国内精品亚洲| 99精品国产在热久久婷婷| 国产精品久久影院| 欧美在线日韩精品| 欧美精品videossex性护士| 99精品国产福利在线观看免费| 亚洲永久在线观看| 国产一区二区高清| 亚洲久久在线| 国产精品久久久对白| 久久国产加勒比精品无码| 欧美91大片| 一区二区三区四区精品| 久久精品成人一区二区三区| 亚洲激情啪啪| 欧美一级夜夜爽| 亚洲国产精品黑人久久久| 亚洲一区影音先锋| 国产精品羞羞答答xxdd| 亚洲成人在线网站| 欧美日韩另类丝袜其他| 午夜欧美理论片| 欧美久久久久久久久久| 亚洲欧美日韩精品| 欧美激情久久久久| 欧美亚洲自偷自偷| 欧美日韩精品免费观看| 久久国产精品久久久久久久久久 | 欧美精品播放| 先锋影院在线亚洲| 欧美伦理a级免费电影| 午夜在线一区| 欧美日产在线观看| 久久成人精品一区二区三区| 欧美日韩国产成人在线免费| 久久www免费人成看片高清| 欧美色另类天堂2015| 亚洲大片在线| 国产精品视屏| 99re热这里只有精品视频| 国产一区二区三区久久悠悠色av| 一区二区三区四区精品| 精品二区视频| 欧美一区二区三区免费观看视频| 亚洲激情在线激情| 久久久久久网站| 亚洲亚洲精品在线观看 | 看片网站欧美日韩| 香蕉久久a毛片| 国产精品久久久久9999| 亚洲精品一区二区三区蜜桃久| 国产偷国产偷精品高清尤物|