Adaptive RLS Algorithms Reference Implementations


This application note aims to present set of adaptive recursive least squares system identification algorithms based on the Bayesian extensions of real-time adaptive system identification as well as extending the existing recursive least square adaptive algorithms for estimation of time varying parameters in the applications of acoustic signal processing. The included reference adaptive algorithms are implemented in Matlab 2016b. Algorithms serve as "golden" reference models for the embedded implementations on dedicated processors like Arm Cortex A9 and the FPGA programmable logic accelerators in devices the Xilinx Zynq. Algorithms are numerically robust. Algorithms are implemented in double precision floating point (64bit), single precision floating point (32bit) and in logarithmic arithmetic with precision 32bit and 19bit. All algorithms except for lattice filter are implemented both with exponential forgetting and directional forgetting, which use more complex computation and allows to "forget" previous information only if incoming data are bringing new information with them.

The application note also presents adaptive recursive least squares system identification algorithms taking advantage of dynamic normalization of the core of the algorithm into the guarantied range ˂-1, 1˃ for all variables. These algorithmic cores are suitable for the fixed-point implementation (14bit). Naturally, the fixed-point implementation with representation of all variables as only 14bit fixed-point numbers results in decreasing precision. But it opens possibility of potentially ultralow power implementation of recursive RLS on parallel HW accelerators with custom fixed point arithmetic. This is crucial for implementing in low power embedded systems. As a result then using these algorithms in fixed-point we plan to develop and implement systolic, pipelined SoC IP core in form of HW accelerator in the programmable logic part of the Xilinx Zynq device (28nm) and possibly also in the 16nm Zynq UltraScale+ device.

Evaluation license

The evaluation version of the package can be downloaded from UTIA www pages free of charge.

The evaluation package includes .m scripts with DSP algorithms pre-compiled as .mexw64 files for MATLAB R2016.b (or higher) and two standalone applications for Win7 64bit or Win10 64bit (for users without MATLAB).

Package Summary

Title Adaptive RLS Algorithms Reference Implementations
  • Included DSP algorithms pre-compiled as .mexw64 files have no time restriction.
  • The evaluation package can be downloaded and used free of charge.
  • Source code of these DSP algorithms is not provided in this evaluation package.
Package content ZIP archive with adaptive RLS algorithms reference implementations and istallation packages for use without MATLAB on Win7 (64bit).
Size ZIP file: 5140686 Bytes
PDF file: 4611796 Bytes
Required tools
& platform
Win7 MATLAB R2016.b (or higher) or Win7 64bit without MATLAB
Installation notes See dsp_1_6.pdf

Result Category

Project number Year RIV category Comment
8A17006 2017 R Software

Contact Person

Please, do not hesitate to contact Jiri Kadlec to obtain more information.