MIT Course 6.111: Digital Electronics LabFingerprint IdentificationKevin AmendtDavid FriendMay 19, 2006AbstractFingerprint readers are fast becoming commonplace as secure alternatives to text-basedauthentication. We develop a programmable fingerprint identification system. The system canstore users’ fingerprints in a memory, and compare future inputs against this database. We usea video camera for image capture.Our matching algorithm is unique in that it compares the frequency content of two finger-prints. A fast Fourier transform is performed along horizontal and vertical slices of the image.These coefficients are compared against the coefficients of another print. If the error is below athreshold, we determine the prints to be a match.We implemented our design on a Xilinx FPGA, using the 6.111 labkit. The design is highlymodular: the matching algorithm can be easily changed without changing other parts of thesystem. Likewise, the image capture can be replaced without major changes to the system.1Contents1 Introduction 12 Theory of Matching Algorithm 12.1 Alternative Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Setbacks and Further Simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Operation 33.1 Adding Users to Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.2 Identifying Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.3 Setting the Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Implementation 44.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54.2 Buffers, Image Buffers, and Double Buffers: David . . . . . . . . . . . . . . . . . . . 64.3 Image Capture: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.4 VGA Display: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.5 LED Display: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.6 Controller FSM: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.7 Processing FSM: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.8 Downsample Module: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.9 Display Processed Image: David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.10 Gradient Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.11 Find Center Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.12 Row and Column Selec tor Mo dule: Kevin . . . . . . . . . . . . . . . . . . . . . . . . 104.13 Fourier Transform Module: Kevin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.14 Buffe r Selection: Kevin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.15 Summed Squared Error: Kevin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.16 Validation Controller and Comparator: Kevin . . . . . . . . . . . . . . . . . . . . . . 135 Conclusion 16A Labkit Listing 18B Controller Module 29C Image Capture 32D VGA Display 35E LED Display 37E.1 Display State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37E.2 Display Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40iF Memory Buffer Modules 40F.1 Image Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40F.2 Double Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43F.3 Line Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47G Processing 50G.1 Processing Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …
View Full Document