Цифровая обработка сигналов
Высокопроизводительное ядро БПФ
В цифровой обработке сигналов основным инструментом анализа является быстрое преобразование Фурье (БПФ). Алгоритмы БПФ находят применение в спектральном анализе, свертке, при проектировании цифровых корреляторов, при обработке изображений, для шифрования и сжатия данных, в радиолокационных системах и т.д.

Ядро основывается на поточной архитектуре Radix 2^2, подходящей для высокопроизводительных применений и поддерживающей векторный вход. Подобная архитектура позволяет достигать пропускной способности в несколько гигасемплов в секунду (GSPS).

Ядро поддерживает длины БПФ от 2^3 до 2^16 точек, действительные или комплексные данные, выбор реализации комплексного умножителя в железе, нормировку выхода ступеней БПФ, вход и выход в обратном битовом порядке. На основе ядра возможна реализация ОБПФ.
Оптимизированное по площади ядро БПФ
В цифровой обработке сигналов основным инструментом анализа является быстрое преобразование Фурье (БПФ). Алгоритмы БПФ находят применение в спектральном анализе, свертке, при проектировании цифровых корреляторов, при обработке изображений, для шифрования и сжатия данных, в радиолокационных системах и т.д.

Ядро основывается на пакетной архитектуре Radix 2^2, подходящей для ограниченных ресурсов ПЛИС, особенно при большом количестве точек БПФ.

Ядро поддерживает длины БПФ от 2^3 до 2^16 точек, действительные или комплексные данные, выбор реализации комплексного умножителя в железе, нормировку выхода ступеней БПФ, вход и выход в обратном битовом порядке. На основе ядра возможна реализация ОБПФ.
Цифровой синтез частоты (DDS)
Ядро генерирует действительные или комплексные синусоидальные сигналы. Используется фазовый аккумулятор и интерполяционная таблица, содержащая четверть волны. Размер таблицы и квантование настраиваются для оптимизации использования памяти и ресурсов ПЛИС. Возможен векторный выход. Возможно подмешивание dither-шума.

Ядро вычисляет модуль и фазу комплексного числа при помощи оптимизированного и конвейеризованного алгоритма CORDIC. Количество итераций алгоритма CORDIC настраиваемо. Вы можете использовать это ядро для вычисления функции atan2 на ПЛИС.
Модуль и фаза комплексного числа
Ядро вычисляет модуль и фазу комплексного числа при помощи оптимизированного и конвейеризованного алгоритма CORDIC. Количество итераций алгоритма CORDIC настраиваемо. Вы можете использовать это ядро для вычисления функции atan2 на ПЛИС.
Оптимизированный КИХ-фильтр
Фильтр с конечной импульсной характеристикой (КИХ-фильтр) – один из видов линейных цифровых фильтров, импульсная характеристика которого ограничена по времени. Основные преимущества КИХ-фильтров перед БИХ-фильтрами: устойчивость, отсутствие обратной связи, линейность фазы.

Доступны три модификации ядра со скалярным входом:

  1. Прямая систолическая — полностью параллельная архитектура, эффективно утилизирующая аппаратные умножители;
  2. Прямая транспонированная — полностью параллельная архитектура с естественной конвейеризацией;
  3. Частично последовательная систолическая — гибко настраиваемая последовательно-параллельная архитектура.

Для всех архитектур можно получить ядро, оптимизированное под аппаратные ресурсы ПЛИС конкретных вендоров. Дополнительные опции: возможность программирования коэффициентов, конвейеризация, совместное использование ресурсов. В случае симметричных и антисимметричных КИХ, а также нулевых коэффициентов, происходит оптимизация количества умножителей.

КИХ-дециматор
Децимация – уменьшение частоты дискретизации цифрового сигнала путем прореживания его отсчетов. Для этого может использоваться низкочастотная фильтрация с помощью КИХ-фильтров. При этом по массиву входных отсчетов формируется каждый М-й выходной отсчет как взвешенная сумма значений входных отсчетов с весами в виде дискретной импульсной характеристики КИХ-фильтра.

Ядро реализует полифазный децимирующий КИХ-фильтр. Полифазная структура разбивает коэффициенты всего фильтра на количество наборов коэффициентов подфильтров, равное коэффициенту децимации. Доступны модификации ядра со скалярным и векторным входом. Также доступны две архитектуры фильтров: полностью параллельная прямая систолическая, эффективно утилизирующая аппаратные умножители, и прямая транспонированная, полностью параллельная архитектура с естественной конвейеризацией.
КИХ-преобразователь частоты дискретизации
Ядро повышает частоту дискретизации в целое число раз, выполняет фильтрацию, и затем понижает частоту в целое число раз, тем самым обеспечивая произвольное дробное изменение частоты дискретизации.

Ядро работает со скалярным входом, и основывается на полифазной структуре фильтра, минимизирующей излишние математические операции на повышенной промежуточной частоте.

Оптимизированный КИХ-дециматор
Ядро осуществляет децимацию входного сигнала при помощи CIC-фильтра и компенсирует амплитуду в полосе пропускания. В ядре параметризовано количество секций каскадированных интеграторов и гребенчатых фильтров, а также коэффициент децимации.

Существуют модификации ядра со скалярным и векторным входом: векторный вход обеспечивает большую пропускную способность, а в случае скалярного входа коэффициент децимации может задаваться как дополнительный вход ядра и изменяться в процессе работы.
Полифазный банк фильтров (Channelizer)
Банк цифровых фильтров предназначен для разбиения входного сигнала на несколько подканалов и раздельной фильтрации каждого подканала. Полифазная структура фильтра предполагает, что выходные отсчеты критически прорежены, т.е. частота дискретизации в каждом канале в K раз меньше, чем частота дискретизации входного сигнала, где K – число каналов.

Ядро разделяет входной широкополосный сигнал на несколько узкополосных сигналов. Векторный вход обеспечивает пропускную способность до нескольких гигасемплов в секунду (GSPS). Ядро построено на основе полифазного фильтра с одним подфильтром на каждый элемент входного вектора. Алгоритм подразумевает перемежение фильтров, что позволяет использовать умножители фильтра повторно. Реализация БПФ использует конвейеризованный Radix 2^2 FFT алгоритм.
LMS адаптивный фильтр
Фильтр минимальной квадратичной ошибки (Least Mean Squares, LMS) – одна из распространенных реализаций адаптивного фильтра. Его идея заключается в том, что переменный фильтр настраивается, пока ошибка (разница между выходом фильтра и желаемым сигналом) не станет минимальной.

Данное ядро доступно в четырех модификациях алгоритма: LMS, Sign-Error LMS, Sign-Data LMS и Sign-Sign LMS. В ядре настраивается порядок фильтра, начальные значения коэффициентов, шаг схождения и коэффициент утечки. Также доступны дополнительные управляющие входы для обновления и сброса коэффициентов.
Давайте обсудим ваш проект