Realizing computational algorithms on integer microprocessor systems using MATLAB Simulink
Instrument Design Bureau named after academician A.G. Shipunov, 59, Shcheglovskaya Zaseka str., Tula, 300001, Russia
The purpose of this work consists in code creation for on-board digital signal processor of a medium-range guided missile. The program code must realize the specified missile guidance algorithm. Microprocessor has a limited set of debugging tools (system «input—output») and insufficient computing power for floating point data processing.
The offered technique implies the sequential transformation and debugging of the guidance algorithm in MATLAB-Simulink using «physical», «discrete» and «integer» models.
We use «Physical» model to receive control algorithm internal data in accordance with sampled test data.
Creation of «discrete» and «integer» models is carried out with allowance for specifics of the microprocessor computing environment. The «discrete» model helps to select formulas of numerical integration techniques for dynamic units implementation. Formula selection criterion is defined as the relation between its precision and execution speed, estimated by the tests of a microprocessor basic operations.
All variables and constants of guidance algorithm in «integer» model are represented as fixed-point data with limited bit length. To maintain correctness and precision of mathematical operations, normalizing binary shifts should be added to the model. These shifts operations exclude underflow and data bit grid overflow. Various methods of solution are applied to impart desired properties to integer dynamic units. They include adding of correction coefficients, the structural transformations of blocks, data allocation in multiple variables, reset of schemes and varying frequency of block solutions.
Tables with program-extensible domain in binary notation are used for calculating mathematical functions with finite range (sine-cosine). CORDIC‑algorithm is applied for calculation of the functions realizing rotation of a coordinate system.
The «integer» model is converted into C-code automatically or manually after confirming its accuracy.
The results, value and practical application
The proposed technique allows adapting computational algorithms for integer microprocessor systems in the absence of their standard debugger. The final «integer» model is optimized by precision and speed of data processing. Debugging and customization of program code are performed in a short time inside the language of technical computing MATLAB-Simulink without a microprocessor’s debugging tools. This technique is used in several products of JSC «KBP»; its effectiveness is confirmed by full-scale tests of guided missiles.
Keywords:guidance algorithm, digital signal processor, MATLAB, modeling with Simulink, discretization, fixed point data, methods of discrete-time integration, data scaling, CORDIC algorithm.
- Korn G.A., Korn T.M. Spravochnik po matematike (Mathematical handbook), Moscow, Nauka, 1974, 832 p.
- Besekerskii V.A., Popov E.P. Teoriya sistem avtomaticheskogo regulirovaniya (The theory of automatic control systems), Moscow, Nauka, 1972, 768 p.
- Solonina A.I., Ulakhovich D.A., Yakovlev L.A. Algoritmy i protsessory tsifrovoi obrabotki signalov (Algorithms and processors for digital signal processing), St. Petersburg, BHV-Peterburg, 2002, 464 p.
- Baikov V.D., Smolov V.B. Apparaturnaya realizatsiya elementarnykh funktsii v TsVM (Hardware implementation of elementary functions in computers), Leningrad, Izdatel’stvo LGU, 1975, 96 p.