2.1.3 Pin Identification System
The pin identification system consists of inside and outside door keypads. The keypads are used for the filtering of user formants used in speech recognition, inputting the numeric password of the users, which serves as a second level security measure, logging out, and rejecting and accepting visitors.
2.2.1 Speech Recognition
Speech recognition is implemented using Matlab 5.3. The algorithm used is based on the calculation of formants. Persons who have valid access to the AIHouse are required to train the system to recognize their gateway words. This program communicates with the main console through text files. The main console, written in C, creates a text file (start.txt), which contains a single character (by default, the character is 0). The speech recognition program, written in Matlab, continuously reads this text file, until the character is set depending on who is asking for access. This indicates to the speech recognition program that it should prompt for the gateway word, process the speech input and identify if a match occurs. After processing, the Matlab program writes a text file indicating if access granted or denied. The main console reads this text file. If access is valid, it requests for the pin number of the person as a second level security measure. If invalid, the person is denied access to the house.
2.2.2 Main Console The main console is written using Turbo C++ v. 3. Its executable form is a DOS based program, requiring minimal computer resources. It features a manual control system, which opens and closes the door, switches on and off the intercom, allows the users to internally change their passwords, the time intervals between automated processes, and the settings of the whole system. The whole system is primarily implemented by sampling and determining the state of the status flags as set by the different subsystems. External events set or reset different flags, which are the door status, intercom status, presence detector status and manual door control status. These flags are read via the game port. They determine the control action that the system must perform. 2.2.3 Link to Central and Logging system All events are logged into a text file that is submitted to the central computer, which determines what control action each subsystem in the AIHouse must do. Every event is time stamped and is appended to the text file. The main console signals the central computer whenever a new event is available to be displayed and logged on to central status monitor. Possible access events that are logged include entries and exits of different valid house occupants and visitors, illegal password occurrences, denied access attempts, and visits that occurred while no one is in the house. During emergency situations, such when an invalid access attempt is detected, the corresponding status flag is sent to the central computer, with an emergency flag. These emergencies are reflected and solicit appropriate action through the status monitor of the central computer. The main console acknowledges control actions from the central computer. For instance, if both speech and keypad accesses are down, the door can still be opened from the outside by a higher level security option, which contacts the central computer to automatically open the door. This is done by checking the existence of a new command from the central computer at the start of every program loop. Whenever there is a new command, the main console executes the given command first and proceeds to normal operation after.
This project can be improved by providing an uninterruptible power supply with enough power rating to support all the control systems of the AIHouse. The speech recognition algorithm can be transcribed and written entirely in C or an open-source code on formants may be used. This speeds up the implementation of the speech recognition, since DOS implementation is faster than Windows-based applications. Furthermore, it cuts down on overhead cost introduced by MatLab. |