© 2009 Science Publications Personal Computer Based Clinical Programming Software for Auditory Prostheses

Auditory Prostheses (AP) are widely used electronic devices for patients suffering with severe to profound senosorineural deafness by electrically stimulating the auditory nerve using an electrode array surgically placed in the inner ear. AP mainly contains external Body Worn Speech Processor (BWSP) and internal Implantable Receiver Stimulator (IRS). BWSP receives an external sound or speech and generates encoded speech data bits for transmission to IRS via radio frequency transcutaneous link for excitation of electrode array. After surgical placement electrode array in the inner ear, BWSP should be fine tuned to achieve the 80-100% speech reception abilities of patient by an audiologist. Problem statement: Basic objective of this research was to develop a simple personal computer based user friendly hardware and software interface to fine tune the BWSP to achieve the best possible speech reception abilities of each individual patient. Approach: Tuning process involved several tasks such as identifying the active electrode contacts, determination of detection and pain thresholds of each active electrode and loads these values into BWSP by reprogramming the BWSP. This study contracted with development of easy and simple user friendly hardware and software interface for audiologist to perform post operation tuning procedures. A microcontroller based impedance telemetry with bidirectional RF transceiver was developed as a hardware interface between PC and IRS. The clinical programming software was developed using VB.NET 2008 to perform the post-operative tuning procedures such as (i) impedance measurement, (ii) fitting to determine the threshold and comfort levels for each active electrodes and (iii) reprogramming the speech processor. Results: Simple hardware and software interfaces for audiologist were constructed and tested with laboratory model BWSP and IRS using simulated resistance electrode array. All the functional aspects were tested and results were enumerated. Conclusion: Clinical application software had been developed for AP used in postoperative fitting procedure used by the audiologists. Software is readily available for use after the laboratory model of BWSP and IRS are available as final product.

With the help of modern electronic devices like hearing aids and auditory prosthesis the problem of hearing loss in deaf people can be alleviated. Most of the conventional hearing aids provide amplification of speech signal with filtering and appropriate compression makes the speech signal become audible to the hearing impaired personnel. In present days, advanced hearing aids are available with additional features like constant gain over each frequency band and multi-channels with automatic gain adjustment in accordance with patient's speech perception. Such hearing aids are suitable only to the patients with mild to moderate hearing loss and not suitable to the people with profound hearing loss. To restore hearing abilities for profoundly deaf people a device called cochlear implant can be implanted in the inner ear. Comparing with hearing aids, CI does not make any sound amplification; but it bypasses the normal hearing operation by directly stimulating the auditory nerve using electric pulse allowing the hearing impaired persons to recognize the sound. A CI is an expensive electronic device that artificially stimulates auditory nerve in the inner ear to restore the useful hearing and provides improved communication abilities for persons suffering with complete hearing loss. Nowadays a high performance multi channel auditory prostheses are available. A high performance auditory prosthesis is associated with high cost. The performance of the auditory prostheses depends on the various factors such as number of electrodes, placement of electrodes, types of electrodes, stimulation and the speech processing strategies to deliver the important acoustic features for understanding the sound under noisy environments. These factors demand to develop high performance speech processor for auditory prostheses. Andhra University-Naval Science and Technology Lab had developed Auditory Prostheses that comprises external BWSP and IRS.
The function of Auditory Prostheses is an artificial replacement of damaged inner ear using external Body Worn Speech Processor (BWSP) for Auditory Prostheses and Implantable Receiver-Stimulator (IRS) for stimulating auditory nerve via electrode array that enables understanding the speech by brain. The BWSP receives an external sound or speech and generates encoded speech data bits for transmission to receiverstimulator via an inductive Radio Frequency (RF) transcutaneous link for excitation of electrode array. The IRS receives the encoded speech data bits via RF receiver.
Each user of CI has to be individually fitted or mapped with active electrodes and their stimulation levels to ensure safe and effective electric stimulation [9][10][11] . The use of electric stimulation requires the determination of (i) minimum amplitude that the patient (the user of CI) detects and perceives as sound and (ii) maximum tolerable amplitude that can be used harmlessly. The minimum amplitude is Called Threshold Level (TCL) and the maximum amplitude called Most Comfort Level (MCL) [10] . Usually the audiologists spend most of the time in measuring the appropriate stimulating current values on each individual active electrode that reaches the TCL and the MCL. The amplitude map for the TCL and MCL needs to be adjusted, particularly in the first several months following the first turn-on the speech processor, as both the implant system and the implant user are being adapted to electric stimulation. The goal of amplitude mapping is to optimally convert acoustic amplitudes in speech sounds to electric currents that evoke sensations that are between just audible and the maximal comfortable. An efficient integrated fitting and structured training is needed to optimize the maps for each user of CI.
Experimental Laboratory interfaces for cochlear implants are needed to directly manipulate the parameters of biphasic pulse trains on a trial-by-trial basis, implementing popular speech-processing algorithms, identifying the active channels which are intact, identify the threshold and comfort levels of each active channel of each user of CI and also make changes to those algorithms such as adjusting filter parameters, changing the number of active channels and selecting the update rate for best speech understanding of the patient. The Clinical Programming Interface (CPI) is required to perform the post operative fitting operations using IMT hardware and Clinical Programming Software (CPS) The most important tasks of CPS is to (i) identify the active electrodes by using Impedance telemetry module, (ii) determine threshold and comfort levels for each active electrodes using fitting module and (iii) reprogram the BWSP using Mapping module.
This study presents the development of Clinical Programming Software for testing and setting patient specific parameters used in BWSP with the help of IMT.

MATERIALS AND METHODS
This section covers Hardware Implementation and software Implementation of PC based Clinical programming software for Auditory Prostheses.

Hardware
Implementation: The hardware implementation is carried out based on the widely used 8051 microcontroller core. The experimental block diagram for PC based clinical programming system is shown in Fig. 1. It contains two important modules, namely Body Worn Speech Processor (BWSP) and Impedance Telemetry which are interfaced to IRS through RF link. BWSP is a DSP and Microcontroller based Programmable Speech Processor system which collect the speech information, implements 4-8 channel Continuous Interleaved Sampling (CIS) speech processing algorithm [8] based on patients active electrodes and transmits processed speech information as serial bit stream at 172 kbps rate to transcutaneous inductive RF link. The embedded program in BWSP is programmed to support 4-8 channel CIS processing. IMT is a microcontroller based interface unit used to measure the impedance of electrodes and stimulates the active electrodes for identifying the TCL and MCL for each active channel/electrode. IRS is microcontroller based receiver stimulator receives encoded speech information from BWSP to stimulate the electrodes based on the speech information or receives the commands from IMT and perform the operation based on the command. Two different protocols are used for communication (a) Between BWSP and IRS and (b) Between IMT and IRS modules. Impedance Telemetry module acts as interface module between BWSP, IRS and CPI. IMT is developed using ultrahigh-speed flash microcontroller DS89C450 (8051 core) at 33 MHz clock frequency, make it compatible with IRS data rate. IMT module contains 2×20 LCD display, keyboard interface, two serial ports and ASK modulator. LCD display and Key board interfaces enable the audiologist to measure the impedance of electrodes without using personnel computer. One of the two serial ports is used to interface with the Personnel Computer (PC) operating at 9600 bps rate and another serial port is used to interface with the IRS operating at 172 kbps rate. IMT module can be used either as an independent Telemetry module to identify the active electrodes by measuring the impedance values of all 8 electrodes or acts as an intermediate interface between CPI and IRS to perform impedance measurement and determination of TCL and MCL.

Software implementation:
The application software CPI is developed using Visual Basic.Net2008 to measure electrode impedances, adjusting TCL and MCL and mapping the TCL and MCL to BWSP default levels. The embedded program for IMT is developed using 8051 assembler to process the commands from CPS running on personnel computer. IMT having two serial ports are configured to operate with two different baud rates. Serial port 0 of IMT operating at 172 Kbps is used to interface with IRS to perform impedance measurement or stimulating functions. Serial port 1 of IMT operating at 9600 bps is used to interface with Personnel Computer (PC) for receiving commands from PC and performs the required operation.

Embedded programs in IMT:
The embedded program in IMT is written in 8051 assembly language with three subtasks: Pushbuttons key detection and processing, impedance measurement and fitting procedure. The program runs continuous until it receives an interrupt from Pushbuttons key depression or receives an interrupt from PC's serial port. If it receives an interrupt from pushbuttons it processes the operation based on the pushbutton. If pushbutton 'P' is pressed it performs the impedance telemetry function. If the button is 'U' it displays the resistance values of the next channel. If the button is 'D' it displays the resistance values of the previous channel.
If it receives a serial interrupt from PC it checks the type of operation based on the received data byte. If it is "0×52" it performs the impedance telemetry function. If it is "0×55" it performs the stimulation function. Both are implemented in a simple protocol format. If the required function is impedance telemetry function, it prepares the impedance telemetry command required for the Implantable Receiver Stimulator (IRS). The impedance telemetry command is sent serially bit by bit to the ASK modulated RF transmitter at 172 Kbps rate through serial port 0. The IRS receives the IMT command and performs the required operations such as stimulating each electrode, reads the voltage across the corresponding electrode with reference to the reference electrode, storing it in internal memory. After all channels are processed it prepares the response data format to be sent to IMT as shown in Fig. 2.
IRS sends the formatted data serially bit-by-bit to the IMT via Load Shift Keying (LSK) modulation. After sending the IMT command the IMT waits until correct the response data header is received. After proper header is received it receives the 16 byte data which contains electrode number and corresponding resistance hexadecimal value. IMT converts this hex values into equivalent 4 digit ASCII resistance value by assuming full voltage stimulation at 2 mA current. The newly read resistance values are stored in flash memory of DS89C450 microcontroller. Then IMT formats the 57 bytes response data format, sends serially bit-by-bit through serial port1. If the IMT receives the stimulation function by receiving the stimulation command format as shown in Fig. 3, it sends the acknowledgement to the CPI of PC. It decodes the instruction, capture the required information such as electrode number and electrode charge, prepares the original speech processor command contains 17 byte format filled with selected electrode number with corresponding charge, remaining bytes with zeros as shown in Fig. 4, sends serially bit by bit to IRS via serial port0 255 times. IRS receives the speech processor command and stimulates the selected channel with corresponding charge and remaining channels are not stimulated.

CPI software program:
The CPI software is designed for our BWSP used by an audiologist for performing post operative fitting procedure. The program contains multiple functional modules such as (i) impedance measurement, (ii) fitting and (iii) mapping.
The software program is designed under VB.net2008, with a database MSACCESS. The designed data tables are responsible to record patient basic information, medical record, evaluation of hearing abilities, evaluation of speech and language status, rehabilitation status, evaluation of psychological status, medical and audiological evaluation, processor programming, specific training with processor accessories and so on. The functions of CPS is designed to serve the following functions (i) maintaining patient information, (ii) impedance measurement, (iii) determination of stimulation parameters (fitting) and (iv) processor programming. The patient information module maintains the basic requirement of patient information such as patient identification, name and address. CPI provides the facility to search the patient information either by name or patient id. After selecting the patient, the audiologist can perform the following functions (i) Impedance measurement, (ii) Fitting and (iii) Programming the speech processor.
The requirement specifications of above are designed and implemented by VB.Net 2008 software based on windows form design. The.NET framework is object oriented as well as event-driven. In event-driven programs, a procedure can be called that has no direct or indirect relation to the main routine. In reality, very little code within a typical event-driven application is called from main or any of its descendants. The benefits of easy of design and rapid development features of the VB.net language are selected for our requirement. The easiest way to design a windows form is to use the Windows Forms Designer in Visual Studio.NET. Programmatically a form is defined by deriving a class from the Windows Form class (defined in System.Windows.Forms). Our design requirement needs four form based classes, hence we derived four classes from System.Windows.Forms. The four classes are designed using Windows Forms designer namely (i) Patient_Info, (ii) Impedance Telemetry (Imtel), (iii) Fitting and (iv) Mapping classes. The required toolbox components such as button and edit boxes are added to the four forms based on the requirement. The main and starting point of the application software is Patient_Info form class contains various buttons to maintain patient general information such as creation of new patient information, updating and deletion of patient information, searching the patient information based on the patient ID or patient name, measurement of Impedance of each patient, setting the parameters and mapping. The each button associated with its event handler procedure is used to process the corresponding request. In Patient_Info form class the event handler for the buttons related to general patient information such as NEW, EDIT, UPDATE, DELETE buttons, performs the updating the patient database information. The event handler procedure for IMP_TELE button invokes or loads new form Imtel form. The event handler procedure for Fitting button invokes or loads new form Fitting form. The event handler procedure for Mapping button invokes or loads new form mapping form. The Imtel form class consists of Text boxes, ReadRes button and Chart control for NET framework. Whenever the Imtel form is loaded it reads the impedance values from ResVal database table if available and displays each channel resistance value in corresponding textboxes and displays the resistance values in chart control also. If the resistance values are not yet stored it displays the error message. The event handler function for the ReadRes button is to prepare the Impedance Telemetry command and write to the serialPort object. Then it waits for the DataReceived event on the serial port object. After receiving the data from the IMT, it disassembles the data received and stores the new resistance values of each channel in the ResVal database table, updates the textboxes of each channel and also updates the chart values. The sequence of operations for impedance telemetry function is illustrated by using sequence diagram as shown in Fig. 5 Fig. 6.
The Mapping module gives comprehensive information of the patient. It displays the impedance information, TCL and MCL of each channel, selection of speech processor algorithm, stimulation rate. The audiologist verifies these details and writes to the serialPort object connected to the BWSP to reprogram the parameters of the BWSP. The sequence of operations for mapping function is illustrated by using sequence diagram as shown in Fig. 7.
The functional operation of each module is explained below.

Impedance measurement:
The impedance measurement modules display the impedance values if the audiologist had already measured the impedance values of the patient in normal text form and also graphical representation. If the impedance values are not available it displays the null values. The 'ReadRes' button allows the audiologist to read the first time impedance values or follow-up measure of new impedance values. If the audiologist presses the "ReadRes" button, it prepares the impedance measurement command, transmits serially bit-by-bit at 9600 bps to the IMT through serial port 0. After sending the command, it waits for receiving 57 bytes of data from IMT. After receiving the total data, it analyses the data, store the patient specific in the database tables and update the display with new values in both simple text format and graphical representation along with date of last updating. Typical impedance measurement screen shot is shown in Fig. 8.

Fitting:
The impedance module gives the correct functioning or status of the inserted electrodes. It gives the information whether the each electrode having open or short or some finite resistance with the reference electrode. Those electrodes with the finite resistance value between 100-10000 ohms are used for stimulation. By using this information the audiologist can perform stimulation function. The fitting module allows the audiologist to determine the TCL and MCL of each active electrode based on the impedance values. The fitting module allows the each implant user has to be individually fitted or mapped for ensuring safe and effective electric stimulation.  The TCL and MCL are adjusted to some default values and ensure the stimulus to be presented will be above the TCL and MCL before any psychophysical tests are conducted. These values are unique for each electrode of each patient that needs to take measurements for all electrodes. The stimulus was presented at 936 pulses sec −1 per channel/electrode. The threshold level can be adjusted either ascending or descending but the comfort level only ascending from the threshold selected. For all electrodes the step size of 10 current units set between TCL and MCL. The stimulus level was first set at a default value by the CPS below the threshold of detection and the audiologist was instructed to move the range bar downwards from default threshold value and then presses the stimulation button and observes the response from patient. Based on the responses of the patient, audiologist further moves the threshold bar to next increment then presses stimulation button until the stimulus could first be heard. This task was repeated three or more times to ensure the patient hear some sounds. The value is saved as threshold value. Then the stimulus was initialized at a value above the threshold and then move the range bar incrementing stimulus above threshold until the volume was loud but tolerable for a short period of time. This was repeated three or more times to determine the comfort level. The entire procedure was repeated for all the electrodes to determine the thresholds and comfort levels.
The audiologists may vary the number of adjustable parameters such as TCL and MCL for each active electrode, allowing an individual user to store multiple maps in the speech processor for listening to different sounds in different environments such as quiet, noise, speech and music. The audiologist can drag the dynamic range bar for each channel for identifying threshold or comfort level and then press the stimulation button for stimulating corresponding channel. It prepares the stimulation command as shown in Fig. 3 contains the selected channel and corresponding stimulus value. The stimulation command is transmitted serially bit by bit to the IMT through serial port 1. The IMT after receiving the command, analyses IMT, prepare the speech processor command format and send the command serially bit by bit through serial port0 to the ASK modulated RF transmitter. After all the threshold and comfortable levels are identified by the audiologist can save the information. The CPI provides three different mapping schemes for different environment. The screenshot of the fitting function is shown in Fig. 9.
Reprogramming speech processor: After completing the fitting procedure the audiologist can initiate the mapping function that gives the comprehensive information about active channels and corresponding threshold and comfort levels of the active electrodes, processor selected. By pressing the "Program" button it prepares the Mapping command which contains the active electrode information and corresponding thresholds and comfort levels for each active electrode. The prepared command is sent serially bit-by-bit at 9600bps rate to the encoder of BWSP via com port of the clinical programming PC. After BWSP receives all active channels threshold and comfort values, the compression function is reset with the TCL and MCLs and the speech processor program is restarted with the new values.

RESULTS
The CPI software provides various features such as impedance measurement, fitting and reprogram the speech processor to the audiologist devised as required by the patient. After the patient information is updated, the audiologist can finalize the patient specific parameters such as identification of active electrodes, TCL and MCL of each active electrode and stimulation rate. The CPI software also provides searching facility for identifying the patient. The screen shots of the results of the impedance measurement, fitting and reprogramming as shown in the Fig. 8 and 9.

DISCUSSION
The Clinical Programming Software for Cochlear Implant system (Bionic ear) is developed using VB.Net 2008 platform with MSACCESS database. Care is taken in design and development to provide a graphical representation for easy understanding of the patient's impedance values for audiologist to determine the valid active electrode contacts. The software also provides a simple and easy interface to audiologist to determine the TCL and MCL values by moving the dynamic range bars to desired location. There is no need to enter every time for the TCL or MCL values to be determined for every patient based on active electrode contacts. The CPS can be developed by using open source tools such as Java, MySql. However the software developer needs to analyze the tradeoff between.Net platform and Java platforms.

CONCLUSION
The impedance telemetry hardware interface had been developed using DS89420 microcontroller with LCD display, key pad interface and two serial I/O interfaces. The embedded program had been designed and developed for interfacing between personnel computer and IRS. The Clinical application software using VB.net 2008 had been developed for AP used in postoperative fitting procedure used by the audiologists. All the functional aspects of AP are tested using laboratory model IRS. The software is readily available for use after the laboratory model BWSP and IRS are available as final product.

ACKNOWLEDGMENT
The researchers wish to thank Dr. V. Bhujanga Rao, Director, NSTL, Visakhapatnm who provided suitable hardware and software tools for successful completion of this laboratory module. This research is supported by defense R and D organization-NSTL-Visakhapatnam, INDIA under the contract no. NSTL/WT/IR-CARS dated 3rd June 2008.