Topics
features
Publications
Issue Archive
Meeting the Demand for Complex Communications Design
 Created: Thursday, 01 April 2010
Communications engineers today must design to accommodate changing missions, shorter product lifecycles, and increasing computer power. As a result, they create hybrid systems that include RF, highspeed signal processing, lowerspeed signal processing, and controls logic and control systems.
With ModelBased Design, engineers develop an executable model, often referred to as an executable specification, which is independent of the implementation. Within this model, design and system engineers can develop, test, and partition the design prior to implementation and integration. This approach enables them to find errors early in the process, when errors are easier and less expensive to fix.
Often the initial algorithm is developed in floating point using textualbased languages such as MATLAB or C/C++. Example tasks could include designing filter cascades for digital up/down conversion or developing carrier tracking loops. The algorithm engineer focuses on verifying that the signal processing algorithm meets the design objectives, such as fitting the system response within a specified frequency mask or tracking expected Doppler profiles.
After testing the algorithm, the model can be further elaborated with the implementation details, and the system performance can be verified against the design objectives with the additional implementation details. For example, if the target for the algorithm is a fieldprogrammable gate array (FPGA), then fixedpoint details must be added to the model, and system performance must be assessed to confirm that objectives are still met. Also at this stage, the effect of introducing nonideal component performance to the system model can be assessed. For example, RF amplifier behavior can be added to the model using measured Sparameter data. Typically, RF amplifier behavior is modeled and analyzed in the frequency domain, while the communications algorithm is developed in the complextime domain. By combining these models into a common executable modeling environment, systemlevel behavior and performance metrics such as biterror rate (BER) can be determined.
When the algorithm elaboration is complete and the systemlevel performance is verified in the model, testing can be done on the host with different implementation languages to uncover errors introduced in the implementation. For example, if part of the algorithm is partitioned for lowspeed signal processing on a DSP, the implementation of the algorithm will be C/C++. In this case, engineers can use automatic code generation to rapidly create a prototype implementation that can be tested in the modeling environment with the same test vectors used to verify the model performance. Similarly, if the target is a highspeed implementation on an ASIC or FPGA, then automatic code generation can be used to create an HDL implementation that can be tested within Simulink and an EDA simulator, such as ModelSim from Mentor Graphics, Incisive from Cadence, or Discovery from Synopsis.
White Papers

