Вопросы реализации алгоритмов цифровой обработки сигналов на программируемой логике с использованием модулярной арифметики

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 621.391.037.37:621.372 ББК З811.3

Н А. ГАЛАНИНА, Д.Д. ДМИТРИЕВ, Н.Н. ИВАНОВА

ВОПРОСЫ РЕАЛИЗАЦИИ АЛГОРИТМОВ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ НА ПРОГРАММИРУЕМОЙ ЛОГИКЕ С ИСПОЛЬЗОВАНИЕМ МОДУЛЯРНОЙ АРИФМЕТИКИ

Ключевые слова: модулярная арифметика, система остаточных классов, программируемая логика, цифровая обработка сигналов, программируемые логические интегральные схемы (ПЛИС).

Проведён аналитический обзор работ, содержащих практический опыт использования модулярной арифметики в проектах по цифровой обработке сигналов на программируемой логике. Представлены результаты реализаций, дано описание преимуществ использования модулярной арифметики в подобных проектах. Показано, что задача синтеза алгоритмов на языке Verilog для ПЛИС с использованием модулярной арифметики является перспективной как в теоретическом, так и практическом аспекте.

N. GALANINA, D. DMITRIEV, N. IVANOVA TO ISSUES OF IMPLEMENTING DIGITAL SIGNAL PROCESSING ALGORITHMS ON PROGRAMMABLE LOGIC USING MODULAR ARITHMETIC

Key words: modular arithmetic, residue number system, programmable logic, digital signal processing, field-programmable gate array (FPGA).

The authors made an analytical review of the papers dealing with practical use of modular arithmetic in projects for digital signal processing in programmable logic. The paper presents the results of such implementation and describes the advantages of using modular arithmetic in such projects. It shows that the problem of synthesizing algorithms in Verilog language for FPGA by use of modular arithmetic has a high theoretical and practical significance.

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

Несмотря на доступность процессоров для встраиваемых систем, содержащих несколько ядер и имеющих тактовые частоты в пределах 1-2 ГГц, их производительность может быть недостаточна для работы в системах, где требуется обработка больших объёмов данных с высокой разрядностью (большим динамическим диапазоном), например в системах распознавания образов, гидро- и радиолокации, задачах обнаружения сигнала и др.

Наличие у современных ПЛИС DSP-блоков и большого количества портов ввода/вывода позволяет с успехом синтезировать на них алгоритмы цифровой обработки сигналов. В то же время модулярная арифметика, или система остаточных классов (СОК), подразумевает многопоточность вычисле-

ний и, таким образом, ПЛИС очень хорошо подходят для реализации алгоритмов с её использованием, поскольку вычисления в каналах СОК происходят параллельно и независимо друг от друга. Известно, что ПЛИС - это микросхема, логика работы которой определяется не при её создании, а задаётся посредством программирования в специализированных программных пакетах. Одной из таких сред является Quartus II.

Большой интерес для разработчиков спецпроцессоров ЦОС представляет реализация БПФ с использованием СОК на ПЛИС Altera Cyclone V. Современные ПЛИС Altera Cyclone V позволяют добиться производительности блоков БПФ по частоте до приблизительно 170-180 МГц даже без использования СОК [10].

СОК обладает важными преимуществами для реализации алгоритмов ЦОС по сравнению с их реализацией в позиционной системе счисления (ПСС). Так, в ней отсутствуют переносы между разрядами числа, что, как известно, является одним из значительных ограничений производительности при выполнении операций умножения и сложения. Ещё одно важное преимущество СОК перед ПСС - это то, что ошибка, возникшая в вычислениях одного из каналов СОК, не приводит к искажению информации в других каналах, поскольку все вычисления между каналами производятся независимо друг от друга. Таким образом, даже ошибки, возникшие в результате аппаратных сбоев или помех при передаче данных, впоследствии можно будет обнаружить и исправить, что делает применение СОК в ответственных системах оптимальным.

Тем не менее некоторые вычисления в СОК выполнять очень сложно. К таким операциям относятся, например, возведение в степень, вычисление квадратного корня, деление и сравнение чисел. Это затрудняет использование СОК в реализации алгоритмов, использующих данные операции. Но для встраиваемых приложений, где требуется высокая производительность в сочетании с низким энергопотреблением, например в задачах спектрального анализа, использование СОК позволяет добиться впечатляющих результатов. К тому же в настоящее время проблемы со сложностью выполнения приведённых выше операций успешно решаются табличными либо алгоритмическими способами. Некоторые из способов сравнения, деления и выполнения других операций приведены в работе [11].

Например, в работе [8] проведён анализ разработанного цифрового сигнального процессора (ЦСП) с использованием СОК на ПЛИС по энергопотреблению. Полученные результаты позволили авторам утверждать, что, во-первых, применение СОК позволяет снизить потребляемую мощность при реализации алгоритмов как на ПЛИС, так и на интегральных схемах специального назначения ASIC и, во-вторых, реализация на ПЛИС позволяет использовать описанные выше преимущества СОК в полной мере. Использование СОК в разработке ЦСП позволяет добиться большей простоты, более высокого уровня параллелизма, отсутствия переносов между каналами модулей и, соответственно, более высокой скорости вычислений, что подтверждается работой [6]. С другой стороны, применение СОК менее привычно, более трудоёмко и требует использования дополнительных блоков преобразования. В работе [9] приводятся результаты использования СОК в проекте по разработке ЦСП, преимущества применения которой показаны в табл. 1.

Таблица 1

Характеристики ЦСП при синтезе в различных системах счисления

Характеристики ЦСП СОК Смешанная с/с Двоичная

Частота, МГц 257 256 224

Площадь, мм2 1,52 1,65 2,18

Мощность на 100 МГц, мВт 285,5 315,8 363,7

Изменение частоты по сравнению с двоичной системой счисления +15% +14% 0%

Изменение площади по сравнению с двоичной системой счисления -30% -25% 0%

Изменение мощности по сравнению с двоичной системой счисления -22% -13% 0%

Возможность использования более высокой тактовой частоты при применении СОК (табл. 1) появляется за счёт меньшей разрядности чисел в модулярных вычислениях по сравнению с традиционной двоичной системой счисления. Использование СОК даёт также значительное преимущество в площади, занимаемой логическими элементами на кристалле, и в потребляемой мощности на 100 МГц.

Одним из важнейших алгоритмов ЦОС является алгоритм быстрого преобразования Фурье (БПФ). Данное преобразование имеет очень широкий диапазон применения - в непосредственно спектральном анализе для детектирования сигналов в полосе частот, фильтрации сигналов, в алгоритмах сжатия информации, задачах астрофизики. Многие производители ПЛИС включают блоки БПФ в свои среды разработки. Так, фирма Altera имеет конфигурируемый блок Altera FFT IP, предоставляющий множество эффективных реализаций алгоритма для различных разрядностей входных данных и разной длины преобразования. Но, даже имея возможность использования таких блоков, разработчики ищут пути увеличения производительности, как в работе [10], где показано, как можно, используя свойства БПФ, либо уменьшить число используемых логических ресурсов ПЛИС при сохранении количества тактовых импульсов, необходимых для расчёта одного преобразования, либо уменьшить количество необходимых тактовых импульсов в ущерб использованию ресурсов.

В работах [2-5] рассмотрен процесс разработки алгоритма БПФ на ПЛИС с использованием системы остаточных классов, а также проанализирована эффективность проведенного синтеза. Разработан конфигурационный файл для реализации ДПФ в СОК на ПЛИС Altera Cyclone II в среде Altera Quartus II. Для задания модулей проекта в IDE Quartus использовались различные способы: некоторые модули в проекте написаны на языке описания аппаратуры Verilog, а другая часть модулей реализована в виде принципиальной схемы в блочном редакторе Quartus II.

Работая на частоте 55 МГц на ПЛИС Altera Cyclone II, предложенный алгоритм выполняет вычисления по производительности на уровне, соизмеримом с DSP Analog Devices TigerSHARC(рис. 1).

Общий вид проекта, реализующего БПФ на ПЛИС с использованием модулярной арифметики, показан на рис. 2, 3.

250

с 200

к

^ 150

к

? 100

е

а со 50

0

гг*

256 точек

^егБИЛ^ Л05Р-Т51015, БПФ в ПСС с пров. переп-я

^егБИЛ^ Л05Р-Т51015, БПФ в СОК

512 точек 1024 точки

Количество точек БПФ

Рис. 1. Сравнение различных реализаций БПФ

Рис. 2. Вид канала СОК для реализации БПФ на ПЛИС в СОК

Рис. 3. Общий вид проекта для реализации БПФ на ПЛИС в СОК

Оценка работы осуществлялась по результатам моделирования непосредственно в системе Altera Quartus II. Была проведена оценка временных затрат аппаратурного выполнения преобразования Фурье (ПФ) в ПСС и СОК, по результатам которой построена диаграмма сравнения продолжительности выполнения N-точечного БПФ для ПЛИС и DSP.

В табл. 2 приведены результаты сравнительного анализа временных затрат при реализации БПФ (время БПФ в ПСС принято за 100%).

Таблица 2

Результаты сравнительного анализа временных затрат при реализации БПФ

Размер БПФ Процессор TigerSHARC ADSP-TS101, БПФ в ПСС с проверкой переполнения Процессор TigerSHARC ADSP-TS101, БПФ в СОК ПЛИС Altera Cyclone П, БПФ в СОК

256-точечное БПФ 100% 93% 77%

512-точечное БПФ 100% 92% 85%

1024-точечное БПФ 100% 91% 95%

Таким образом, задача синтеза алгоритмов на языке Verilog для ПЛИС с требуемой разрядностью входных/выходных данных, заданной погрешностью вычислений и другими параметрами с использованием модулярной арифметики является перспективной и имеет высокую практическую значимость.

Литература

1. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М.: Сов. радио, 1968. 440 с.

2. Галанина Н.А., Дмитриев Д.Д. Синтез БПФ на ПЛИС с применением системы остаточных классов // Программные системы и вычислительные методы. 2013. № 1(2). С. 129-133.

3. Галанина Н.А., Дмитриев Д.Д. Разработка устройства на ПЛИС для спектрального анализа цифровых сигналов в системе остаточных классов // Параллельная компьютерная алгебра и её приложения в новых инфокоммуникационных системах: материалы I Междунар. науч. конф / Северо-Кавказский фед. ун-т; Институт математики и естественных наук. Ставрополь, 2014. С. 338-342.

4. Галанина Н.А., Иванова Н.Н. Анализ эффективности синтеза устройств вычислительной техники для непозиционной цифровой обработки сигналов // Кибернетика и программирование. 2015. № 3. С. 1-6.

5. Галанина Н.А., Дмитриев Д.Д. Разработка конфигурационного файла для реализации дискретного преобразования Фурье в системе остаточных классов на ПЛИС // Вестник Чувашского университета. 2011. № 3. С. 119-124.

6. Галанина Н.А. Синтез функциональных модулей БПФ в СОК // Вестник Чувашского университета. 2005. № 2. С. 124-127.

7. Галанина Н.А. Сравнительный анализ энергетических характеристик позиционных и непозиционных фильтров // Вестник Чувашского университета. 2006. № 2. С. 335-340.

8. Cardarilli G.C., Nannarelli A., Re M. Residue Number System for Low-Power DSP Applications. Proc. of 41st Asilomar Conference on Signals, Systems, and Computers, 2007. Available at: http://www.imm.dtu.dk/~alna/pubs/asil07b.pdf.

9. Chaves R., Sousa L. RDSP: a RISC DSP based on residue number system. Proc. of the Euromicro Symposium on Digital System Design (DSD'03). Inesc-ID, Lisboa, Lisbon, Portugal, 2003. DOI: 10.1109/DSD.2003.1231911.

10. Leclere J., Botteron C., Farine P.-A. Implementing super-efficient FFTs in Altera FPGAs // EE Times Programmable Logic Designline. February, 2015. Available at: http://infoscien-

ce.epfl.ch/record/204540/files/Implementing%20super-efficient%20FFTs%20in%20Altera%20FP-GAs.pdf?version=1.

11. Omondi A., Premkumar B. Residue Number Systems: Theory and Implementation. Imperial College Press, 2007. 296 p.

References

1. Akushskii I.Ya., Yuditskii D.I. Mashinnaya arifmetika v ostatochnykh klassakh [Machine arithmetic in residual classesl. Moscow, Sovetskoe radio Publ., 1968, 440 p.

2. Galanina N.A., Dmitriev D.D. Sintez BPF na PLIS s primeneniem sistemy ostatochnykh klas-sov [Synthesis of FFT on FPGA using system of residual classes]. Programmnye sistemy i vychisli-tel'nye metody [Software systems and computational methods], 2013, no. 1(2), pp. 129-133.

3. Galanina N.A., Dmitriev D.D., Razrabotka ustroistva na PLIS dlya spektral'nogo analiza tsi-frovykh signalov v sisteme ostatochnykh klassov [Designing devices on FPGA for spectral analysis of digital signals in residue number system]. Parallel''naya komp''yuternaya algebra i ee prilozheniya v novykh infokommunikatsionnykh sistemakh: materialy Imezhdunarodnoi nauchnoi konferentsii [Proc. of 1st Int. Conf. «Parallel computer algebra and its application in new IC systems»]. Stavropol, 2014, pp. 338-342.

4. Galanina N.A., Ivanova N.N., Analiz effektivnosti sinteza ustroistv vychislitel'noi tekhniki dlya nepozitsionnoi tsifrovoi obrabotki signalov [Estimating efficiency of synthesis of computing devices for non-positional digital signal processing]. Kibernetika i programmirovanie [Computer Science and Programming], 2015, no. 3, pp. 1-6.

5. Galanina N.A., Dmitriev D.D., Razrabotka konfiguratsionnogo faila dlya realizatsii diskret-nogo preobrazovaniya Fur'e v sisteme ostatochnykh klassov na PLIS [Designing configuration file for implementing discrete Fourier transform in residue number system]. Vestnik Chuvashskogo universi-teta, 2011, no. 3, pp. 119-124.

6. Galanina N.A. Sintez funktsional'nykh modulei BPF v SOK [Synthesis of FFT functional modules in RNS] Vestnik Chuvashskogo universiteta, 2005, no. 2, pp. 124-127.

7. Galanina N.A. Sravnitel'nyi analiz energeticheskikh kharakteristik pozitsionnykh i nepozit-sionnykh fil'trov [Comparative analysis of power characteristics of positional and non-positional filters]. Vestnik Chuvashskogo universiteta, 2006, no. 2, pp. 335-340.

8. Cardarilli G.C., Nannarelli A., Re M. Residue Number System for Low-Power DSP Applications. Proc. of 41st Asilomar Conference on Signals, Systems, and Computers, 2007. Available at: http://www.imm.dtu.dk/~alna/pubs/asil07b.pdf.

9. Chaves R., Sousa L. RDSP: a RISC DSP based on residue number system. Proc. of the Euromicro Symposium on Digital System Design (DSD'03). Inesc-ID, Lisboa, Lisbon, Portugal, 2003. DOI: 10.1109/DSD.2003.1231911.

10. Leclere J., Botteron C., Farine P.-A. Implementing super-efficient FFTs in Altera FPGAs. EE Times Programmable Logic Designline. February, 2015. Available at: http://infoscien-ce.epfl.ch/record/204540/files/Implementing%20super-efficient%20FFTs%20in%20Altera%20FP-GAs.pdf?version=1

11. Omondi A., Premkumar B. Residue Number Systems: Theory and Implementation. Imperial College Press, 2007. 296 p.

ГАЛАНИНА НАТАЛИЯ АНДРЕЕВНА - доктор технических наук, профессор кафедры математического и аппаратного обеспечения информационных систем, Чувашский государственный университет, Россия, Чебоксары (galaninacheb@mail.ru).

GALANINA NATALIA - Doctor of Technical Sciences, Professor, Information Systems Math and Hardware Department, Chuvash State University, Cheboksary, Russia.

ДМИТРИЕВ ДМИТРИЙ ДМИТРИЕВИЧ. См. с. 25.

ИВАНОВА НАДЕЖДА НИКОЛАЕВНА - кандидат технических наук, доцент кафедры математического и аппаратного обеспечения информационных систем, Чувашский государственный университет, Россия, Чебоксары (naadeezdaa@rambler.ru).

IVANOVA NADEZHDA - Candidate of Technical Sciences, Assistant Professor, Information Systems Math and Hardware Department, Chuvash State University, Cheboksary, Russia.