|
Xilinx FPGA入門連載31:超聲波測距回響脈寬計數之均值濾波處理 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1jGjAhEm
本例程基本的功能實現和前面一個例程一樣,只是在原先的“脈沖計數”和“數碼管顯示驅動”兩個功能塊之間,增加了“均值濾波處理”功能的實現。
可能大家在上一個例程板級調試的時候已經注意到了,數碼管顯示的數據還是有些不夠穩定,跳變比較快,也不是非常準確。所有“均值濾波處理”功能模塊就是要來解決這些問題。 一般性的均值濾波,其算法都是“砍頭、去尾、留中間”,即取一定的數據作為一組進行排序,剔除最大值和最大值,留下中間的數據進行求平均。 我們的算法要比這更簡單一些。我們取每8個最新采集的數據,不做任何排序,直接求平均值。注意,每輸入一個新的數據,就會相應的輸出一個舊的數據,從而進行一組完全實時的最新的8個數據的均值計算。功能如圖所示。
連接好下載線,給SP6開發板供電。 打開ISE,進入iMPACT下載界面,將本實例工程下的sp6.bit文件燒錄到FPGA中在線運行。 此時我們在超聲波測距模塊前面擺放平整的障礙物,可以看到數碼管上的16進制數據會發生變化。但是相對于上一個實例,這個實例的數碼管顯示數據要相對穩定一些。 |