新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 拉普拉斯算子的FPGA實現(xiàn)方法

拉普拉斯算子的FPGA實現(xiàn)方法

作者: 時間:2009-09-22 來源:網(wǎng)絡(luò) 收藏

圖2(b)中的行緩沖器分別是由256個8位移位寄存器構(gòu)成的寄存器鏈。當(dāng)圖像的第N行數(shù)據(jù)在像素時鐘同步下輸入到行緩沖器1后,隨著第N+1行圖像數(shù)據(jù)輸入到行緩沖器2中,第N行的圖像數(shù)據(jù)依次存入,而當(dāng)?shù)贜+2行圖像數(shù)據(jù)存入行緩沖器1后,行緩沖器2和行緩沖器3中分別存放的是第N+1行和第N行的圖像數(shù)據(jù),從而實現(xiàn)緩沖圖像數(shù)據(jù)的功能。這樣在像素時鐘的同步下,第N,N+1,N+2行的同一列數(shù)據(jù)分別從taps0x,taps1x,taps2x端輸出,為構(gòu)造3×3模塊提供了數(shù)據(jù)準(zhǔn)備。

本文引用地址:http://butianyuan.cn/article/188608.htm

2.2 卷積計算模塊
圖3是3×3圖像卷積運算的原理圖??梢钥闯觯瑸榱藢崿F(xiàn)卷積運算需要做乘法和加法運算,如果直接采用分立的D觸發(fā)器和加法器以及乘法器來完成卷積運算,結(jié)構(gòu)會很復(fù)雜。在此,采用宏功能模塊中的可編程乘加器模塊和可編程多路并行加法器模塊Parallel_add實現(xiàn)卷積運算,大大簡化了設(shè)計。

使用可編程多路并行加法器Parallel_add宏功能模塊時,可以自由設(shè)計輸入數(shù)據(jù)位寬,累加數(shù)據(jù)個數(shù),定義累加輸入數(shù)據(jù)類型,定義時鐘控制端口,增加異步清零端口等,能快速便捷地生成所需的加法器模塊。為了實現(xiàn)卷積運算中的加權(quán)和運算,宏功能模塊生成的3個乘加器,每個乘加器包含3個乘法器和1個加法器,如圖4所示。圖像數(shù)據(jù)從dataa依次輸入,數(shù)據(jù)分別與固定的模板系數(shù)datab_0,datab_1,datab_2相乘。在該實驗中,使用Verilog HDL語言為各datab設(shè)值,各值分別對應(yīng)模板中的權(quán)值,并將結(jié)果送給加法器完成加法運算。
當(dāng)采用3個這樣類似的Altmult_add模塊并聯(lián)時,便可實現(xiàn)Laplacian算子的運算。

完成圖像卷積后需要對結(jié)果進行處理,以防止結(jié)果出現(xiàn)負值或超過255范圍。使用QuartusⅡ提供的Lpm_abs宏功能模塊計算絕對值,可以解決出現(xiàn)負值問題,而對超過255的值則均設(shè)定為255。
另外,自定義模塊如圖5所示,將它存于自定義宏功能庫中,在以后的設(shè)計時,只需修改相關(guān)參數(shù)即可方便的調(diào)用。

2.3 實驗結(jié)果
圖6(a)為一幅256×256的原始圖像,(b)為采用Matlab的Laplacian算子進行濾波的結(jié)果,(c)為采用本文設(shè)計的Laplacian算子得到的結(jié)果。比較圖6(b)和(c)可以看出,該硬件算法取得了較好的效果。

3 結(jié) 語
這里利用QuartusⅡ軟件提供的宏功能模塊,通過配置調(diào)用的宏功能模塊來實現(xiàn)Laplacian算子,該方法既避免了自己編寫大量程序代碼的繁瑣,又獲得較好的實現(xiàn)結(jié)果。最后通過與Matlab仿真結(jié)果相比較,證明了該設(shè)計的有效性。該設(shè)計方法方便、快捷,可以推廣到其他類型的模板設(shè)計中。

電源濾波器相關(guān)文章:電源濾波器原理


高通濾波器相關(guān)文章:高通濾波器原理

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉