勇敢的芯伴你玩轉Altera FPGA連載92:基于均值濾波處理的超聲波測距回響脈寬計數 特權同學(xué),版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD ![]() 本例程基本的功能實(shí)現和10.1節的例程一樣,只是在原先的“脈沖計數”和“數碼管顯示驅動(dòng)”兩個(gè)功能塊之間,增加了“均值濾波處理”功能的實(shí)現。本實(shí)例功能框圖如圖10.4所示。 ![]() 圖10.4 超聲波測距實(shí)例功能框圖 可能大家在10.1節的板級調試的時(shí)候已經(jīng)注意到了,數碼管顯示的數據還是有些不夠穩定,跳變比較快,也不是非常準確。所有“均值濾波處理”功能模塊就是要來(lái)解決這些問(wèn)題。 一般性的均值濾波,其算法都是“砍頭、去尾、留中間”,即取一定的數據作為一組進(jìn)行排序,剔除最大值和最大值,留下中間的數據進(jìn)行求平均。 我們的算法要比這更簡(jiǎn)單一些。我們取每8個(gè)最新采集的數據,不做任何排序,直接求平均值。注意,每輸入一個(gè)新的數據,就會(huì )相應的輸出一個(gè)舊的數據,從而進(jìn)行一組完全實(shí)時(shí)的最新的8個(gè)數據的均值計算。功能如圖10.5所示。 ![]() 圖10.5 均值濾波處理功能框圖 連接好下載線(xiàn),給CY4開(kāi)發(fā)板供電。 打開(kāi)Quartus II,進(jìn)入下載界面,將本實(shí)例工程下的cy4.sof文件燒錄到FPGA中在線(xiàn)運行。 此時(shí)我們在超聲波測距模塊前面擺放平整的障礙物,可以看到數碼管上的16進(jìn)制數據會(huì )發(fā)生變化。但是相對于上一個(gè)實(shí)例,這個(gè)實(shí)例的數碼管顯示數據要相對穩定一些。 |