Title: Designing a Voice Activated Compartmentalized Safe with Speech Processing using Matlab Preliminary Design Review
1Designing a Voice Activated Compartmentalized
Safe with Speech Processing using Matlab
Preliminary Design Review
- Amy Anderson
- Ernest Bryant
- Mike Joyner
- Collins Pratt
- October 19, 2007
- Georgia Institute of Technology
- ECE 4007 Senior Design
2Project Overview
- Design a voice activated, motor driven,
compartmentalized safe using computer, Matlab
software and microcontroller - Intend for residential and commercial use
specifically homeowners and small business owners - Estimate costs for retail unit at 1200
3Design Objectives
- Build a wooden cylindrical compartmentalized safe
prototype - Allow access to each compartment through
specific, user programmed voice password - Develop Matlab program capable of identifying and
verifying two specific speakers - Develop GUI to allow user to easily configure and
operate safe - Interface computer and microcontroller through
Matlab and serial cable - Use microcontroller to control stepper motor that
rotates safe top
4Block Diagram of Safe Prototype
5Safe Prototype Design
- Dimensions 18 diameter x 6 height
- Base constructed of ¾ plywood
- Compartment interior walls constructed of ¼
plywood - Side walls constructed of 1/16 door skin plywood
- Top constructed of ¼ plexi-glass for
demonstration purposes - Slot routed out for motor
- Center PVC designed to house motor shaft
- Motor and microcontroller contained inside
blanked off, spare compartment
61.8o, 24V Unipolar Stepper Motor
- Rotates top of safe clockwise and
counterclockwise to allow access to all
compartments - Receives a predetermined sequence of applied
currents to the stator windings from the
microcontroller - For Clockwise Rotation
- Winding 1a 1100110011001100110011001
- Winding 1b 0011001100110011001100110
- Winding 2a 0110011001100110011001100
- Winding 2b 1001100110011001100110011
- 0 de-energized, 1 energized
- For Counterclockwise Rotation reverse sequence
71.8o, 24V Unipolar Stepper Motor
- The animation illustrates the rotor turning
proportionally to the sequence of applied
currents to the stator windings
Animation borrowed from http//www.cs.uiowa.edu/j
ones/step/typesf/2anim.html
8PIC18F452 Microcontroller
- Protected from back feed of high motor voltage by
Darlington transistor (UL2003) array - Controls motor rotation by energizing wires
through Port B of the PIC - Determines how much to rotate motor based on data
received from Matlab program through 9 pin serial
cable
9Serial Port Communications
- Serial Port connects computer with the PIC
- Matlab sends specified speaker number through
port to PIC - Serial port transmits 8 bits one bit at a time
need program to recognize when full 8 bits
received
RS232 9-pin serial port
10Serial Port Program
- Written in assembly language
- Written to recognize when 8 bits are sent
- Checks to see when full word (8 bits) is received
by checking a bit within the register that turns
on high when the full word is received by the
microcontroller - When full word is received, the PIC turns the
motor according to specified word received -
11Matlab Overview
- Receives speech data (1 password per compartment)
through microphone for initial configuration - Extracts features of received speech to create
model for later comparison - Receives input speech to be verified
- Compares input speech to stored model for each
compartment - Verifies speech and password and sends 8 bit word
to microcontroller through serial port to access
the specified users compartment
12Matlab Speech Algorithms
- Used two main algorithms for speech processing
- For feature extraction Mel Frequency Cepstral
Coefficients - For speaker modeling and classification Vector
Quantization Code Book
13Mel Frequency Cepstral Coefficients
Extracts cepstral coefficients
- Representation of a persons speech signal in
frequency domain - Envelope of the FFT of the speech signal
- Used in speaker recognition because variations in
a persons speech are minimized in the frequency
domain compared to the time domain
14Vector Quantization Code Book
- Speaker Modeling
- Models of passwords are configured for specified
compartment - Creates a vector of centroids for each modeled
word - Classification
- Compares features from input signal with the
features from the modeled words by calculating
the differences - Chooses the modeled word that produces the
smallest difference - Rejects the speaker if the minimum difference is
not above a specified number (threshold)
15Matlab GUI Operation
- Add words to database from microphone or audio
files - Verify speaker and words from microphone or audio
files - Clear database for reconfiguration
16Design Changes
- Determined that Simulink is no longer needed
were using Simulink to link Matlab and PIC but
determined that Matlab will link directly with
the microcontroller - Built a Plexi-glass top because wood one warped
in humidity and for demonstration purposes
17Design Advantages
- Wood construction allows for easy alteration
- Modular construction allows for easy removal of
key parts if necessary - Design allows for future modifications and
upgrades (pinpad, LCD screen, etc)
18Disadvantages
- Will not be a stand alone prototype must rely on
computer for most items - Computer is slower than we would like for some
calculations - More users, longer calculation time
19Current Project Status
- Speaker identification complete
- Speaker verification 95 complete
- Prototype compartment built
- Matlab linking correctly with microcontroller
- Microcontroller turning motor
20Future Work
- Determine how to gear motor correctly
- Implement proper protection circuit for
microcontroller - Determine threshold for speaker verification with
high quality microphone - Test algorithm to increase accuracy
- Test links between all equipment
- Test motor control and turning
- Test entire unit
- QUESTIONS?