Использование синтеза высокого уровня для реализации на ПЛИС адаптивных LMS-фильтров, работающих в формате с плавающей запятой | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 59. DOI: 10.17223/19988605/59/12

Использование синтеза высокого уровня для реализации на ПЛИС адаптивных LMS-фильтров, работающих в формате с плавающей запятой

Рассмотрена возможность использования синтеза высокого уровня для реализации на ПЛИС адаптивных фильтров наименьших квадратов (LMS-фильтров), работающих в формате с плавающей запятой. Разработка адаптивных фильтров не автоматизирована в средах проектирования устройств на ПЛИС и является трудоемким и длительным процессом, а синтез высокого уровня позволяет сэкономить время - и за счет описания фильтра на высоком уровне абстракции, и за счет возможности быстрой смены настроек, влияющих на архитектуру фильтра. В статье представлены исходный код, описывающий алгоритм LMS, настройки и результаты синтеза высокого уровня - два варианта описания LMS-фильтра, готовые к реализации на ПЛИС. Показано, что эффективной мерой сокращения времени выполнения LMS-алгоритма является конвейеризация цикла вычислений. Автор заявляет об отсутствии конфликта интересов.

FPGA implementation of floating-point LMS adaptive filters using high-level synthesis.pdf Адаптивные фильтры с алгоритмом наименьших квадратов (LMS) применяются для идентификации систем, эхокомпенсации в телефонных сетях, выравнивания характеристик электрических каналов связи, адаптивного формирования диаграмм направленности в антенных решетках, подавления шумов, отслеживания объектов и др. Алгоритм LMS надежен, сравнительно прост в технической реализации и имеет большое количество модификаций, учитывающих специфику решаемых задач [1-4]. Для эффективной работы LMS-фильтра предпочтителен формат с плавающей запятой из-за более высокой скорости сходимости и значительно меньшей мощности остаточного сигнала ошибки [5, 6]. Для аппаратной реализации адаптивных фильтров, работающих в формате с плавающей запятой, в целом более приспособлены сигнальные процессоры. ПЛИС представляют интерес, когда сигнальные процессоры не могут обеспечить достаточную производительность. Высокая производительность требуется, например, в устройствах отслеживания источника звука в условиях реверберации [7-10], слепой идентификации каналов [11], улучшения качества звукозаписи и звуковоспроизведения [12], где адаптивные фильтры должны быть многоканальными. Возможности современных ПЛИС (FPGA) позволяют использовать их для решения широкого круга задач: цифровой обработки сигналов [6, 13-18], высокопроизводительных вычислений [19, 20], машинного обучения и реализации нейронных сетей [21] и др. Тем не менее выбор ПЛИС для реализации LMS-фильтра, работающего в формате с плавающей запятой, сопряжен с рядом проблем. Так, встроенными аппаратными блоками для вычислений в формате с плавающей запятой располагают очень немногие ПЛИС. В остальных случаях арифметические устройства нужно собирать из блоков цифровой обработки сигналов, ориентированных на формат с фиксированной запятой, и (или) программируемой логики общего назначения. При этом разработка адаптивных фильтров в средах проектирования устройств на ПЛИС не автоматизирована, т. е. не предусмотрены соответствующие модули интеллектуальной собственности (IP-модули), графический пользовательский интерфейс и т.п. В литературе в основном описаны варианты реализации на ПЛИС LMS-фильтров, работающих в формате с фиксированной запятой (см. напр.: [6, 13-17]). Описания LMS-фильтров в этих работах выполнены на языке VHDL или Verilog - как вручную [17], так и автоматически, при использовании IP-модулей сумматоров и умножителей [6, 13] или инструмента System Generator, встраиваемого в MATLAB [14-16]. Реализация LMS-фильтров, выполняющих вычисления над числами в формате 109 Информатика и программирование / Informatics and programming с плавающей запятой, описывается в литературе реже. В [6] сравниваются результаты реализации 32-разрядного LMS-фильтра в форматах с фиксированной и плавающей запятой. Для описания фильтра, работающего в формате с фиксированной запятой, в [6] использован VHDL-пакет fixed-point package; для реализации фильтра, работающего в формате с плавающей запятой, - IP-модули сумматора и умножителя. В [18] описан на языке Verilog и реализован на ПЛИС вычислительный модуль, работающий в формате с плавающей запятой и включающий в себя LMS-фильтр. В настоящей работе рассмотрена возможность использования синтеза высокого уровня для реализации на ПЛИС LMS-фильтров, работающих в формате с плавающей запятой. Суть синтеза высокого уровня (High-Level Synthesis; HLS) заключается в преобразовании исходного кода, написанного на языке программирования (например, С или C++), в описание устройства на уровне регистровых передач, т.е. на языке VHDL или Verilog. На языке программирования описывается только алгоритм, без уточнения деталей его реализации. Один и тот же исходный код можно реализовать с различным набором настроек и директив и получить различные результаты, называемые решениями HLS-проекта [22]. То есть можно в короткий срок получить описания устройств, работающих по одному и тому же алгоритму, но имеющих различную архитектуру, производительность и т.д. Для встраивания того или иного решения в проект, реализуемый на ПЛИС, требуется преобразовать это решение в IP-модуль. В данной работе из исходного кода на языке C++ получены и проанализированы два решения LMS-фильтра: с последовательным выполнением всех операций, предусмотренных алгоритмом LMS, и с конвейеризацией цикла операций, содержащегося в алгоритме LMS. В цикле выполняется основная часть операций алгоритма LMS, поэтому конвейеризация позволила существенно сократить время его выполнения (латентность). В рамках каждого решения получены результаты синтеза описаний фильтров с порядком от 32 до 512 при заданной тактовой частоте 100 МГц. Полученные решения оценены по критериям ресурсоемкости, латентности и распределения операций алгоритма во времени. Для синтеза высокого уровня использован синтезатор Vivado HLS 2018.3 от фирмы Xilinx [22]. Полученные IP-модули LMS-фильтра предназначены для ПЛИС XC7A200tfbg-1 от Xilinx. 1. LMS-фильтр и описание его работы на языке C++ 1.1. LMS-фильтр На каждом шаге дискретизации LMS-фильтр принимает по одному отсчету входного сигнала -x[n], и требуемого сигнала - d[n], и формирует отсчеты выходного сигнала и сигнала ошибки -y[n] и e[n] соответственно [1]. Рис. 1. Структурная схема LMS-фильтра Fig. 1. LMS filter block diagram Как показано на рис. 1, LMS-фильтр содержит КИХ-фильтр с коэффициентами W[n], обрабатывающий отсчеты входного сигнала согласно формуле (1), и блок адаптации LMS, где происходит перерасчет коэффициентов КИХ-фильтра по формуле (2): N-1 y[n] = 2 w[i] ■ x[n - І] , (1) i=0 W[n +1] = W[n] + ye[n]X[n]. (2) 110 Ушенина И.В. Использование синтеза высокого уровня для реализации на ПЛИС адаптивных LMS-фильтров В (1) n - номер шага дискретизации, N - порядок фильтра, w[/'] - коэффициенты фильтра, образующие вектор W[n], x[n - і] - отсчеты входного сигнала, образующие вектор X[n]. В (2) W[n+1] и W[n] -векторы коэффициентов фильтра, действующие на [п+1]-м и n-м шагах дискретизации, e[n] - сигнал ошибки, т.е. разность d[n] и y[n], X[n] - вектор отсчетов входного сигнала, ц - параметр, определяющий скорость сходимости алгоритма и выбираемый с учетом максимального собственного значения корреляционной матрицы входного сигнала ^max (3): 0

Ключевые слова

синтез высокого уровня, ПЛИС, LMS-фильтр, формат с плавающей запятой, директивы синтеза

Авторы

ФИООрганизацияДополнительноE-mail
Ушенина Инна ВладимировнаПензенский государственный технологический университетдоцент, кандидат технических наук, доцент кафедры программированияivl23@yandex.ru
Всего: 1

Ссылки

Уидроу Б., Стирнз С. Адаптивная обработка сигналов : пер. с англ. М. : Радио и связь, 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).
 Использование синтеза высокого уровня для реализации на ПЛИС адаптивных LMS-фильтров, работающих в формате с плавающей запятой | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 59. DOI: 10.17223/19988605/59/12

Использование синтеза высокого уровня для реализации на ПЛИС адаптивных LMS-фильтров, работающих в формате с плавающей запятой | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 59. DOI: 10.17223/19988605/59/12