Harris uses Agility RMS to Accelerate MATLAB Simulations

Agility RMS Enabled Early Customer Demonstration

From its inception in 1895, Harris Corporation (which was then known as The Harris Automatic Press Company) has been at the forefront of the communications industry.

Formed by brothers Alfred and Charles Harris, the company's first product was a revolutionary printing press with an automatic sheet-feeder mechanism that delivered ten times the throughput an expert pressman could achieve by hand. In fact, the press was so much faster than anything else available at the time that the brothers had to significantly understate its capabilities in order to get potential customers to believe them!

Since that time, Harris has become one of the world's leaders in communications technology, including radio and microwave systems for commercial, aerospace, and military applications.

The Challenge

With 6,500 engineers located in facilities around the world, the mission of the Government Communications Systems Division is to design, create, and deploy state-of-the-art communication, command, control, computer, and intelligence systems; custom aircraft and space-borne communication systems; and data processing systems that collect, process, display, and distribute information.

Many organizations contribute to the success of this division, such as the Analysis Group within the Signal Processing Center of Excellence (COE). In November 2006, the Manager of the Analysis Group, Tim Dyson, became aware that his team was facing a major problem.

“In September 2006, our group was tasked with evaluating a suite of extremely complex experimental algorithms intended to be used in a next-generation communications satellite intended for military applications,” says Tim. “Our original approach was to hand-code the algorithms in M-Code and to then simulate these algorithms using MATLAB® from The MathWorks. The 17,500 lines of M-Code were created using our internally-generated fixed-point library with every facet of the algorithms being represented and enumerated into the ground. This approach makes it easier to subsequently translate the algorithms into equivalent VHDL RTL, but it does mean that the original model was running 50,000 to 60,000 times slower than real time. This wasn't considered to be a problem until we discovered that we would have to perform a live customer demonstration in early 2007. This meant that we needed some way to dramatically accelerate the simulation …”

The Solution

Requiring approximately 17,500 lines of MATLAB script, the modem model has four main sections: uplink modulator, uplink demodulator, downlink modulator, and downlink demodulator. Verifying the system required passing the equivalent of about 32 Mbps on the multi-user FDMA/TDMA channel uplink and 138 Mbps on the downlink. The first part of the solution was to invest in a high-end 64-bit AMD Opteron quad-core computer with 64 gigabytes of memory to run the simulation. In this case, the fact that the communications system featured four distinct modules meant that each module could be simulated on its own processor.

The new computer did speed the simulation by a factor of around 4X, but this still fell far short of what was required. Thus, the key requirement was to accelerate the MATLAB simulations running on this high-end computer. MATLAB is, of course, the de facto industry standard for modeling digital signal processing (DSP)-type algorithms. It allows complex systems to be represented in an extremely concise manner and it boasts incredibly sophisticated visualization and analysis facilities. This ruled out a number of possibilities – such as using C/C++ representations to create and evaluate the algorithms – because this would mean that the engineers would no longer have access to MATLAB's visualization and analysis tools.

Agility RMS (where RMS stands for “Rapid MATLAB Simulator”) was used to provide the additional performance required for the live customer demonstration. RMS allowed Harris to approach the acceleration task methodically using the MATLAB Profiler to identify the slowest portions of each module and accelerating each incrementally until reaching the point of diminishing returns.

With Agility RMS, Harris achieved the following average speed-ups on the AMD Opteron processor:

Upload modulator: 9.5x
Upload demodulator: 43.2x
Download modulator: 31.0x
Download demodulator: 115x

"Agility RMS was just what we were looking for," says Tim, "it allowed us to dramatically accelerate our existing MATLAB models while still allowing us to use MATLAB's powerful visualization and analysis facilities. Using Agility RMS, we were able to present a very acceptable demonstration that achieved a speed ratio to real-time of about 600-to-700 to 1, which was much better than our original 50,000-to-60,000 to 1."

The End Result

In March 2007, Tim's team was able to successfully give live demonstrations of the effectiveness of the new communications system to their customer. In addition to speeding the simulation sufficiently to make for an interesting demonstration, Tim's team also enjoy the benefits of faster simulation run-times in general. This allows them to perform more evaluations in a shorter amount of time and to quickly evaluate the effects of any changes to the system models.

"The results from our use of Agility RMS were so overwhelmingly positive that this tool is now part of our standard process," says Tim. "In fact, Agility is now available to every designer creating behavioral models for the Government Communications Systems Division. Furthermore, we have been so successful that the Digital Discipline team – which is responsible for sharing new technologies across all of the divisions in Harris – is evaluating Agility RMS as we speak!"