《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高階FIR濾波器強(qiáng)抗干擾數(shù)據(jù)采集系統(tǒng)
基于FPGA的高階FIR濾波器強(qiáng)抗干擾數(shù)據(jù)采集系統(tǒng)
來源:電子技術(shù)應(yīng)用2012年第9期
唐 博, 李錦明, 李士照
中北大學(xué) 電子測(cè)試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051
摘要: 介紹了一種適用于在強(qiáng)干擾、關(guān)鍵信號(hào)被無用信號(hào)淹沒的情況下,實(shí)現(xiàn)高精度數(shù)據(jù)采集的系統(tǒng)。系統(tǒng)硬件上采用24位高精度A/D采集模擬信號(hào),采用XILINX公司的FPGA作為主控制器;軟件上通過從A/D讀取數(shù)字化后的信號(hào),再進(jìn)行高階FIR濾波,剔除了干擾信號(hào)。通過FIR濾波在數(shù)據(jù)采集系統(tǒng)中的運(yùn)用,采集系統(tǒng)可以較傳統(tǒng)數(shù)據(jù)系統(tǒng)有更高的采集精度和更強(qiáng)的抗干擾能力。
中圖分類號(hào): TP311
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 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

    數(shù)據(jù)采集系統(tǒng)能實(shí)時(shí)采集生產(chǎn)過程中的各種數(shù)據(jù)、參數(shù),成為獲取系統(tǒng)工作狀態(tài)、運(yùn)行情況的非常重要的手段。近年來,各種應(yīng)用領(lǐng)域?qū)?shù)據(jù)采集系統(tǒng)的性能提出了更加嚴(yán)格的要求:不但要求實(shí)現(xiàn)采集關(guān)鍵信息的功能,且對(duì)采集系統(tǒng)的抗干擾能力、無用信號(hào)的剔除能力提出了很高的要求。特別是在所采集信號(hào)被無用信號(hào)覆蓋或是采集系統(tǒng)工作在具有強(qiáng)干擾的環(huán)境下時(shí),如何從采集的數(shù)據(jù)中提取有用信號(hào),去除干擾信號(hào)是現(xiàn)如今數(shù)據(jù)采集系統(tǒng)的難點(diǎn)和研究的熱點(diǎn)。基于FPGAFIR濾波器由于具有設(shè)計(jì)靈活、速度快、增益容易控制、穩(wěn)定性好的優(yōu)點(diǎn),逐漸成為數(shù)字信號(hào)提取的一種非常重要的手段。利用其作為數(shù)據(jù)采集系統(tǒng)的前端信號(hào)處理,已經(jīng)是高精度和抗干擾數(shù)據(jù)采集領(lǐng)域的很好的實(shí)現(xiàn)方案。

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

    系統(tǒng)采集的模擬信號(hào)是帶有很大噪聲和正弦信號(hào)的未解調(diào)的微弱電壓信號(hào),系統(tǒng)實(shí)現(xiàn)框圖如圖2所示。

     

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

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

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

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

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

 

 

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲在线观看| 看片网站欧美日韩| 久久精品91| 亚洲午夜av| 一区二区精品在线观看| 亚洲精华国产欧美| 亚洲成色www久久网站| 国产欧美日韩亚州综合| 国产精品麻豆va在线播放| 欧美精品一线| 欧美激情小视频| 免费成人黄色| 欧美3dxxxxhd| 免费在线观看成人av| 久久综合九色综合久99| 久久久亚洲精品一区二区三区 | 欧美在线啊v| 午夜亚洲影视| 午夜精彩视频在线观看不卡| 亚洲图中文字幕| 亚洲一区二区视频在线| 亚洲伊人久久综合| 亚洲制服欧美中文字幕中文字幕| 亚洲香蕉伊综合在人在线视看| 日韩午夜在线电影| 一本色道久久88亚洲综合88 | 亚洲精品欧美| 亚洲精选一区| 一本久道久久综合中文字幕| 在线视频中文亚洲| 亚洲永久免费观看| 欧美一区二区在线观看| 久久国产精品一区二区三区| 亚洲二区在线观看| 亚洲精品视频免费观看| 一区二区三区国产精华| 亚洲视频综合| 欧美一区二区三区啪啪| 久久久久高清| 欧美第一黄网免费网站| 欧美精品在线一区| 欧美三级网址| 国产精品丝袜91| 国产自产在线视频一区| 影音先锋中文字幕一区| 亚洲黄色在线观看| 亚洲婷婷免费| 久久精品五月| 9久草视频在线视频精品| 欧美色图首页| 国产精品成人va在线观看| 国产精品xxx在线观看www| 国产精品无码专区在线观看| 国际精品欧美精品| 亚洲精品乱码久久久久| 亚洲淫性视频| 亚洲福利视频一区二区| 日韩一区二区高清| 午夜视频一区二区| 麻豆国产精品va在线观看不卡| 欧美精品一区二区三区高清aⅴ| 欧美午夜片欧美片在线观看| 国产午夜久久| 欧美日本一区二区三区| 欧美三级中文字幕在线观看| 国产精品视频你懂的| 亚洲第一区色| 亚洲男人的天堂在线| 亚洲国产日韩欧美在线99| 亚洲性线免费观看视频成熟| 久久精品国产免费| 欧美激情在线有限公司| 国产精品一区在线观看你懂的| 在线看日韩欧美| 亚洲一区免费视频| 亚洲精一区二区三区| 欧美一级久久久| 欧美激情一区二区三区成人| 国产欧美日韩激情| 亚洲三级毛片| 久久精品国产亚洲一区二区三区| 99精品福利视频| 久久久国产亚洲精品| 欧美视频亚洲视频| 在线观看日韩www视频免费 | 亚洲深夜影院| 最新日韩av| 欧美在线视频网站| 欧美日韩国产美女| 伊人久久综合| 午夜视频在线观看一区| 亚洲午夜精品久久| 牛牛国产精品| 国产日韩亚洲欧美精品| 一本久道综合久久精品| 亚洲日本中文字幕| 久久久久久久999精品视频| 欧美午夜不卡在线观看免费| 亚洲国产高清自拍| 欧美在线free| 欧美在线播放高清精品| 欧美三区美女| 亚洲国产精品成人| 久久精品国产2020观看福利| 午夜精品久久久久久久男人的天堂 | 一区二区亚洲| 国一区二区在线观看| 一级成人国产| 日韩亚洲欧美高清| 美女国产一区| 韩国美女久久| 欧美伊久线香蕉线新在线| 亚洲欧美日韩一区在线| 欧美三级欧美一级| 亚洲乱码日产精品bd| 亚洲欧洲精品一区| 久热精品在线视频| 狠狠爱综合网| 久久国产精品99久久久久久老狼| 欧美在线观看视频| 国产精品久久久久久久app| 亚洲精品欧美日韩专区| 亚洲精品系列| 欧美电影在线播放| 在线成人性视频| 91久久精品国产91久久| 久久先锋影音av| 激情综合网激情| 亚洲第一中文字幕| 老色鬼久久亚洲一区二区| 国内精品视频在线观看| 欧美主播一区二区三区| 久久成人精品无人区| 国产乱码精品一区二区三区忘忧草 | 欧美在线免费一级片| 国产精品一区二区三区四区 | 午夜亚洲影视| 久久久久久久欧美精品| 国产在线精品二区| 久久精品女人天堂| 蜜桃av一区二区| 亚洲激情一区| 亚洲一级特黄| 国产精品免费观看视频| 亚洲在线一区二区三区| 欧美在线一级视频| 黑人一区二区| 亚洲精品中文字幕在线| 欧美日韩精品在线观看| 在线亚洲自拍| 午夜性色一区二区三区免费视频| 国产精品老女人精品视频| 午夜精品成人在线视频| 久久久夜夜夜| 亚洲国产精品成人一区二区| 一区二区三区三区在线| 国产精品九九| 欧美一区二区三区四区在线| 免费成人高清视频| 99视频一区二区三区| 午夜精品久久久久久久久久久| 国产午夜亚洲精品理论片色戒| 亚洲电影下载| 欧美日韩亚洲国产一区| 亚洲免费影视第一页| 久久久一二三| 亚洲日韩视频| 欧美一区二区三区播放老司机| 好吊色欧美一区二区三区四区 | 欧美一区二区三区四区视频| 国产三级精品在线不卡| 亚洲国产精品va在线观看黑人| 欧美精品一区二区三区高清aⅴ| 亚洲午夜性刺激影院| 久久三级视频| av成人免费观看| 久久狠狠一本精品综合网| 亚洲二区视频| 亚洲欧美欧美一区二区三区| 韩国av一区二区三区在线观看| 日韩小视频在线观看| 国产热re99久久6国产精品| 亚洲日本一区二区| 国产精品视频99| 亚洲三级网站| 国产伦一区二区三区色一情| 亚洲精品少妇| 国产午夜精品久久久久久久| 亚洲精品在线三区| 国产啪精品视频| 9久草视频在线视频精品| 国产日韩欧美三级| 一区二区三区四区五区精品视频| 国产一区二区三区成人欧美日韩在线观看 | 欧美日韩国产欧| 久久国产精品亚洲77777| 欧美三级视频在线播放| 久久精品日韩欧美| 国产精品久久久久久久久免费樱桃| 亚洲高清久久网|