UTDResearch Interface Introductory Manual MATLABSoftware Routines
UTDResearchInterface%20-%20Introductory%20Manual%20-%20MATLABSoftware%20Routines
User Manual:
Open the PDF directly: View PDF .
Page Count: 7
![](asset-1.png)
Manual
MATLAB-based Software Routines
General Description
CCI-Mobile research platform designed by CI-Lab, CRSS, UT-Dallas is a highly versatile and portable research platform
which allows researchers to design and perform a variety of experiments with cochlear implants manufactured by
Cochlear Corporation with great ease and flexibility. The platform consists of a computing platform
(PC/smartphone/tablet) for implementing and evaluating sound processing algorithms and a custom-developed
interface board to stimulate Cochlear Corporation’s CI24 implants.
In the current setup, the audio signal is acquired from the BTE(s) with the interface board. The acoustic signal is acquired
from the Behind-the-Ear (BTE) microphones and is sampled by an on-board audio codec at 16 kHz. The digitized signal is
sent to the processing unit (MATLAB-based PC) via USB cable in frames of 8ms. The acoustic signal is processed using a
sound processing strategy and stimulus data is computed for each frame in real-time. As a proof-of-concept, Advanced
Combinations Encoder (ACE) strategy is implemented and included in the software routines. The stimulus data is
forwarded back to the interface board for each frame, where it is routed to the Freedom headpiece (RF) coils.
Set up the system by connecting the interface board via a standard USB/micro-USB cable. On first connection, Windows
will automatically download the required drivers. To verify successful installation of the board drivers, go to the ‘Device
Manager’. Under ‘Ports (COM & LPT)’, you would be able to locate two USB Serial Ports. For newer generation of boards,
the correct port number will be the lower of the two numbers. Record the COM-port on which the interface board is
installed and update the number in CommonFunctions/inializeBoard.m
Line 6: boardHandle = class_interface(COM_port,BaudRate);
Example: boardHandle = class_interface(8,5000000);
The above one-step process will ensure plug-and-play capability for all future use on the selected USB port of your
machine. Please note that if lower COM port number does not work, try running the software with the other (higher)
number. For details on the hardware installation instructions, please refer to the hardware installation guide.
MATLAB programs/scripts provided in this software package are targeted to work with UTDallas CCI-Mobile Research
Interface in USB mode. All codes are tested on a Windows-7, 64-bit machine with MATLAB version 2015a.
Directory Structure
Each application is stored in a separate folder and README files are provided in each folder to guide. The directory
structure for MATLAB routines (in the alphabetical order) is as follows:
• AudioFileProcessor: Contains routines for processing and streaming of audio (.wav) files.
• AudioRecorder: Contains AudioRecorder application to record audio stream coming from the BTEs.
• AudioScope: Contains AudioScope application to visualize acoustic waveform in real-time.
• CommonFunctions: Contains set of routines shared across other applications. This folder is added to the current
path by each application.
• Demo: Contains a Demo app that process acoustic signal in real-time via ACE processing. Acoustic signal and
resulting electrode activation profile can be visualized on the GUI.
• MAPs: Contains sample maps. These can be edited according to each subject.
• Realtime: Contains ACE processing routines capable of performing computation in real-time on frame-by-frame
basis.
All above routines assume that hardware drivers are installed and the board is connected with the machine.
![](asset-3.png)
Applications
In the following sections, an overview of each application along with instructions to run are presented.
Realtime:
This application performs real-time ACE processing on the incoming acoustic signal frames. The acoustic signal is
acquired bilaterally (i.e., for both ears) and is passed to ACE_Processing_Realtime.m for subsequent processing.
ACE_Processing_Realtime.m implements the basic ACE program. The application is written in two flavors: 1) GUI
and 2) Script-form.
Start by running RealtimeStimulator.m
You will be prompted to select a MAP file. Sample MAP files are provided in the MAPs folder under CCIMobile/MAPs/
Select a map file for your subject and following GUI will be displayed:
Press the start button to start processing/streaming data. Sliders can be used to change sensitivity levels of microphones,
gain, and volume levels. Press the stop button to finish.
The script version of the application: RealtimeStimulator_Script.m works in the similar way.
![](asset-4.png)
Demo:
The demo application RealtimeStimulator.m is for demonstration purposes only. The acoustic signal is acquired
bilaterally (i.e., for both ears) and is passed to ACE_Processing_Realtime.m for subsequent processing. Incoming
acoustic signal as well as resulting electrode activation profile can be visualized on the GUI as shown below. It is strongly
advised not to use this application for any human testing because graphics may impact the real-time performance.
Start by running RealtimeStimulator.m
You will be prompted to select a MAP file. Sample MAP files are provided in the MAPs folder under CCIMobile/MAPs/
Select a map file for your subject and following GUI will be displayed:
Press the start button to start processing/streaming data. Speak close to the BTE for a visual demonstration of the
incoming acoustic signal and resulting electrode activation profile. Sliders can be used to change sensitivity levels of
microphones, gain, and volume levels. Press the stop button to finish.
![](asset-5.png)
AudioFileProcessor
This application performs ACE processing on the audio wave files with ‘.wav’ format. The audio signal acquired from
mono/stereo file and is passed to ACE_Process.m for processing, which implements the basic ACE program. The
complete signal is processed in one call (unlike real-time processing) and the processed stimuli is streamed to the board
using function call Stream.m which is called inside stimulate.m file.
Start by running AudioFileProcessor.m
You will be prompted to select a MAP file. Sample MAP files are provided in the MAPs folder under CCIMobile/MAPs/
Select a map file for your subject and following GUI will be displayed:
Browse to the directory where the audio files are located. Select an audio file, and press the Stream button to start
processing and streaming data. Sliders can be used to change gain levels. Use small increments when changing gain.
![](asset-6.png)
AudioScope
AudioScope is a simple application to visualize the incoming acoustic signals from the BTEs. It displays the acoustic
waveforms in real-time as they are captured.
Run AudioScope.m, following GUI will appear:
On pressing the start button, acoustic signal waveform will appear. This will run in real-time, similar to an oscilloscope.
Press the stop button to stop the process.
![](asset-7.png)
AudioRecorder
AudioRecorder allows you to record the incoming acoustic signals from the BTEs and store the audio in an audio file.
Run AudioRecorder.m, following GUI will appear:
Press the start button, to record the acoustic signal from the BTEs bilaterally. Press the stop button to stop recording. An
audio file (in .wav format) will be created with name ‘BTEaudio.wav’ in the directory. Press the play button to play the
captured audio from your PC’s speakers.
This application can also be used to check the integrity of the audio signal as well as timing integrity of real-time
processing.