兩種基于FPGA的軟件濾波方法
1. 3延時(shí)濾波程序仿真
本文引用地址:http://m.butianyuan.cn/article/278137.htm分別將開關(guān)信號(hào)din設(shè)置成理想信號(hào)和抖動(dòng)信號(hào),利用QuartusⅡ8. 0軟件進(jìn)行仿真,圖3和圖4分別為理想信號(hào)和抖動(dòng)信號(hào)的延時(shí)濾波仿真波形圖。
圖3理想開關(guān)信號(hào)延時(shí)濾波仿真波形
圖4抖動(dòng)開關(guān)信號(hào)延時(shí)濾波仿真波形
圖中clk為采樣時(shí)鐘,glrn為復(fù)位信號(hào),din為開關(guān)輸入信號(hào),dout為延時(shí)濾波輸出信號(hào)。從圖3可以看出,從開關(guān)信號(hào)發(fā)生變化到輸出發(fā)生變化的時(shí)間延時(shí)為2 ms,從圖4中可以看出,此延時(shí)濾波程序有效消除了扭子開關(guān)的抖動(dòng)干擾,驗(yàn)證了其理論可行性。
1. 4延時(shí)濾波程序?qū)嶋H驗(yàn)證
為了驗(yàn)證此延時(shí)濾波程序的實(shí)際濾波效果,將其下載到Xilinx公司的Spartan3系列FPGA芯片XC3S400中,用示波器多次測(cè)量經(jīng)過(guò)濾波后的開關(guān)信號(hào),得到圖5所示的輸出信號(hào)波形。圖5中,橫坐標(biāo)表示時(shí)間,每格代表10μs,縱坐標(biāo)表示電壓,每格表示1 V.從圖5可以看出,經(jīng)過(guò)濾波后的開關(guān)信號(hào)不再有抖動(dòng)現(xiàn)象,此延時(shí)濾波程序的實(shí)際可靠性得到驗(yàn)證。
圖5延時(shí)濾波后的輸出信號(hào)波形
1. 5延時(shí)濾波程序資源占用率
在電子電路的設(shè)計(jì)中,FPGA的資源占用率是我們應(yīng)該考慮的一個(gè)重要問(wèn)題。如果FPGA的資源占用率太大,會(huì)加重FPGA的負(fù)擔(dān),影響整個(gè)電路的運(yùn)行速度。表1為延時(shí)濾波程序在XC3S400芯片中的資源占用情況。
表1延時(shí)濾波程序的資源占用情況
1. 6延時(shí)濾波的特點(diǎn)
延時(shí)濾波比較適合對(duì)脈沖寬度已知的干擾信號(hào)進(jìn)行濾波,這樣可以更準(zhǔn)確地確定延時(shí)時(shí)間,既不會(huì)因?yàn)檠訒r(shí)時(shí)間太短而導(dǎo)致濾波不理想,又不會(huì)因?yàn)檠訒r(shí)時(shí)間過(guò)長(zhǎng)而導(dǎo)致資源浪費(fèi)。而且,延時(shí)程序不僅可以有效地消除開關(guān)類信號(hào)的抖動(dòng),還可以濾去干擾、噪音等其他尖峰波,抗干擾強(qiáng),可靠性高。
如果電路中存在多路輸入信號(hào)時(shí),當(dāng)檢測(cè)到任意一路輸入信號(hào)狀態(tài)發(fā)生變化時(shí)即執(zhí)行延時(shí)程序,在執(zhí)行延時(shí)程序的過(guò)程中將檢測(cè)不到其他輸入狀態(tài)的變化,所以能夠識(shí)別的動(dòng)作間隔不可能小于延時(shí)時(shí)間T,特別是當(dāng)多路輸入信號(hào)的狀態(tài)集中在短時(shí)間內(nèi)變化時(shí),電路的性能會(huì)嚴(yán)重下降。并且,由于頻繁執(zhí)行延時(shí)程序,會(huì)影響系統(tǒng)的效率和實(shí)時(shí)性。
2判決濾波
判決濾波是一種基于概率統(tǒng)計(jì)的濾波方法。在采樣時(shí)鐘CLK的控制下,每隔時(shí)間t對(duì)開關(guān)信號(hào)進(jìn)行一次采樣,并對(duì)時(shí)間T0內(nèi)采集到的n個(gè)采樣值進(jìn)行判斷( n = T0 /t),如果這n個(gè)采樣值中高電平‘1’的個(gè)數(shù)百分比大于X,則輸出高電平;相反,如果低電平‘0’的個(gè)數(shù)百分比大于X,則輸出低電平。
采用一個(gè)n位寄存器來(lái)實(shí)現(xiàn)判決濾波,寄存器各個(gè)位的值依次為采樣得到的n個(gè)采樣值。寄存器的模型如圖6所示。
圖6寄存器模型
在圖6中,n個(gè)格子分別代表寄存器的n個(gè)位,寄存器左側(cè)的數(shù)據(jù)為已經(jīng)處理過(guò)的數(shù)據(jù),寄存器內(nèi)的n個(gè)數(shù)據(jù)為正在處理的數(shù)據(jù),寄存器右側(cè)的數(shù)據(jù)為即將處理的數(shù)據(jù)。每過(guò)一個(gè)采樣時(shí)間間隔t,數(shù)據(jù)依次向高位滑動(dòng)一位,最低位賦值為輸入信號(hào)當(dāng)前的狀態(tài)值。
如上述過(guò)程,寄存器內(nèi)的數(shù)據(jù)在不斷地更新,數(shù)據(jù)每滑動(dòng)一次,即對(duì)n個(gè)采樣值進(jìn)行一次判斷,從而達(dá)到濾波的目的。由于干擾脈沖的隨機(jī)性,采到高電平和低電平的概率是相等的,所以,作為判斷依據(jù)的百分比X不能小于50%.在實(shí)際應(yīng)用中,為了使濾波更可靠,X的取值一般都大于50%.
2. 1判決濾波程序設(shè)計(jì)
本設(shè)計(jì)采用一個(gè)9位寄存器( n = 9),每次判斷時(shí)只要‘1’的個(gè)數(shù)大于或等于5,則濾波輸出‘1’,否則輸出‘0’( X = 5 /9)。圖7為判決濾波程序的流程圖。
圖7判決濾波程序流程圖
濾波器相關(guān)文章:濾波器原理
fpga相關(guān)文章:fpga是什么
濾波器相關(guān)文章:濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評(píng)論