Casos prácticos

Korea Aerospace Industries Develops Helicopter Active Vibration Control System Software to DO-178C Standards


Develop and verify active vibration control system software for helicopters


Use Model-Based Design to model, simulate, and verify the control software in accordance with DO-178C


  • Development time halved
  • Design iterations minimized
  • DO-178C development simplified

“For our team, it is easier to develop control software using Model-Based Design than to code directly in C. Model-Based Design eliminates the overhead and errors that are common when control engineers create an algorithm and specification to be implemented by software engineers—a vital consideration when the project must meet DO-178C or DAL-C standards.”

Dong-il Kwak, Korea Aerospace Industries

The KAI active vibration control system.

When a helicopter is in flight, the rotor blades generate vibrations that travel down the aircraft’s vertical mast and into the fuselage. Left unchecked, these vibrations can shorten the operational life span of electromechanical and structural components and compromise onboard avionics systems. Passive vibration control systems absorb some of the vibration, but they cannot easily adjust to changes in rotor RPM or flight speed.

Development engineers at Korea Aerospace Industries (KAI) and Korea Aerospace Research Institute (KARI) have designed an active vibration control system (AVCS) that dynamically reduces vibrations generated by the main rotor over a range of operating conditions. A core technology of Korea’s LCH/LAH development program, the AVCS DAL-C software was developed in accordance with DO-178C using Model-Based Design with MATLAB® and Simulink®.

“We developed a dynamic model of the AVCS algorithms using Model-Based Design and following DO-178C and DO-331 standards,” says Dong-il Kwak, AVCS development program manager at KAI. “This approach enabled us to reduce design iterations, generate highly reliable C code, and then verify the code using software-in-the-loop and processor-in-the-loop testing.”


Because the AVCS project represents just one component of the much larger LCH/LAH program directed by the South Korean government, the KAI team had to adhere to that program’s strict delivery schedule.

The team’s five control engineers had relatively little experience with programming embedded software, and this would be the team’s first DO-178C project.

KAI wanted to speed development by verifying algorithms as early as possible through modeling and simulation, and to minimize the errors that could be introduced by hand coding.


KAI/KARI engineers developed and verified the AVCS software using Model-Based Design with MATLAB, Simulink, and Embedded Coder®.

The main inputs to the AVCS come from the aircraft’s onboard accelerometer and tachometer. Working in Simulink, the team developed models to process the real-time signals generated by these sensors.

The team created a Simulink model of the system’s main control algorithm, which generates commands to a circular force generator connected to the fuselage. The algorithm uses tachometer and accelerometer measurements together with a system identification model to calculate force commands that reduce vibration on the airframe.

The runtime system identification algorithm, which captures the system’s dynamic characteristics in flight as a transfer function between force and acceleration, was created with Simulink and Stateflow® using a set of force commands and measured response data.

The team used Simulink Check™ to check for compliance with KAI and DO-178C modeling standards and Simulink Requirements™ to establish traceability between model components and requirements managed in IBM® Rational® DOORS®. They used Simulink Coverage™ to measure model coverage as they simulated the design.

Using Embedded Coder, the engineers generated about 7000 lines of C code from their control model. To verify this code, the team ran software-in-the-loop (SIL) tests in Simulink using the same test cases that they had used in simulations. Next, they ran processor-in-the-loop (PIL) tests on an evaluation board equipped with the same processor as their target hardware, a TI F28335 DSP.

The engineering team has completed development and verification of the AVCS control algorithms, and they are integrating the generated code with other components of the production software in preparation for hardware and software configuration, flight tests, and testing for Korea Institute of Aviation Safety Technology certification.


  • Development time halved. “Without Model-Based Design, it would have taken more than double the time to complete the project,” says Kwak. “Model-Based Design enabled us to cooperate as a team more efficiently and to reduce human error by generating code from our models.”
  • Design iterations minimized. “By creating models and running realistic simulations in Simulink, we reduced iterations and rapidly converged on the least complex design that satisfied our requirements,” Kwak says.
  • DO-178C development simplified. “Simulink made it possible to automate several key development tasks on our first DO-178C development project, including running test cases, generating code, and identifying changes to be merged,” says Kwak. “We expect certification to go smoothly because with Model-Based Design, both our process and our design are easy to visualize.”