SoPC自動指紋識別系統(tǒng)設計
1.3 硬件優(yōu)化技術
針對FPGA算術運算中的乘法、除法易出現(xiàn)的時序問題,對浮點數(shù)運算、開方算法、反正切算法等耗費大量資源的通用性問題,特別做了如下優(yōu)化:
(1)乘除法均采用Quartus自帶的IP核進行運算,IP核采用流水線結構,減少系統(tǒng)中時序不滿足情況的發(fā)生,提高系統(tǒng)的穩(wěn)定性;
(2)浮點數(shù)運算均通過擴大倍數(shù)后轉為定點數(shù)再進行運算,可以在降低運算復雜度的同時降低時間消耗;
?。?)開方算法采用不恢復余數(shù)開方算法實現(xiàn),只涉及加減和移位,處理時間只有輸入位寬的1/2,可降低系統(tǒng)消耗,減少處理時間;
(4)反正切運算采用CORDIC算法,采用狀態(tài)機結構,通過反復迭代實現(xiàn),算法簡單。
2 系統(tǒng)實現(xiàn)
2.1 MBF200硬件采集模塊
MBF200開啟自動檢測功能采集整幅指紋圖像。通過設置芯片內部的閾值寄存器THR使芯片適應不同的外部環(huán)境。改變內部的PGC、DTR、DCR三個寄存器的值可以調整圖像的清晰度,提高采集到的圖像質量。
2.2 預處理模塊的實現(xiàn)
圖像預處理主要分為指紋圖像平滑、背景分離和濾波增強三大部分。通過硬件處理控制狀態(tài)機實現(xiàn)各個硬件模塊的處理。圖像平滑采用歸一化處理,背景分離采用方差法,濾波增強采用方向濾波圖像增強算法來實現(xiàn).
2.3 Nios算法實現(xiàn)
軟件算法的主要模塊分別為二值化、細化、特征提取和特征匹配。其中二值化處理中同時包括二值化后的填充和刪除算法;細化算法包括細化后的去偽算法。二值化算法采用閾值法;細化算法采用Hilditch細化算法,同時采用基于8鄰域特征點的特征提取算法和基于中心點的匹配算法。
評論