FPGA implementation of floating-point LMS adaptive filters using high-level synthesis | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2022. № 59. DOI: 10.17223/19988605/59/12

FPGA implementation of floating-point LMS adaptive filters using high-level synthesis

This paper considers how to use high-level synthesis (HLS) tools for FPGA implementation of floatingpoint least mean square (LMS) adaptive filters. The essence of high-level synthesis is to transform a source code written in a programming language like С or C++ to an RTL code which is later used for creating an IP module. High-level synthesis provides a possibility to concentrate on the algorithm and architecture of a scheme being developed, while FPGA resources and their connectivity are determined automatically. This is especially important when developing adaptive filters on FPGAs because the automated FPGA design of adaptive filters is not supported in IDEs just as it is done for FIR filters. In this paper, the source code of the LMS adaptive algorithm is written in C++ language. In the main function of the source code, input, output, and internal variables are presented as single-precision, floating-point numbers in line with IEEE 754 standard. Samples of the input signal and desired signal are the input variables, while samples of the output signal and error signal are the output variables. During a high-level synthesis procedure, input and output variables of the main function are transformed into input and output ports of the IP module being synthesized. HLS is carried out under the control of synthesis settings and directives formed separately from the source code. A combination of the source code with different synthesis settings and (or) directives leads to different results, each of which is called a project solution. In this paper, the same source code of the LMS adaptive algorithm is used to create two solutions of the LMS adaptive filter under the control of two different sets of synthesis settings and directives. Within each solution, the LMS filters were synthesized of the order ranging from 32 to 512 coefficients. For each set of synthesis settings, the minimum clock frequency was set equal to 100 MHz. The other synthesis settings and directives were left default for the first solution, while for the second one, the loop of operations contained in the source code was pipelined. That is, in the first LMS filter solution, the next loop iteration starts after the previous one has ended. In the second solution, the next iteration starts five cycles after the previous one, whereas in both solutions the whole iteration needs twenty clock cycles. In the LMS algorithm, the loop contains the major part of calculations, including filter coefficients updating and convolution between the input signal and the current impulse response of the filter. Therefore, pipelining of the loop has enabled the latency of the LMS algorithm to be significantly reduced, namely by more than 70%. It has been shown that for both solutions, operations are scheduled into clock cycles similarly, and the basic operations such as multiplication, addition, and RAM reading and writing are performed in the same number of cycles. The order of operations is, in general, the same for both solutions. Besides timing characteristics, resource utilization has been assessed for both solutions. It has been shown that the loop pipelining affects the resource utilization insignificantly: the FF and LUT utilization increases by not more than 31% and 10%, respectively. The increased utilization of FFs and LUTs in the second solution is caused by the more complicated control logic and by the storage of more intermediate results of calculations. The utilization of DSP blocks and block RAMs is the same for both solutions. It has also been shown that when increasing the filter order, the utilization of memory grows up in proportion to it, but the utilization of DSP blocks remains unchanged, and the utilization of FFs and LUTs increases very little. High-level synthesis was carried out in Vivado HLS 2018.3. The LMS filter IP modules are intended to be implemented on Xilinx XC7A200tfbg-1 FPGA. The author declares no conflicts of interests.

Download file
Counter downloads: 26

Keywords

high-level synthesis, FPGA, LMS filter, floating point format, synthesis directives

Authors

NameOrganizationE-mail
Ushenina Inna V.Penza State Technological Universityivl23@yandex.ru
Всего: 1

References

Уидроу Б., Стирнз С. Адаптивная обработка сигналов : пер. с англ. М. : Радио и связь, 1989. 440 с.
Farhang-Boroujeny B. Adaptive Filters: Theory and Applications. New York : John Wiley & Sons, 2013. 802 p.
Elliott S. Signal Processing for Active Control. London : Academic Press, 2001. 517 p.
Glentis G.O., Berberidis K., Theodoridis S. Efficient least squares adaptive algorithms for FIR transversal filtering // IEEE Signal Processing Magazine. 1999. V. 16 (4). P. 13-41.
Caraiscos C., Liu B. A roundoff error analysis of the LMS adaptive algorithm // IEEE Transactions on Acoustics, Speech, and Signal Processing. 1984. V. 32 (1). P. 34-41.
Shashikala P., Renjith Kumar T.G., Subramani H. An FPGA implementation of the LMS adaptive filter for active vibration control // International Journal of Research in Engineering and Technology. 2013. V. 2 (10). P. 1-10.
Wang L., Zhang Z., Kai A. Hands-free speaker identification based on spectral subtraction using a multi-channel least mean square approach // Acoustics, Speech and Signal Processing : Proc. of the IEEE International Conference. 2013. P. 7224-7228.
Wang L., Kitaoka N., Nakagawa S. Distant-talking speech recognition based on spectral subtraction by multi-channel LMS algo rithm // IEICE Transactions on Information and Systems. 2011. V. 94 (3). P. 659-667.
Antonacci F., Lonoce D., Motta M., Sarti A., Tubaro S. Efficient source localization and tracking in reverberant environments using microphone arrays // Acoustics, Speech, and Signal Processing : Proc. of the IEEE International Conference. 2005. V. 4. P. iv/1061-iv/1064.
Benesty J., Huang Y. Adaptive Signal Processing: Applications to Real-World Problems. Springer Science & Business Media, 2013. 365 p.
Huang Y.A., Benesty J. Adaptive multi-channel least mean square and Newton algorithms for blind channel identification // Signal Processing. 2002. V. 82 (8). P. 1127-1138.
Nelson P.A., Orduna-Bustamante F., Hamada H. Multi-channel signal processing techniques in the reproduction of sound // Journal of the Audio Engineering Society. 1992. V. 44 (11). P. 973-989.
Yaqin W., Xuebin L., Bingliang H. Implementation of a LMS filter on FPGA employing extremeDSP and smart IP-core design // Electronic Measurement & Instruments : Proc. of the 10th International Conference. 2011. P. 341-345.
Bahoura M., Ezzaidi H. FPGA-implementation of parallel and sequential architectures for adaptive noise cancelation // Circuits, Systems, and Signal Processing. 2011. V. 30 (6). P. 1521-1548.
Liu Y., Ge S., Xing J., Cui Z., Meng J. FPGA implementation of high-throughput, low-latency complex LMS algorithm // Signal, Information and Data Processing : Proc. of the IEEE International Conference. 2019. P. 1-4.
Liwei C., Zhiliang T., Lidong C. LMS algorithm fixed-point modeling designated based on System Generator modules // Environmental Electromagnetics : Proc. of the 7th Asia-Pacific Conference. 2015. P. 152-156.
Ушенина И.В. Реализация алгоритмов цифровой адаптивной фильтрации на ПЛИС // XXI век: итоги прошлого и проблемы настоящего плюс. 2012. № 5 (09). С. 134-138.
Vasudeva B., Deora P., Pradhan P.M., Dasgupta S. Efficient implementation of LMS adaptive filter-based FECG extraction on an FPGA // Healthcare Technology Letters. 2020. V. 7 (5). P. 125-131.
Martyshkin A.I., Salnikov I.I. Hardware memory buffer module for multiprocessor system // Ad Alta: Journal of Interdisciplinary Research. 2018. V. 8 (1). P. 304-308.
Martyshkin A.I., Salnikov I.I., Pashchenko D.V., Trokoz D.A. Associative co-processor on the basis of programmable logical integrated circuits for special purpose computer systems // Proc. of the 2018 Global Smart Industry Conference. 2018. P. 1-5.
Mittal S. A survey of FPGA-based accelerators for convolutional neural networks // Neural computing and applications. 2020. V. 32 (4). P. 1109-1139.
Vivado Design Suite User Guide. High-Level Synthesis. URL: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug902-vivado-high-level-synthesis.pdf (accessed: 20.12.2021).
 FPGA implementation of floating-point LMS adaptive filters using high-level synthesis | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2022. № 59. DOI: 10.17223/19988605/59/12

FPGA implementation of floating-point LMS adaptive filters using high-level synthesis | Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika – Tomsk State University Journal of Control and Computer Science. 2022. № 59. DOI: 10.17223/19988605/59/12

Download full-text version
Counter downloads: 182