Sonova adopted MATLAB and Simulink for Model-Based Design to shorten product development times for its hearing instruments and implants.
Engineers explore new signal processing techniques and feature ideas by modeling them in Simulink. Designs are modeled primarily using addition, multiplication, and other basic operation blocks, but some higher-level functions are modeled using DSP System Toolbox™ and embedded MATLAB Function blocks.
After running preliminary simulations in Simulink, the engineers use Simulink Coder™ to generate C code from the model. They compile and deploy this code to a Speedgoat real-time machine running Simulink Real-Time™.
To conduct real-time tests of the prototype, they connect the Speedgoat system’s I/O interfaces to microphones and speakers in a stereolithography hearing aid shell in the acoustic lab. In addition to subjectively evaluating the audio output, the team captures data for postprocessing and analysis using MATLAB and DSP System Toolbox.
After refining the Simulink model based on the results of the real-time tests, engineers use it as a reference to produce highly optimized C code for Sonova’s DSP architecture, a proprietary solution designed to minimize power consumption.
The team developed a MATLAB user interface that integrates the workflows for modeling in Simulink and producing C code. They use this interface to create and execute test vectors that stimulate the model’s inputs and capture its output.
The same tests are ported to C and used to verify the C implementation.
Tested and verified Simulink component models and their corresponding C code become part of a DSP platform library and are available for reuse in product development.
In product development, multiple DSP platform components are integrated to create a full-featured hearing aid or hearing implant. Engineers generate an interactive web view of the corresponding Simulink models with Simulink Report Generator™ for internal customers in other technical units.
Engineering teams throughout the company use these reusable components to assemble complete hearing instrument signal processing systems. Like the individual C libraries, the complete integrated C code is also tested and verified using the MATLAB user interface.