voice biometric report

Upload: anuj-gupta

Post on 03-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Voice Biometric Report

    1/86

    Voice BiometricSecured Control Unit

    ABSTRACT

    The proposed Voice Biometric Security for Industrial control verifies a

    persons claimed identity on the basis of his/her speech phrases. It is word-

    dependent, which requires the speaker to say key words or sentences having the

    same words for both enrolling and verifying trials.

    This system uses template-matching approach to authenticate user. The

    system processes voice signal of the user, which is given as input and prepares

    a template by using Mel Frequency Cepstrum Coefficients (MFCC) technique

    and verifies it with the already existing template by using Vector Quantization

    (VQ) technique. Then it declares the person as valid person or an imposter

    depending on the template matching.

    Once Verification is achieved it allows the user get into a control panel and

    control LCD device from PC.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    1

  • 7/28/2019 Voice Biometric Report

    2/86

    Voice BiometricSecured Control Unit

    CHAPTER 1

    Introduction

    1.1 General introduction

    The Voice Biometric Security for Industrial control is an application of

    Biometrics. Biometrics refers to the automatic identification of a person based on

    his/her physiological or behavioral characteristics.

    Much research has been done in the area of speaker verification using

    cepstral analysis, end point detection algorithms, pattern recognition, neural

    networks, stochastic models and many-distance measuring algorithms. However

    as per media reports, the satisfactory performance of the existing systems is still

    a matter of great concern because of the considerable number of false

    acceptances and false rejections.

    Speaker verification is a difficult task and it is still an active research

    area. A speech technology research center at Sydney University, Australia is

    actively involved in speech recognition, human speech perception, and natural

    language processing. Microsoft is also an active participant of speech technology

    research whose aim is to produce a complete speech enabled computer. To

    reach this stage, Microsoft is also contributed its research and development in

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    2

  • 7/28/2019 Voice Biometric Report

    3/86

    Voice BiometricSecured Control Unit

    several other areas including noise robustness, automatic grammar learning and

    language modeling.

    The Speaker Verification can be used in many areas. Some of them are

    Access control to computers, cellular phones, databases, Access control to

    professional or wide public sites, Protection of confidential data, Remote access

    to computer networks, Electronic commerce, Forensic, Automatic door opening

    systems when person arrives, Telephone-banking transactions and Voice

    commands on cellular phones. Many organizations like banks, institutions,

    industries etc are currently using this technology for providing greater security to

    their vast databases.

    Given the voice input, the objective of the proposed word-dependent

    Voice Biometric Security for Industrial control is to verify whether the speaker is

    who he/she claims to be. The system processes voice signal of the user, which is

    given as input and finds the Mel Frequency Cepstrum Coefficients. Then it

    generates a template, which is called a codebook, an array of acoustic vectors.

    In the enrollment phase the user codebook is saved in the system. In the

    verification phase the user codebook is compared against the claimed users

    actual codebook, which is stored in the system during the enrollment phase. If

    the difference is below the threshold value the user is authenticated else the user

    is not authenticated.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    3

  • 7/28/2019 Voice Biometric Report

    4/86

    Voice BiometricSecured Control Unit

    1.2 Statement of the problem

    With the increased use of computers as vehicles of information

    technology, it is necessary to restrict unauthorized access to the systems or to

    sensitive/personal data.

    The traditional methods of authentication involving passwords, PIN

    numbers and tokens have some drawbacks. Because PINs and passwords may

    be forgotten, and token-based methods of verification like passports and driver's

    licenses may be forged, stolen, or lost. Therefore, there is a need for a better

    method of authentication like voice verification which can eliminate these

    drawbacks, so that, the person to be verified is required to be physically present

    at the point-of-verification.

    The other authentication mechanisms (such as face recognition, iris

    recognition etc.) need a lot of equipment and conditions to work properly. So,

    there is a need for the cheaper authentication system like speaker verification,

    which works with less equipment.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    4

  • 7/28/2019 Voice Biometric Report

    5/86

    Voice BiometricSecured Control Unit

    1.3 Objective of the study

    The objective of the study is to build a Voice Biometric Security for

    Industrial control for the following reasons:

    Given a sample of somebody saying a particular piece of text/passphrase (for example, the person's name), the system should be able to

    verify whether the speaker is who he/she claims to be.

    Furthermore, the system should be able to catch ``imposters'' who tryto say somebody else's pass phrase.

    Once the person is authenticated the system allows him to control anydevice such as LCD, STEPPER MOTOR etc.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    5

  • 7/28/2019 Voice Biometric Report

    6/86

    Voice BiometricSecured Control Unit

    1.4 Scope of the study

    As with all new security solutions, the application of voice biometrics

    technology within a given corporate environment will be based on set policies

    and known sensitivities. To aid its acceptance, voice verification can be

    combined with more traditional security features to provide an additional layer of

    authentication. The commercialization of voice technology offers network

    administrators, the new opportunities to enhance advanced user authentication

    methods, password control and innumerable user identification and network

    security applications. In a society where telecommunications and electronic

    commerce are the norm, the need to protect sensitive information will

    undoubtedly act as a catalyst to greater use of biometrics and in turn, result in

    improved technology.

    The present system can be extended to become an integral part of speech

    interfaces with voice identification. This is a complex task in which an unknown

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    6

  • 7/28/2019 Voice Biometric Report

    7/86

    Voice BiometricSecured Control Unit

    voice template has to be compared with a huge set of voice templates to make it

    a voice verification product. This product can be used as part of multi-model

    verification, which includes face, fingerprints and iris scan etc.

    In this way, voice biometrics system is expected to create new services

    that will make our daily lives more convenient.

    1.5 Review of literature

    As per the needs and requirement for the study and implementation of Voice

    Biometric Security for Industrial control, information is gathered from various possible

    sources. In fact, there is no single literature that could serve as a complete idea of

    speaker recognition.

    Before actually implementing the Voice Biometric Security for Industrial control, I

    needed to study about the recent progress, current applications and future trends in the

    area of speaker recognition. I have gone through [4], to know what is currently needed in

    the industry market.

    Since Voice Biometric Security for Industrial control is an application of a

    kind of Biometric method of identification which is used to authenticate a person

    on the basis of his/her behavioral characteristic like voice, I needed [9] and [10]

    to get a range of information about biometrics and speech technology.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    7

  • 7/28/2019 Voice Biometric Report

    8/86

    Voice BiometricSecured Control Unit

    The information needed for the methodology, which involves Mel

    Frequency Cepstrum Coefficients technique for Feature extraction process and

    Vector Quantization technique for Feature matching process, is taken from [5]

    and [6]. Feature extraction is the process that extracts a small amount of data

    from the voice signal that can later be used to represent the speaker. Feature

    matching involves the actual procedure to verify the speaker by comparing

    extracted features from his/her voice input with the claimed one which is stored in

    the database.

    To understand how to proceed in steps for developing the software for the

    system, and to analyze and design the system in object-oriented paradigm, [1] and

    [2] books have been referred. The Use-case driven object-oriented analysis and

    object-oriented design are done in a modeling language called Unified Modeling

    Language (UML). And the book [3] was found very helpful to implement the whole

    idea in Visual C++.

    The rest of the information needed about speaker recognition during

    developing the system, including its benefits and natural advantages are studied

    from [7], and [8].

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    8

  • 7/28/2019 Voice Biometric Report

    9/86

    Voice BiometricSecured Control Unit

    1.6 Methodology

    1.6.1 Organization of the system

    The Voice Biometric Security for Industrial control mainly consists of two

    phases: Enrollment phase and the Verification phase. The organization of the

    system is shown below diagrammatically through the figures Fig.1.6.1 (a) and

    Fig.1.6.1 (b).

    During the first phase, speaker enrollment as shown in the Fig.1.6.1 (a),

    features are extracted from the input speech signal given by the speaker by a

    process called Feature extraction, and are modeled as a template. The modeling

    is a process of enrolling speaker to the verification system by constructing a

    model of his/her voice, based on the features extracted from his/her speech

    sample. The collection of all such enrolled models is called speaker database.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    9

  • 7/28/2019 Voice Biometric Report

    10/86

    Voice BiometricSecured Control Unit

    Fig.1.6.1(a): Schematic flow of Enrollment Phase

    In the second phase, verification phase as shown in the Fig.1.6.1 (b), features

    are extracted from the speech signal of a speaker and these current features are

    compared with the claimed features stored in the database by a process called

    Feature matching. Based on this comparison the final decision is made about the

    speaker identity.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    10

    Decision

  • 7/28/2019 Voice Biometric Report

    11/86

    Voice BiometricSecured Control Unit

    Fig.1.6.1 (b): Schematic flow of Verification Phase

    Both these phases include Feature extraction, which is used to extract

    speaker dependent characteristics from speech. The main purpose of this

    process is to reduce the amount of test data while retaining speaker

    discriminative information.

    1.6.2 Feature extraction process

    1.6.2.1 Introduction

    In speaker recognition first we convert the speech waveform to some type

    of parametric representation (at a considerably lower information rate) for further

    analysis and processing. This is often referred as the signal-processing front

    end.

    A wide range of possibilities exist for parametrically representing the

    speech signal for the speaker recognition task, such as Linear Prediction Coding

    (LPC), Mel Frequency Cepstrum Coefficients (MFCC), and others. MFCC is

    perhaps the best known and most popular, and this will be used in this project.

    MFCCs are based on the known variation of the human ears critical

    bandwidths with frequency; filters spaced linearly at low frequencies and

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    11

  • 7/28/2019 Voice Biometric Report

    12/86

    Voice BiometricSecured Control Unit

    logarithmically at high frequencies have been used to capture the phonetically

    important characteristics of speech. This is expressed in the Mel-frequency

    scale, which is linear frequency spacing below 1000 Hz and a logarithmic

    spacing above 1000 Hz. The process of computing MFCCs is described in more

    detail next.

    1.6.2.2 Mel-frequency cepstrum coefficients

    processor

    A block diagram of the structure of an MFCC processor is given in

    Fig.1.6.2.2. The speech input is recorded at a sampling rate of 16 KHz. This

    sampling frequency was chosen to minimize the effects of aliasing in the analog-

    to-digital conversion.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    12

    framecontinuous

    speechFrame

    Blocking FFT

    spectrum

    Mel-frequencyWrapping

    Cepstrum

    melmel

    spectrumcepstrum

    Windowing

  • 7/28/2019 Voice Biometric Report

    13/86

    Voice BiometricSecured Control Unit

    Fig.1.6.2.2: Block diagram of the MFCC processor

    The processor takes continuous speech signal as input and generates

    mel-frequency cepstrum coefficients as outputs. It uses the following 5 steps to

    accomplish this task:

    (1)Frame blocking:

    In this step the continuous speech signal is blocked into frames of N=16

    samples, with adjacent frames being separated by M=10. The first frame

    consists of the first N samples. The second frame begins M samples after the

    first frame, and overlaps it by N - M samples. Similarly, the third frame begins

    2M samples after the first frame (or M samples after the second frame) and

    overlaps it by N - 2M samples. This process continues until all the speech is

    accounted for within one or more frames.

    (2)Windowing:

    The next step in the processing is to window each individual frame so as

    to minimize the signal discontinuities at the beginning and end of each frame.

    The concept here is to minimize the spectral distortion by using the window to

    taper the signal to zero at the beginning and end of each frame. If we define the

    window as 10),( Nnnw , where N =16 is the number of samples in each

    frame, then the result of windowing is the signal:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    13

  • 7/28/2019 Voice Biometric Report

    14/86

    Voice BiometricSecured Control Unit

    10),()()( = Nnnwnxny ll

    (1.1)

    I have used a Hamming window here, which has the form:

    10,1

    2cos46.054.0)(

    = Nn

    N

    nnw

    (1.2)

    (3)Fast Fourier Transform (FFT):

    The next processing step is the Fast Fourier Transform, which converts

    each frame of N =16 samples from the time domain into the frequency domain.

    The FFT is a fast algorithm to implement the Discrete Fourier Transform (DFT)

    which is defined on the set of N samples {xn}, as follow:

    =

    ==1

    0

    /21,...,2,1,0,

    N

    k

    Njkn

    kn NnexX

    (1.3)

    Note that we use j here to denote the imaginary unit, i.e. 1=j . In

    general Xns are complex numbers. The resulting sequence {Xn} is interpreted as

    follow: the zero frequency corresponds to n = 0, positive frequencies 2/0 sFf

  • 7/28/2019 Voice Biometric Report

    15/86

    Voice BiometricSecured Control Unit

    The FFT algorithm I have used is discovered by J.W. Cooley and J.W.

    Tukey in 1965. This algorithm is based on the following three steps:

    1. Decompose an N point time domain signal into N signals each containing a

    single point.

    An Interlaced decomposition is used each time a signal is broken in two, that is,

    the signal is separated into its even and odd numbered samples. There are Log2 N

    stages required in this decomposition. Since I have used a 16 point signal, it

    requires 4 stages.

    2. Find the spectrum of each of the N point signals.

    Nothing is required to do this step because the frequency spectrum of a 1 point

    signal is equal to itself. Although there is no work involved, it is to be

    remembered that each of the 1 point signals is now a frequency spectrum, and

    not a time domain signal.

    3. Synthesize the N frequency spectra into a single frequency spectrum.

    Here, the N frequency spectra are combined in the exact reverse order that

    the time domain decomposition took place. In other words, this synthesis

    must undo the interlaced decomposition done in the time domain.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    15

  • 7/28/2019 Voice Biometric Report

    16/86

  • 7/28/2019 Voice Biometric Report

    17/86

    Voice BiometricSecured Control Unit

    categories or classes. The objects of interest are generically called patterns and

    in our case are sequences of acoustic vectors that are extracted from an input

    speech using the MFCC technique described in the previous section. The

    classes here refer to individual speakers. Since the classification procedure in

    our case is applied on extracted features, it can be also referred to as feature

    matching.

    The state-of-the-art in feature matching techniques used in speaker

    recognition includes Dynamic Time Warping (DTW), Hidden Markov Modeling

    (HMM), and Vector Quantization (VQ). In this project, the VQ approach will be

    used, due to ease of implementation and high accuracy. VQ is a process of

    mapping vectors from a large vector space to a finite number of regions in that

    space. Each region is called a cluster and can be represented by its center

    called a codeword. The collection of all code words is called a codebook.

    1.6.3.2 Clusteringthe training vectors:

    After the enrollment session, the acoustic vectors extracted from input

    speech of a speaker provide a set of training vectors. The next important step is

    to build a speaker-specific VQ codebook for this speaker using those training

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    17

  • 7/28/2019 Voice Biometric Report

    18/86

    Voice BiometricSecured Control Unit

    vectors. There is a well-known algorithm, namely LBG algorithm [Linde, Buzo

    and Gray, 1980], for clustering a set of L training vectors into a set of M

    codebook vectors. I have used a simple version of the LBG algorithm, which is

    given below:

    1. Determine the number of codewords, N or the size of the codebook.

    2. Select N codewords at random and let that be the initial codebook. The initial

    codewords can be randomly chosen from the set of input vectors.

    3. Using the Euclidean distance measure clusterize the vectors around each

    codeword.

    Do this by taking each input vector and finding the Euclidean distance

    between it and each codeword. The input vector belongs to the cluster of the

    codeword that yields the minimum distance.

    4. Compute the new set of codewords.

    Obtaining the average of each cluster does this. Add the component of each

    vector and divide by the number of vectors in the cluster as given below:

    where i is the component of each vector and m is the number of vectors in the

    cluster.

    5. Repeat steps 3 and 4 until either the codewords dont change or the change

    in the codewords are small.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    18

    yi= 1/m x

    ij

    j=1

    (1.6)

  • 7/28/2019 Voice Biometric Report

    19/86

    Voice BiometricSecured Control Unit

    1.6.3.3 Comparison of codebooks:

    In the enrollment phase, a speaker-specific VQ codebook is generated for

    the speaker by clustering his/her training acoustic vectors. The distance from a

    vector to the closest codeword of a codebook is called a VQ-distortion. In the

    verification phase, an input utterance of the speaker is vector-quantized using

    his trained codebook and the total VQ distortion is computed. If this total VQ

    distortion is below the threshold value, then the speaker is authenticated else the

    speaker is not authenticated.

    1.7 Limitations of the study

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    19

  • 7/28/2019 Voice Biometric Report

    20/86

    Voice BiometricSecured Control Unit

    The current Voice Biometric Security for Industrial control is though very

    efficient as per the demands and requirements of the present trends, but still it

    has got some following limitations:

    Its hard for the system to distinguish background noise from the usersvoice. This might affect the systems accuracy.

    A persons physical conditions such as sickness or sore throat willaffect the performance. This could lead to the problem of false

    rejection in which the right person is rejected as wrong

    person/imposter.

    A small number of false acceptances can be noticed when the systemaccepts an imposter as a right person to be authenticated.

    Our system performs poorly if the voice phrase is very small or if thereis a considerable difference in the enrollment stage and verification

    stage. The factors responsible for this difference may be variance in

    loudness, environmental conditions or the distance between the

    speaker and microphone.

    CHAPTER - 2

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    20

  • 7/28/2019 Voice Biometric Report

    21/86

    Voice BiometricSecured Control Unit

    SYSTEM ANALYSIS

    This chapter gives an analysis of Voice Biometric Security for Industrial

    control. This includes project overview, functional requirements, system

    requirements, technical specifications, developers responsibility overview and

    Use-Case Driven analysis of the system using use-case diagrams.

    2.1 Documentation Overview

    The document is subdivided into following topics:

    Project overview

    Functional requirements

    System requirements

    Technical specifications

    Developers responsibility overview

    2.1.1 Project overview

    The current work is to automate the process of voice authentication. Voice

    authentication can be divided into user registration and user verification. The

    user registration module is to register the users voice characteristics in the

    database file. The user verification module finds the correlation between the input

    voice template and the stored voice template in the database.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    21

  • 7/28/2019 Voice Biometric Report

    22/86

    Voice BiometricSecured Control Unit

    2.1.2 Functional requirements User asks to register the voice and the username.

    Application receives the request.

    The system checks for the existence of the corresponding username in thestored database file. If it is not present, that will be registered in the database file.

    User asks for the verification of the voice.

    System receives the request and processes the request.

    System returns the credibility of the user.

    These requirements will be explained by the Use-case diagrams of the UML

    standard in the last section of this chapter.

    2.1.3 System requirements

    A Noise free environment is required for the successful operation of the

    proposed system.

    2.1.3.1 Hardware Requirements

    Processor : Pentium or above

    RAM : 32 MB or above

    Hard disk : min. of 1 GB ( with at least 30 MB of free space)

    Peripheral Devices : SVGA Color Monitor, Mouse , Keyboard

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    22

  • 7/28/2019 Voice Biometric Report

    23/86

    Voice BiometricSecured Control Unit

    High Quality Microphone, Speakers.

    2.1.3.2 Software Requirements

    Operating System : Windows 95/98/Me/Xp/2000 , NT

    Software : Visual C++, Sound Card Interface, MSDN Online Help.

    2.1.4 Technical specifications

    The specifications were drawn up using Object-Oriented Analysis, and

    design was constructed using Unified Modeling Language (UML). The whole idea

    was implemented in Visual C++.

    2.1.5 Developers responsibility overview

    The overall objective is to deliver a fault free product on time.

    Assumptions:

    The voice is taken in a noise free environment through a high qualitymicrophone and is stored in a file. And the file is read for further processing.

    The Architecture must be open so that any modules can be added.

    The product must be easy to operate and should be user friendly.

    The product must conform to the clients hardware.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    23

  • 7/28/2019 Voice Biometric Report

    24/86

    Voice BiometricSecured Control Unit

    And moreover, the client is assumed to be inexperienced with computers.

    Special attention was therefore paid to the specification phase and

    communication with the client. The product has to be made as user friendly as

    possible. There is always the possibility of a major design fault; so extensive

    testing must be done during the design phase. The product must meet the

    specified storage requirements and response times.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    24

  • 7/28/2019 Voice Biometric Report

    25/86

    Voice BiometricSecured Control Unit

    2.2 Use-Case Driven Analysis

    The first step in the analysis is to define the use-cases, which describe what

    the system provides in terms of functionality- the functional requirement of the

    system. A use-case analysis of UML standard involves reading and analyzing the

    specifications as well as discussing the system with potential users of the system.

    The next chapter introduces to UML modeling and explains how my system is

    modeled using UML.

    The use-case diagrams describe the functionality of the system and users

    of the system. A use case is a description of a systems behavior from users

    standpoint. The main elements of this type of diagrams are: 1.Actorsrepresents

    the users of a system including human beings and other systems.

    2. Use Cases represent the functionality or services provided by the system to

    users.

    Now let us see use-case diagrams which depict the project at differentlevels:

    (1) The following use-case diagram Fig.2.2 (a) depicts the project at first level,

    where the actor is shown as a stick figure with the name of the actor below the

    figure and the use case is shown as an ellipse containing the name of the use

    case.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    25

  • 7/28/2019 Voice Biometric Report

    26/86

    Voice BiometricSecured Control Unit

    First Level Use-Case diagram:

    Description of the diagram:

    1. Use Case : User Registration

    Actor : User

    Desired Outcome : The User name is registered.

    Entered When : The user submits his name, clicks on User

    Registration and records his voice (some kind

    of pass phrase).

    Finished When : The users name is registered.

    Description : The use-case is to register the user name

    when it is not present in the database file.

    2. Use Case : User Verification

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    26

    User Registration

    User Verification

    User Management

    User

    Fig.2.2 (a): Use-Case diagram for the proposed system

  • 7/28/2019 Voice Biometric Report

    27/86

    Voice BiometricSecured Control Unit

    Actor : User

    Desired Outcome : Is whether the user is authorized or not.

    Entered When : The user submits his name, clicks on User

    Verification and submits his voice.

    Finished When : The result is given.

    Description : This use-case is for checking the credibility of

    the user by comparing the submitted

    (recorded) pass phrase (after converting into

    template) with the already existing template in

    the database.

    3. Use Case : User Management

    Actor : User

    Desired Outcome : User will be deleted or his / her pass phrase

    will be changed according to the requirements.

    Entered When : The user submits his name, clicks on User

    Management and if required submits his voice.

    Finished When : The user Request is processed.

    Description : This is an option to the administrator to

    Manage the users.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    27

  • 7/28/2019 Voice Biometric Report

    28/86

    Voice BiometricSecured Control Unit

    (2) The following use-case diagrams Fig.2.2 (b), 2.2(c) and 2.2(d) depict the

    project at second level, where the actor is shown as a class rectangle with the

    label and the use case is shown as an ellipse containing the name of

    the use case.

    Second Level Use-Case diagrams:

    a) Use-Case diagram for User Registration

    Fig.2.2 (b): Use-case Diagram for User Registration

    Description of the diagram:

    Use Case : Enroll

    Actor : Registration module

    Desired Outcome : Write the template to the database file.

    Entered when : The user selects the registration and supplies name, pass

    phrase as voice and voice signal is sampled.

    Finished When : The characteristics of the voice (template) and

    username are written to the database file.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    28

    Registration

    module

    Enroll

    Readtemplate file

    Generatetemplate

    Sample voicesignal

    uses

    uses

    uses

  • 7/28/2019 Voice Biometric Report

    29/86

    Voice BiometricSecured Control Unit

    Description : This use case writes the template to the database file.

    b) Use-Case diagram for User Verification

    Fig.2.2(c): Use-case Diagram for User Verification

    Description of the diagram:

    Use Case : Verify

    Actor : Verification module

    Desired Outcome : Verifies whether valid user or not.

    Entered when : The user selects the verification and supplies

    name, pass phrase as voice and voice signal is sampled.

    Finished When : The final result-accepted or rejected is displayed.

    Description : This use case verifies the identity of a user.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    29

    Verification

    module

    Verify

    Comparetemplates

    Generatetemplate

    Sample voicesignal

    uses

    uses

    uses

  • 7/28/2019 Voice Biometric Report

    30/86

    Voice BiometricSecured Control Unit

    c) Use-Case diagram for User Management

    Fig.2.2 (d): Use-case diagram for User Management

    Description of the diagram:

    1. Use Case : Delete User

    Actor : Management module

    Desired Outcome : The user template is deleted from the file.

    Entered when : The user selects the Management module and

    submits his name.

    Finished when : The user template is deleted from the database

    Description : This use case deletes the user template from

    the database. It in turn uses the use case Write to file.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    30

    Management

    module

    Change Passphrase

    Delete User

    Write to file

    uses

    uses

  • 7/28/2019 Voice Biometric Report

    31/86

    Voice BiometricSecured Control Unit

    2. Use Case : Change Pass phrase

    Actor : Management module

    Desired Outcome : The modified user template.

    Entered when : The user selects the Management module and

    submits his name to which the pass phrase has to

    be modified.

    Finished when : The user template is modified.

    Description : This use case modifies the user pass phrase

    and stores it back into the database. It inturn

    uses the use case Write to file.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    31

  • 7/28/2019 Voice Biometric Report

    32/86

    Voice BiometricSecured Control Unit

    CHAPTER - 3

    SYSTEM DESIGN

    3.1 Introduction

    The Design is the first step into the solution domain. The Voice Biometric

    Security for Industrial control is designed into 5 main class modules:

    CVoiceBiometricDlg, CSound, CParam CMath, and CVectorQuantization. The

    following diagram Fig.3.1 shows these classes used in the system:

    Fig.3.1: Classes used in the system

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    32

    CParam CVectorQuantization

    CVoiceBiometricDlg : Enroll CVoiceBiometricDlg : Verify

    CVoiceBiometricApp

    CSound

    CMath

  • 7/28/2019 Voice Biometric Report

    33/86

    Voice BiometricSecured Control Unit

    Description :

    The Voice Biometric Security for Industrial control first starts by creating

    an instance of the CVoiceBiometricApp object. Then its InitInstance( ) function

    creates a dialog window of the type CVoiceBiometricDlg. The

    CVoiceBiometricDlg class mainly presents the user interface features and is a

    coordination point for calling various functions. When its OnEnroll( ) function is

    called, a CSound object is created and pass phrase is recorded in a temp.wav

    file. This wave file thus generated by the CSound class is used by the CParam

    class for generating MFCCs in a temp.mfc file. Then it is used by

    CVectorQuantization class to produce a codebook file. In enrollment phase this

    codebook file is saved as username.cb (for example, if the username is

    Kanchan, then the codebook file is saved as kanchan.cb). In Verification phase

    same steps are repeated and the codebook is saved as temp.cb which is used

    by compcbmain() to compare the claimed user codebook with the current

    codebook. If the matching score is appropriate user is authenticated else user is

    not authenticated.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    33

  • 7/28/2019 Voice Biometric Report

    34/86

    Voice BiometricSecured Control Unit

    3.2 UML Representation Of The System Design

    3.2.1. Introduction to UML

    The Voice Biometric Security for Industrial control is designed using

    Object oriented design methodology (Unified Modeling Language).

    Over the past decade, Grady booch, James Rumbaugh and Jacobson

    have collaborated to combine the features of their individual object oriented

    analysis and design method into a Unified method, the result called the Unified

    Modeling Language (UML), has become widely used throughout the industry.

    The Unified Modeling Language (UML) is a modeling language for

    specifying, visualizing, constructing, and documenting the artifacts of system-

    intensive process. UML allows us to express an analysis model using a modeling

    notation that is governed by a set of syntactic, semantic and pragmatic rules.

    This language unifies the industrys best engineering practices for modeling the

    systems. Some worth referring points about UML are:

    The UML is not simply a notation for drawing diagrams, but a completelanguage for capturing knowledge about a subject and expressing knowledge

    regarding the subject for the purpose of communication.

    UML applies to modeling and systems. Modeling involves a focus on understandinga subject and capturing and being able to communicate this knowledge.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    34

  • 7/28/2019 Voice Biometric Report

    35/86

    Voice BiometricSecured Control Unit

    UML is used for specifying, visualizing, constructing, and documentingsystems.

    It is based on object-oriented paradigm.

    3.2.2 UML Diagrams

    The UML metamodel elements are organized into diagrams. Different

    diagrams are used for different purposes depending on the angle from which you

    are viewing the system. The different views are called architectural views.

    Architectural views facilitate the organization of knowledge, and diagrams enable

    the communication of knowledge.

    The UML defines nine types of diagrams: class, object, use case,

    sequence, collaboration, statechart, activity, component, and deployment

    diagram. All of these diagrams are based on the principle that concepts are

    depicted as symbols and relationships among concepts are depicted as paths

    connecting symbols, where both of these types of elements may be named.

    Now let us see an architectural view called Behavioral Model View, which

    encompasses the dynamic, or behavioral, aspects of a problem and solution. Our

    system design can be best explained using the following diagrams of this view:

    (1) Sequence Diagrams:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    35

  • 7/28/2019 Voice Biometric Report

    36/86

    Voice BiometricSecured Control Unit

    These diagrams describe the behavior provided by a system to inter-

    actors. These diagrams contain classes that exchange messages within an

    interaction arranged in time sequence. In generic form, these diagrams describe

    a set of message exchange sequences among a set of classes. In instance form,

    these diagrams describe how objects of those classes interact with each other

    and how messages are sent and receiveThe following Sequence Diagrams

    Fig.3.2.2(a), 3.2.2(b) and 3.2.2(c) show the interactions between the objects of

    the classes used in the system during different phases. These objects are

    represented in usual way as named rectangles and appear on the horizontal axis

    of the diagram from left to right. Messages are represented as solid line arrows,

    which give the interaction taken place among the objects in a specified

    sequence. The time is represented by vertical line, which is a line extending from

    the object and is called as the objects lifeline. This lifeline represents the objects

    existence during the interaction(a) The following sequence diagram Fig.3.2.2(a)

    shows the interactions between the objects of the classes used in the system

    during enrollment phase:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    36

  • 7/28/2019 Voice Biometric Report

    37/86

    Voice BiometricSecured Control Unit

    temp.cb

    Fig.3.2.2(a): Sequence diagram for User Enrollment

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    37

    CVoiceBiometricDlg Enrollment CSound CParam CVectorQuantization

    username.cb

    temp.wav

    temp.wav

    temp.mfc

    temp.mfc

    RecordStart()OnEnroll()

  • 7/28/2019 Voice Biometric Report

    38/86

    Voice BiometricSecured Control Unit

    Description :

    1. When the user tries to register his voice in the database, an OnEnroll( )

    function of the CVoiceBiometricDlg object is called which inturn calls the

    RecordStart( ) function of the object CSound, to record the user voice.

    2. After recording, the voice is stored into the temp.wav file, which is then

    used by CParam object to extract the voice features from it.

    3. After extraction, the extracted features are stored into the temp.mfc file,

    which is then used by CVectorQuantization object, to generate the

    temp.cb codebook file.

    4. The generated codebook file is then saved as username.cb into the

    database by the function saveusercb( ) of CVoiceBiometricDlg object.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    38

  • 7/28/2019 Voice Biometric Report

    39/86

    Voice BiometricSecured Control Unit

    (b) The following sequence diagram Fig.3.2.2(b) shows the interactions between

    the objects of the classes used in the system during verificationphase:

    OnVerify( )

    compcbmain( )

    Fig.3.2.2(b): Sequence diagram for User Verification

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    39

    CVoiceBiometricDlg Verification CSound CParam CVectorQuantization

    Result

    temp.wav

    temp.wav

    temp.mfc

    temp.mfc

    RecordStart( )

    temp.cb

  • 7/28/2019 Voice Biometric Report

    40/86

    Voice BiometricSecured Control Unit

    Description :

    1. When the user tries to verify his registered voice, an OnVerify( ) function

    of the CVoiceBiometricDlg object is called which inturn calls the

    RecordStart( ) function of the object CSound, to record the user voice.

    2. The steps 2 and 3 of Fig.3.2.2(a) are followed similarly.

    3. The generated temp.cb codebook is then compared with the claimed

    username.cb codebook by the function compcbmain( ) of

    CVectorQuantization object.

    4. Depending on the matching score, the CVoiceBiometricDlg object

    declares the Result to the user as he is authenticated or he is not

    authenticated.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    40

  • 7/28/2019 Voice Biometric Report

    41/86

    Voice BiometricSecured Control Unit

    (c) The following sequence diagram Fig.3.2.2(c) shows the interactions between

    the objects of the classes used in the system when the user modify his

    voice:

    OnModify( )

    temp.cb

    Fig.3.2.2(c): Sequence diagram for User Modification

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    41

    CVoiceBiometricDlg Modification CSound CParam CVectorQuantization

    temp.wav

    temp.wav

    temp.mfc

    temp.mfc

    Replace oldusercb withnew usercb

    RecordStart( )

  • 7/28/2019 Voice Biometric Report

    42/86

    Voice BiometricSecured Control Unit

    Description :

    1. When the user tries to modify his registered voice, an OnModify( ) function

    of the CVoiceBiometricDlg object is called which inturn calls the

    RecordStart( ) function of the object CSound, to record the user voice.

    2. The steps 2 and 3 of Fig. 3.2.2(a) are followed similarly.

    3. The old username.cb is then replaced with the new username.cb

    codebook.

    (2) Statechart Diagrams:

    These diagrams render the states and responses of a class participating

    in behavior, and the life cycle of an object. These diagrams describe the behavior

    of a class in response to external stimuli.

    In the following statechart diagrams Fig.3.2.2(d), 3.2.2(e) and 3.2.2(f) for

    the different classes of the system, the state is represented as a rounded box

    that describes the class at a specific point in time. The states shown in all these 3

    diagrams are self-explanatory. The initial state is shown as a solid circle, and the

    final state is shown as a circle surrounding a small solid circle, a bulls-eye. The

    transition is represented as a solid line arrow, which shows the relationship

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    42

  • 7/28/2019 Voice Biometric Report

    43/86

    Voice BiometricSecured Control Unit

    between the two states indicating that the class in the first state will enter the

    second state and perform certain actions when a specific event occurs.

    (a)The following diagram Fig.3.2.2(d) shows the Statechart diagram for CSound

    class in the system:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    43

    Loads the defaultrecording format

    Begin recordingvoice

    Gets the givenrecording format

    Stop recording voice

    Start

    Stop

    Fig. 3.2.2(d): Statechart diagram for CSound class

  • 7/28/2019 Voice Biometric Report

    44/86

    Voice BiometricSecured Control Unit

    (b) The following diagram Fig.3.2.2 (e) shows the Statechart diagram for CParam

    class in the system:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    44

    Stop

    Continuous speech signalis divided into frames Each frame is

    windowed

    FFT is applied to eachwindowed frame

    Spectrum coeff. areconverted into melfrequency spectrum coeff.

    Cepstrum is applied toeach mel spectrum, we getMFCC coeff.

    Start

  • 7/28/2019 Voice Biometric Report

    45/86

    Voice BiometricSecured Control Unit

    Fig.3.2.2 (e): Statechart diagram for CParam class

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    45

    Stop

  • 7/28/2019 Voice Biometric Report

    46/86

    Voice BiometricSecured Control Unit

    (c) The following diagram Fig.3.2.2(f) shows the Statechart diagram for

    CVectorQuantization class in the system:

    Fig.3.2.2 (f): Statechart diagram for CVectorQuantization class

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    46

    Initialize the size ofthe codebook

    By applying VQ algm.,clusterize the vectorsto prepare codebook

    Save the codebookin a file

    Starttt

    Stop

    Compare this codebook with the trainedcodebook to calculate totalVQ distortion

    for Verification phase

  • 7/28/2019 Voice Biometric Report

    47/86

    Voice BiometricSecured Control Unit

    (3) Activity Diagram:

    Activity diagrams render the activities or actions of a class participating in

    behavior. These diagrams describe the behavior of a class in response to

    internal processing rather than external events. Activity diagrams describe the

    processing activities within a class.

    An activity diagram is similar to a statechart diagram, where states are

    activities (rounded boxes) representing the performance of operations and the

    transitions (solid line arrows) are triggered by the completion of the operations.

    The following activity diagram Fig.3.2.2 (g) shows the activities of 4 main

    phases of the system: Enroll, Modify, Verify & Delete (shown from left to right).

    All the activities shown in this diagram are self-explanatory.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    47

    stop

  • 7/28/2019 Voice Biometric Report

    48/86

    Voice BiometricSecured Control Unit

    Fig.3.2.2 (g): Activity diagram of the system

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    48

    User has to enter

    his name

    User is asked for

    new pass phrase

    User is asked for

    pass phrase

    User is deleted

    from the database

    User is asked for

    pass phrase

    MFCC coeff. are

    extracted from the

    recorded pass phrase

    By applying vector

    quantization algm.,

    clusterize the

    vectors

    Compare these features

    with already stored

    features in the file

    Voice featuresare stored in a file

    MFCC coeff. are

    extracted from the

    recorded pass phrase

    By applying vector

    quantization algm.,

    clusterize the vectors

    Voice features arestored in a file which

    is

    then replaced with the

    old file

    MFCC coeff. are

    extracted from the

    recorded pass phrase

    By applying vector

    quantization algm.,

    clusterize the vectors

    Voice featuresare stored in a file

    Message will be

    displayed for

    real user/imposter

    Start

    Stop

  • 7/28/2019 Voice Biometric Report

    49/86

    Voice BiometricSecured Control Unit

    CHAPTER - 4

    IMPLEMENTATION

    4.1 Coding Details

    During the course of my involvement with speaker verification, I have

    come across several papers with information about speaker verification

    technologies but unfortunately most of them were not concerned with the topic.

    Many of them represent the theoretical aspects but very few present the

    implementation methodologies.

    I have implemented a Voice Biometric Security for Industrial control that

    uses Mel Frequency Cepstrum Coefficients ( MFCC ) which are used for feature

    extraction and Vector Quantization ( VQ ) for feature matching.

    For sound recording, the duration of recording has been set to three

    seconds. The exact timing of an utterance will generally not be the same as that

    of the template. If a person speaks just a small word (e.g. Hello, or any small

    word), he may not be authenticated although he is a genuine user and other may

    easily login to his account. For this purpose if the utterance length is less than

    one second the system will ask to speak a longer phrase.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    49

  • 7/28/2019 Voice Biometric Report

    50/86

    Voice BiometricSecured Control Unit

    The genuine users can be correctly authenticated, provided that they

    speak in the same way (including the emotions, loudness, and bearing in mind

    that this is a word-dependent and speaker dependent system) as they did at the

    time of the enrollment. The authentication becomes easier if the recording time

    for the speech is at the maximum of two seconds.

    The system is implemented in object-oriented paradigm. The system has

    been divided into 5 main classes consisting of CSound for recording wave files,

    CParam for extracting the MFCCs from the wave file, CVectorQuantization for

    generating the code book from the MFCCs. CMath is a class which provides an

    easy way for calculating Fast Fourier Transform etc. CVoiceBiometricDlg was the

    main dialog where the user interface is implemented. The other classes in the

    system were of various controls and of some ActiveX controls. The next section

    explains the various functions used by these classes and how the development

    of the code is being proceeded.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    50

  • 7/28/2019 Voice Biometric Report

    51/86

    Voice BiometricSecured Control Unit

    4.2 Detail Implementation

    The following Table 4.2 lists the main functions used by the classes in the

    system:

    CLASS FUNCTION

    CvoiceBiometricDlg OnEnroll( ), OnVerify( ) , OnModify( ),

    OnDelete( ), registeruser( ), SetTimer( ),

    OnTimer( ), SaveFile( ), RemoveSilence( )

    rkmain( ), WaveLoad( ), vq( ),

    saveusercb( )

    Csound RecordStart( ), RecordStop( )

    Cparam InitFBank( ), Mel( ), InitMFCC( ),

    wave2MFCC( ), DoHamming( )

    UnInitMFCC( ), UnInitFBank( )

    Cmath fft( ), fftsort( ), dct( )

    CvectorQuantization initcb( ), clusterize( ), eucldist( ),

    writecb( ), compcbmain( )

    Table 4.2: Classes and their functions used in the system

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    51

  • 7/28/2019 Voice Biometric Report

    52/86

    Voice BiometricSecured Control Unit

    CVoiceBiometricDlg class provides four important functions to manipulate

    the users voice signal. These are:

    1. OnEnroll( ) : It registers the users voice features in the database.

    2. OnVerify( ) : It verifies the current users voice features with the claimed

    users voice features.

    3. OnModify( ) : It replaces the old users voice features with the new users

    voice features.

    4. OnDelete( ) : It just deletes the users voice features from the database.

    The above first three functions inturn use various functions of the other

    four classes- CSound, CParam, CMath, and CVectorQuantization, to accomplish

    their tasks. Let us see how these functions proceed during the development of

    code:

    (1) OnEnroll( ) function:

    The steps followed by this function are as follows:

    1. The users voice is recorded with the help of registeruser( ) function which

    inturn takes the help of following functions:

    a) RecordStart( ) : To begin the recording of users voice.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    52

  • 7/28/2019 Voice Biometric Report

    53/86

    Voice BiometricSecured Control Unit

    b) SetTimer( ) : Its a function of a Microsoft Foundation Class (MFC)

    called CWnd. It is used to set the timer for 3 seconds

    to record the users voice.

    2. When the timer elapses, the function OnTimer( ) is called in which the

    timer code is written. In this code, all of the following steps are carried out.

    3. The RecordStop( ) function is called to stop the recording.

    4. Recorded voice is stored into a file called temp.wav by the function

    SaveFile( ).

    5. The RemoveSilence( ) function is called to remove the silence present in

    temp.wav file.

    6. The rkmain( ) function is called to extract the MFCCs from the temp.wav

    file. For this it uses the following steps:

    a) First, temp.wav file is loaded into the memory by the function

    WaveLoad( ).

    b) Then all the functions of CParam class are called in the following

    order:

    i) InitFBank( ) : To initialize the FBankInfo structure which gives

    the information needed about the filter banks to be created. It

    inturn uses Mel( ) to apply mel-frequency scale on each frame.

    ii) InitMFCC( ) : To initialize the MFCCInfo structure which gives

    the information needed about the MFCCs to be created.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    53

  • 7/28/2019 Voice Biometric Report

    54/86

    Voice BiometricSecured Control Unit

    iii) wave2MFCC( ) : To extract the MFCCs from temp.wav file. The

    MFCCs are stored into a file called temp.mfc.This function inturn

    calls other functions in the following order:

    DoHamming( ) to apply windowing on each frame.

    fft( ) to apply Fast Fourier Transform algorithm.It inturncalls fftsort( ) to implement Interlaced decomposition by

    using Bit reversal sorting algorithm which involves

    rearranging the order of the N time domain samples by

    counting in binary with the bits flipped left-for-right.

    dct( ) to apply Discrete Cosine Transform on each frame.iv) UnInitMFCC( ) : To uninitialize the MFCCInfo when the work

    is done.

    v) UnInitFBank( ) : To uninitialize the FBankInfo when the work

    is done.

    7. The vq( ) function is called to clusterize the acoustic vectors of temp.mfc into

    a codebook called temp.cb. It inturn calls the other functions of class

    CVectorQuantization in the following order:

    a) initcb( ) : To initialize the size of the codebook.

    b) clusterize( ) : To clusterize the acoustic vectors using LBG algorithm. It

    inturn uses the function eucldist( ) to calculate the Euclidean distance

    between the vectors.

    c) writecb( ) : To store the codebook in a file called temp.cb.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    54

  • 7/28/2019 Voice Biometric Report

    55/86

    Voice BiometricSecured Control Unit

    8. The file temp.cb is stored as username.cb into the database by the function

    saveusercb( ).

    (2) OnVerify( ) function:

    The steps followed by this function are as follows:

    1. The steps 1 to 7 used by the OnEnroll( ) function are followed similarly,to

    generate the codebook temp.cb for the current user.

    2. To verify the current users codebook with his trained codebook, the

    compcbmain( ) function is then called, where the total VQ distortion is

    calculated by comparing current temp.cb with claimed username.cb of the

    user.

    (3) OnModify( ) function:

    The steps 1 to 8 used by the OnEnroll( ) function are followed similarly,but in

    the step 8, the old username.cb is replaced with the new temp.cb of the user.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    55

  • 7/28/2019 Voice Biometric Report

    56/86

    Voice BiometricSecured Control Unit

    CHAPTER - 5

    Output

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    56

  • 7/28/2019 Voice Biometric Report

    57/86

    Voice BiometricSecured Control Unit

    CHAPTER - 6

    Hardware Specifications

    Parallel port modes

    The IEEE 1284 Standard which has been published in 1994 defines five

    modes of data transfer for parallel port. They are:

    1. Compatibility Mode

    2. Nibble Mode

    3. Byte Mode

    4. EPP

    5. ECP

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    57

  • 7/28/2019 Voice Biometric Report

    58/86

    Voice BiometricSecured Control Unit

    As the name refers, data is transferred over data lines. Control lines are

    used to control the peripheral, and of course, the peripheral returns status signals

    back to the computer through Status lines. These lines are connected to Data,

    Control And Status registers internally. The details of parallel port signal lines are

    given below:

    Pin No(DB25)

    Signal name Direction Register bit Inverted

    1 nStrobe Out Control-0 Yes

    2 Data0 In/Out Data-0 No

    3 Data1 In/Out Data-1 No

    4 Data2 In/Out Data-2 No

    5 Data3 In/Out Data-3 No

    6 Data4 In/Out Data-4 No

    7 Data5 In/Out Data-5 No

    8 Data6 In/Out Data-6 No

    9 Data7 In/Out Data-7 No

    10 nAck In Status-6 No

    11 Busy In Status-7 Yes

    12 Paper-Out In Status-5 No

    13 Select In Status-4 No

    14 Linefeed Out Control-1 Yes

    15 nError In Status-3 No

    16 nInitialize Out Control-2 No

    17 nSelect-Printer Out Control-3 Yes

    18-25 Ground - - -

    6.1 Parallel port registers

    As you know, the Data, Control and Status lines are connected to there

    corresponding registers inside the computer. So, by manipulating these registers

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    58

  • 7/28/2019 Voice Biometric Report

    59/86

    Voice BiometricSecured Control Unit

    in program, one can easily read or write to parallel port with programming

    languages like 'C' and BASIC.

    The registers found in a standard parallel port are:

    1. Data register

    2. Status register

    3. Control register

    As their names specify, Data register is connected to Data lines, Control

    register is connected to Control lines and Status register is connected to Status

    lines. (Here the word connection does not mean that there is some physical

    connection between data/control/status lines. The registers are virtually

    connected to the corresponding lines.) So, whatever you write to these registers

    will appear in the corresponding lines as voltages. Of course, you can measure it

    with a multimeter. And whatever you give to Parallel port as voltages can be read

    from these registers (with some restrictions). For example, if we write '1' to Data

    register, the line Data0 will be driven to +5v. Just like this, we can

    programmatically turn on and off any of the Data lines and Control lines.

    6.2 Where these registers are?

    In an IBM PC, these registers are IO mapped and will have an unique

    address. We have to find these addresses to work with the parallel port. For a

    typical PC, the base address of LPT1 is 0x378 and of LPT2 is 0x278. The Data

    register resides at this base address, Status register at base address + 1 and the

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    59

  • 7/28/2019 Voice Biometric Report

    60/86

    Voice BiometricSecured Control Unit

    control register is at base address + 2. So, once we have the base address, we

    can calculate the address of each register in this manner. The table below shows

    the register addresses of LPT1 and LPT2.

    Register LPT1 LPT2

    Data register (baseaddress + 0) 0x378 0x278

    Status register (baseaddress + 1) 0x379 0x279

    Control register (baseaddress + 2) 0x37a 0x27a

    Standard LCD Pin Matches (Character number

  • 7/28/2019 Voice Biometric Report

    61/86

    Voice BiometricSecured Control Unit

    4 RS 0/10 = Instructioninput / 1 = Datainput

    5 R/W 0/10 = Write toLCD module /1 = Read fromLCD module

    6 E 1, 1-->0 Enable signal

    7 DB0 0/1 Data pin 0

    8 DB1 0/1 Data pin 1

    9 DB2 0/1 Data pin 2

    10 DB3 0/1 Data pin 311 DB4 0/1 Data pin 4

    12 DB5 0/1 Data pin 5

    13 DB6 0/1 Data pin 6

    14 DB7 0/1 Data pin 7

    If your LCD has more than 80 characters (like 4x40)

    15 E2 1, 1->0 Enable signal row 2 & 3

    16 Not used mostly

    HY1602B (Hyper 1602B) with KS0065 controller (compatible with HD44780) and

    backlight. Click for a bigger picture

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    61

  • 7/28/2019 Voice Biometric Report

    62/86

    Voice BiometricSecured Control Unit

    1602-04 with KS0066U controller (compatible with HD44780) and backlight Click for

    a bigger picture

    These are 2 different 2x16 LCDs as in the pictures the 15th and 16th pins are for

    backlight as I mentioned above.

    Pinout Descriptions

    Pin 1, 2, 3 :According to the table, I call Pin 1(Vss),2(Vdd/Vcc),3(Vee/Vo) power

    pins because they are the gates to power. Pin 1 is for ground so you have to

    connect to ground/earth and Pin 2 is for the +5V power supply. 6V or 4,5V is

    mostly acceptable in few amperes and also 3V is acceptable on some of the LCD

    modules (You can also power these modules with a battery in a very economical

    way). In my application I get the voltage from the molex cable of the pc which is

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    62

    http://www.izdir.com/electronic_work/article2/113_1304.JPGhttp://www.izdir.com/electronic_work/article2/112_1214.JPGhttp://www.izdir.com/electronic_work/article2/111_1133.JPGhttp://www.izdir.com/electronic_work/article2/113_1304.JPG
  • 7/28/2019 Voice Biometric Report

    63/86

    Voice BiometricSecured Control Unit

    inside the case. And pin 3 is for the LCD's contrast adjustment. I did not but you

    could use a potentiometer (10K pot will be ok) for changing the contrast of your

    LCD. See the schematics below

    Pin 4, 5, 6: I call Pin4 (RS), 5(R/W),6(E) the control buddies because these pins

    are the arms of your controller inside your LCD module. Pin 4(RS) is registration

    select if this pin is low the data perceived by the data pins taken as commands

    by the LCD and if this pin is high the LCD can receive/send 8 or 4 bit character

    data. I call Pin 5(R/W) clerk because when this pin is low you can write character

    to the LCD, if the pin is high you can read character data or the status

    information from the LCD. I didn't make any read operations in my app so I solder

    this pin to the ground (with soldering this to the ground I made this pin low - "0"see the below circuits). Pin 6(E) which I call the guardian, is used to initiate the

    actual transfer of commands or character data between the LCD module and the

    data pins.

    Pin 7,8,9,10,11,12,13,14: The eight pins which are DB0-DB7 are the data pins

    which I call them the workers. The data can be transferred or fetched from the

    LCD by 8 or 4 bits. Which one is better? This is up to you, by the way if you are

    using a microcontroller and you have few pins you can use your module in 4 bit

    mode (by using DB4-DB7). I used 8 bit mode in my LCD because I used the

    parallel port which already have 8 bit data lines (remembermy first article, part 1

    D0-D7)

    Pin 15,16 :These two pins are for the backlight of the LCD module. 15th pin goes

    to the power supply(VB+) and 16th pin goes to the ground(VB-). Backlight is very

    useful in dim environments but some LCD modules don't have backlights. There

    are multicolored LCDs around as well.

    Circuit

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    63

    http://www.codeproject.com/csharp/csppleds.asphttp://www.codeproject.com/csharp/csppleds.asp
  • 7/28/2019 Voice Biometric Report

    64/86

    Voice BiometricSecured Control Unit

    What we need to supply for our circuit? Below is a list of that:

    No: Description

    1. 2x16 Paralell LCD must be HD44780 compatiable

    2. Normal parallel printer cable3. Normal twin power cable

    4. 10 way housing and the PCB header

    5. 6 way housing and the PCB header

    6. Hard drive type power connector (Molex)

    7. 16 PCB terminals

    8.A digital multimeter(must measure few ampers!), a solder penwith some soldering iron

    9. Some patience, and my program :)

    *10 K potentiometer (Not required - needed when you want toadjust the contrast of your LCD - see circuit withpotentiometer)

    The circuit with potentiometer

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    64

    http://www.izdir.com/electronic_work/article2/112_1297.JPGhttp://www.izdir.com/electronic_work/article2/112_1298.JPGhttp://www.izdir.com/electronic_work/article2/112_1300.JPGhttp://www.izdir.com/electronic_work/article2/112_1299.JPGhttp://www.izdir.com/electronic_work/article2/112_1299.JPGhttp://www.izdir.com/electronic_work/article2/113_1304.JPGhttp://www.izdir.com/electronic_work/article2/112_1299.JPGhttp://www.izdir.com/electronic_work/article2/112_1297.JPGhttp://www.izdir.com/electronic_work/article2/112_1298.JPGhttp://www.izdir.com/electronic_work/article2/112_1300.JPGhttp://www.izdir.com/electronic_work/article2/112_1299.JPGhttp://www.izdir.com/electronic_work/article2/112_1299.JPGhttp://www.izdir.com/electronic_work/article2/113_1304.JPGhttp://www.izdir.com/electronic_work/article2/112_1299.JPG
  • 7/28/2019 Voice Biometric Report

    65/86

    Voice BiometricSecured Control Unit

    If your soldering goes well you get a typical test screen of a character based LCD

    as its shown below:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    65

  • 7/28/2019 Voice Biometric Report

    66/86

    Voice BiometricSecured Control Unit

    Power Supply

    Regulated power supply:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    66

  • 7/28/2019 Voice Biometric Report

    67/86

  • 7/28/2019 Voice Biometric Report

    68/86

    Voice BiometricSecured Control Unit

    LM7805 5 1.5 10 3 2

    LM7806 6 1.5 12 5 2

    Hardware:

    Everybody knows what is parallel port, where it can be found,

    and for what it is being used. The primary use of parallel port is to

    connect printers to the computer and is specifically designed for this

    purpose. Thus it is often called as printer Port or Centronics port (this

    name came from a popular printer manufacturing company

    'Centronics' which devised some standards for parallel port). You can

    see the parallel port connector in the rear panel of your PC. It is a 25

    pin female (DB25) connector (to which printer is connected). On almost

    all the PCs only one parallel port is present, but you can add more by

    buying and inserting ISA/PCI parallel port cards.

    The power supply is 9 volt regulated power supply. We have used a step down

    transformer of 9 volt. The result is rectified using a bridge rectifier circuit. The

    result is passed through regulator IC and the Out put is coupled through a 1

    microfarad capacitor for better impedence matching.

    STEPPING MOTORS:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    68

  • 7/28/2019 Voice Biometric Report

    69/86

    Voice BiometricSecured Control Unit

    Motion Control, in electronic terms, means to accurately control

    the movement of an object based on speed, distance, load, inertia or a

    combination of all these factors. There are numerous types of motion

    control systems, including; Stepper Motor, Linear Step Motor, DC

    Brush, Brushless, Servo, Brushless Servo and more. This document will

    concentrate on Step Motor technology.

    In Theory, a Stepper motor is a marvel in simplicity. It has no

    brushes, or contacts. Basically it's a synchronous motor with the

    magnetic field electronically switched to rotate the armature magnet

    around.

    A Stepping Motor System consists of three basic elements, often

    combined with some type of user interface (Host Computer, PLC or

    Dumb Terminal):

    The Indexer (or Controller) is a microprocessor capable of generating step pulses

    and direction signals for the driver. In addition, the indexer is typically required to

    perform many other sophisticated command functions.

    The Driver (or Amplifier) converts the indexer command signals into the powernecessary to energize the motor windings. There are numerous types of drivers, with

    different current/amperage ratings and construction technology. Not all drivers are

    suitable to run all motors, so when designing a Motion Control System the driver

    selection process is critical. The Step Motor is an electromagnetic device that convertsdigital pulses into mechanical shaft rotation.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    69

  • 7/28/2019 Voice Biometric Report

    70/86

    Voice BiometricSecured Control Unit

    Advantages of step motors are low cost, high reliability, high

    torque at low speeds and a simple, rugged construction that operates

    in almost any environment. The main disadvantages in using a step

    motor is the resonance effect often exhibited at low speeds and

    decreasing torque with increasing speed.

    TYPES OF STEPPER MOTORS:

    There are basically three types of stepping motors; variable

    reluctance, permanent magnet and hybrid.

    They differ in terms of construction based on the use of permanent magnets

    and/or iron rotors with laminated steel stators.

    VARIABLE RELUCTANCE:

    The variable reluctance motor does not use a permanent

    magnet. As a result, the motor rotor can move without constraint or

    "detent" torque. This type of construction is good in non industrial

    applications that do not require a high degree of motor torque, such as

    the positioning of a micro slide.

    The variable reluctance motor in the below illustration has four "stator pole sets"

    (A, B, C,), set 15 degrees apart. Current applied to pole A through the motor winding

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    70

  • 7/28/2019 Voice Biometric Report

    71/86

    Voice BiometricSecured Control Unit

    causes a magnetic attraction that aligns the rotor (tooth) to pole A. Energizing stator poleB causes the rotor to rotate 15 degrees in alignment with pole B. This process will

    continue with pole C and back to A in a clockwise direction. Reversing the procedure (C

    to A) would result in a counterclockwise rotation.

    FIG: VARIABLE RELUCTANCE

    MOTOR

    PERMANENT MAGNET:

    The permanent magnet motor, also referred to as a "canstack"

    motor, has, as the name implies, a permanent magnet rotor. It is a

    relatively low speed, low torque device with large step angles of either

    45 or 90 degrees. It's simple construction and low cost make it an ideal

    choice for non industrial applications, such as a line printer print wheel

    positioner.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    71

  • 7/28/2019 Voice Biometric Report

    72/86

    Voice BiometricSecured Control Unit

    Fig: Permanent Magnet Motor

    Unlike the other stepping motors, the PM motor rotor has no

    teeth and is designed to be magnetized at a right angle to it's axis. The

    above illustration shows a simple, 90 degree PM motor with four

    phases (A-D). Applying current to each phase in sequence will cause

    the rotor to rotate by adjusting to the changing magnetic fields.

    Although it operates at fairly low speed the PM motor has a relatively

    high torque characteristic.

    HYBRID:

    Hybrid motors combine the best characteristics of the variable

    reluctance and permanent magnet motors. They are constructed with

    multi-toothed stator poles and a permanent magnet rotor. Standard

    hybrid motors have 200 rotor teeth and rotate at 1.80 step angles.

    Other hybrid motors are available in 0.9and 3.6 step angle

    configurations. Because they exhibit high static and dynamic torque

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    72

  • 7/28/2019 Voice Biometric Report

    73/86

  • 7/28/2019 Voice Biometric Report

    74/86

    Voice BiometricSecured Control Unit

    Fig: Lead Biflar MotorThe most common wiring configuration for bifilar wound stepping

    motors is 8 leads because they offer the flexibility of either a Series or

    parallel connection. There are however, many 6 lead stepping motors

    available for Series connection applications.

    STEP MODES:

    Stepper motor "step modes" include Full, Half and Microstep. The

    type of step mode output of any motor is dependent on the design of

    the driver.

    FULL STEP:

    Standard (hybrid) stepping motors have 200 rotor teeth, or 200

    full steps per revolution of the motor shaft. Dividing the 200 steps into

    the 360's rotation equals a 1.8 full step angle. Normally, full step

    mode is achieved by energizing both windings while reversing the

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    74

  • 7/28/2019 Voice Biometric Report

    75/86

    Voice BiometricSecured Control Unit

    current alternately. Essentially one digital input from the driver is

    equivalent to one step.

    HALF STEP:

    Half step simply means that the motor is rotating at 400 steps

    per revolution. In this mode, one winding is energized and then two

    windings are energized alternately, causing the rotor to rotate at half

    the distance, or 0.9's. (The same effect can be achieved by operating

    in full step mode with a 400 step per revolution motor). Half stepping is

    a more practical solution however, in industrial applications. Although

    it provides slightly less torque, half step mode reduces the amount

    "jumpiness" inherent in running in a full step mode.

    MICROSTEP:

    Microstepping is a relatively new stepper motor technology that

    controls the current in the motor winding to a degree that further

    subdivides the number of positions between poles. AMS microsteppers

    are capable of rotating at 1/256 of a step (per step), or over 50,000

    steps per revolution.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    75

  • 7/28/2019 Voice Biometric Report

    76/86

    Voice BiometricSecured Control Unit

    FIG: RESOLUTION VS CPU STEP FREQUENCY

    Microstepping is typically used in applications that require

    accurate positioning and a fine resolution over a wide range of speeds.

    MAX-2000 microsteppers integrate state-of-the-art hardware with

    "VRMC" (Variable Resolution Microstep Control) technology developed

    by AMS. At slow shaft speeds, VRMCs produces high resolution

    microstep positioning for silent, resonance-free operation. As shaft

    speed increases, the output step resolution is expanded using "on-

    motor-pole" synchronization. At the completion of a coarse index, the

    target micro position is trimmed to 1/100 of a (command) step to

    achieve and maintain precise positioning.

    DESIGN CONSIDERATIONS:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    76

  • 7/28/2019 Voice Biometric Report

    77/86

    Voice BiometricSecured Control Unit

    The electrical compatibility between the motor and the driver are

    the most critical factors in a stepper motor system design. Some

    general guidelines in the selection of these components are:

    INDUCTANCE:

    Stepper motors are rated with a varying degree of inductance. A

    high inductance motor will provide a greater amount of torque at low

    speeds and similarly the reverse is true.

    SERIES, PARALLEL CONNECTION:

    There are two ways to connect a stepper motor; in series or in

    parallel. A series connection provides a high inductance and therefore

    greater performance at low speeds. A parallel connection will lower the

    inductance but increase the torque at faster speeds. The following is a

    typical speed/torque curve for an AMS driver and motor connected in

    series and parallel:

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    77

  • 7/28/2019 Voice Biometric Report

    78/86

    Voice BiometricSecured Control Unit

    Fig: Torque versus speed for series and parallel connection

    DRIVER VOLTAGE:

    The higher the output voltage from the driver, the higher the

    level of torque vs. speed. Generally, the driver output voltage should

    be rated higher than the motor voltage rating.

    MOTOR STIFFNESS:

    By design, stepping motors tend to run stiff. Reducing the

    current flow to the motor by a small percentage will smooth the

    rotation. Likewise, increasing the motor current will increase the

    stiffness but will also provide more torque. Trade-offs between speed,

    torque and resolution are a main consideration in designing a step

    motor system.

    MOTOR HEAT:

    Step motors are designed to run hot (50-90 C). However, too

    much current may cause excessive heating and damage to the motor

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    78

  • 7/28/2019 Voice Biometric Report

    79/86

    Voice BiometricSecured Control Unit

    insulation and windings. AMS step motor products reduce the risk of

    overheating by providing a programmable Run/Hold current feature.

    C#.NET:

    .NET (dot-net) is the name Microsoft gives to its

    general vision of the future of computing, the view

    being of a world in which many applications run in a

    distributed manner across the Internet. We can

    identify a number of different motivations driving

    this vision.

    Firstly, distributed computing is rather like object oriented

    progamming, in that it encourages specialized code to be collected in

    one place, rather than copied redundantly in lots of places. There are

    thus potential efficiency gains to be made in moving to the distributed

    model.

    Secondly, by collecting specialized code in one place and

    opening up a generally accessible interface to it, different types of

    machines (phones, handheld, desktops, etc) can all be supported with

    the same code. Hence Microsofts runanywhere aspiration.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    79

  • 7/28/2019 Voice Biometric Report

    80/86

    Voice BiometricSecured Control Unit

    Thirdly, by controlling real-time access to some of the distributed

    nodes (especially those concerning authentication), companies like

    Microsoft can control more easily the running of its applications. It

    moves applications further in the area of services provided rather

    than object owned.

    Interestingly, in taking on the .NET vision, Microsoft seems to

    have given up some of this proprietary tendencies (whereby all the

    tehcnology it touched was warped towards its Windows operating

    system). Because it sees its future as providing software services in

    distributed applications, the .NET framework has been written so that

    applications on other platforms will be able to access these services.

    At the development end of the .NET vision is the .NET framework.

    This contains the common language runtime, the common language

    runtime (CLR) manages the execution of code compiled for the .NET

    platform. The CLR has tow interesting features. Firstly, its specification

    has been opened up so that it can be ported to non-windows platforms.

    Secondly, any number of different languages can be used to

    manipulate the .NET framework classes, and the CLR will support

    them. This has led one commentator to claim that under.NET the

    language one uses is a lifestyle choice.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    80

  • 7/28/2019 Voice Biometric Report

    81/86

    Voice BiometricSecured Control Unit

    Not all of the supported languages fit entirely neatly into the

    .NET framework, however (in some cases the fit has been somewhat

    procrustean). But the one language that is guaranteed to fit in

    perfectly is C#. This new language, a successor to C++, has been

    released in conjunction with the .NET framework, and is likely to be the

    language of choice for many developers working on .NET applications.

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    81

  • 7/28/2019 Voice Biometric Report

    82/86

    Voice BiometricSecured Control Unit

    CHAPTER - 7

    CONCLUSION

    The aim of this research was to develop a Voice Biometric Security for

    Industrial control, which can verify a persons claimed identity. Overall, the

    project was a success with the basic requirements being satisfied. The finished

    product could enroll users, verify their voiceprint, and provided a GUI interface for

    users to do so.

    The current Voice Biometric Security for Industrial control verifies the

    voice templates in a one-to-one manner and offers a reliable and accurate way of

    verifying the user voice. Simple algorithms for Mel Frequency Cepstrum

    Coefficients and Vector Quantization were used for the development of the

    system.

    The performance of the system was found to depend on the recording

    time and length of the sentence, sampling frequency, surrounding environment,

    speakers behavioral conditions and the threshold value. To increase the length

    of the time, the recording time has to be increased. So, for a maximum of 2

    seconds, a user was able to record only a short phrase like VTU University. It

    was initially hard for the system to authenticate the users with this kind of voice

    phrases. So tests have been performed on increasing the recording time. As the

    Department Of Electronics & CommunicationAppa Institute of Engineering and Technology,

    Gulbarga

    82

  • 7/28/2019 Voice Biometric Report

    83/86

    Voice BiometricSecured Control Unit

    recording time increases (3-5 seconds), the systems verification process can

    authenticate more accurately, reducing the number of false rejections. The

    sampling frequency can also be changed from 16 KHz to 22 KHz. The best

    results can be observed at 22 KHz of sampling frequency.

    The performance of the system can be improved in several ways. From

    the literature I have gone through, it is specified that normalization techniques

    can be used to alleviate the noise effects. In future I am planning to study

    normalization process and implement it in my system. On