DSP for FPGA
DSP for FPGA

Что входит в курс:

  • Основы архитектуры и применения ПЛИС для цифровой обработки сигналов;
  • Вычисления в арифметике с фиксированной точкой;
  • Техники ориентированных графов;
  • Генерация HDL-кода для ПЛИС;
  • Реализация алгоритма Быстрого Преобразования Фурье (БПФ);
  • Разработка и реализация КИХ, БИХ и CIC-фильтров;
  • Алгоритм CORDIC;
  • Разработка и реализация адаптивных алгоритмов, таких как LMS и QR;
  • Техники синхронизации и тактового восстановления в цифровой связи.

Предварительная подготовка:

Курсы MATLAB для профессионалов, Проектирование систем цифровой обработки сигналов (SLBE-G), Генерация HDL описания для ПЛИС (SLHL).

Продолжительность курса – 3 дня.

DSP for FPGA DSP for FPGA

Программа

День 1

  • Введение в ЦОС на аппаратных платформах.
  • Обзор алгоритмов ЦОС для линейных систем.
  • Технология ПЛИС.
  • Элементы ПЛИС для алгоритмов ЦОС.
  • Основы арифметики ЦОС.
  • Техники ориентированных графов.

День 2

  • Обработка в частотной области.
  • Многоскоростная обработка сигналов на ПЛИС.
  • Техники CORDIC.

День 3

  • Адаптивные алгоритмы ЦОС и их применение.
  • ЦОС в системах связи на ПЛИС.
  • Проблемы тайминга и синхронизации.

Введение в ЦОС на аппаратных платформах

Цель: получить вводную информацию по ЦОС и ПЛИС. Понять основы архитектуры ПЛИС и почему ПЛИС активно применяются для реализации алгоритмов ЦОС.

  • От дискретной логики до ПЛИС – немного истории!;
  • Типичная система ЦОС;
  • Обзор ядер и процессоров ЦОС;
  • Интегральные схемы специального назначения (ASIC);
  • Системы-на-кристалле (SOC);
  • Гибкость и функциональность ПЛИС;
  • ПЛИС и программируемые сигнальные процессоры.

Обзор алгоритмов ЦОС для линейных систем

Цель: Понять базовые принципы теории дискретизации, квантования, спектрального анализа и создания цифровых фильтров.

  • Алиасинг и восстанавливающие фильтры;
  • Частота дискретизации и длина слова;
  • Z-преобразование и фундаментальный анализ;
  • КИХ и БИХ фильтры;
  • Цифровые фильтры: спецификация и проектирование;
  • Техники передискретизации (сигма-дельта).

Технология ПЛИС

Цель: ознакомиться с различными семействами и архитектурами ПЛИС от Xilinx. Подробно рассмотреть ПЛИС Spartan 3 и Virtex-5.

  • Путь развития технологии ПЛИС;
  • Тактовая частота, частота данных и частота дискретизации;
  • Память и регистры ПЛИС;
  • Блоки ввода/вывода и требования;
  • Биты, секции (slice) и конфигурируемые логические блоки (Configurable Logic Blocks);
  • Рейтинги производительности в MIPs;
  • Семейства и источники ПЛИС.

Элементы ПЛИС для алгоритмов ЦОС

Цель: познакомиться с секциями для ЦОС (DSP slice), частотой алгоритма и потребляемой мощностью.

  • Построение линий задержки и сдвиговых регистров;
  • Использование RAM (памяти) на ПЛИС;
  • Сериализаторы и десериализаторы;
  • Мультиплексоры для выбора канала;
  • Полные сумматоры, логика переноса, дерево сумматоров;
  • Умножители: сдвиг и суммирование; на основе ROM;
  • Эффективные реализации умножителей.

Основы арифметики ЦОС

Цель: понять бинарную арифметику с фиксированной точкой. Реализовать арифметические операции на ПЛИС Xilinx.

  • Арифметика с фиксированной точкой в дополнительном коде;
  • Базовые массивы сумматоров и умножителей;
  • Массивы делителей и операций квадратного корня… уже не так просто!;
  • Проблемы длины слова в арифметике с фиксированной точкой;
  • Насыщение и целочисленное переполнение.

Техники ориентированных графов

Цель: познакомиться с представлением алгоритмов ЦОС в форме направленных графов. Использовать метод Cut Set для лучшей производительности по частоте. Реализовать параллельные и последовательные КИХ-фильтры.

  • Направленные графы для ЦОС и цифровых фильтров;
  • Задержка, элементы задержки и "анти-задержки"!;
  • Ре-тайминг: Cut-set и нормирование задержки;
  • Транспонированная КИХ;
  • Конвейеризация и мультиканальные архитектуры;
  • Топологии графов для ПЛИС.

Обработка в частотной области

Цель: обсудить теорию и реализацию на ПЛИС Быстрого Преобразования Фурье (БПФ).

  • ДПФ, БПФ и ОБПФ;
  • Архитектуры ПЛИС для БПФ;
  • Увеличение размера слова, точность при реализации алгоритма БПФ.

Многоскоростная обработка сигналов на ПЛИС

Цель: разработать полифазную структуру для эффективной реализации многоскоростных фильтров. Использовать CIC-фильтр для интерполяции и децимации.

  • Увеличение частоты дискретизации и интерполирующие фильтры;
  • Снижение частоты дискретизации и децимирующие фильтры;
  • Эффективная арифметика для КИХ-реализации;
  • Интеграторы и дифференциаторы;
  • Полуполосные фильтры, гребенчатые фильтры и фильтры движущегося среднего;
  • CIC-фильтры (Cascade Integrator Comb, фильтры Хогенауэра);
  • Эффективная арифметика для БИХ-фильтрации.

Техники CORDIC

Цель: получить представление о применении алгоритма CORDIC для расчёта различных тригонометрических функций.

  • CORDIC: режим поворота и режим вектора;
  • Вычисление косинуса и синуса;
  • Вычисление модуля и угла вектора;
  • Архитектура для реализации на ПЛИС.

Адаптивные алгоритмы ЦОС и их применение

Цель: познакомится с LMS-алгоритмом в адаптивной обработке сигналов. Изучить QR-алгоритм на основе RLS-техники (Recursive Least Squares), и узнать, почему он так подходит для реализации на ПЛИС.

  • Применение адаптивных алгоритмов (выравнивание, формирование луча);
  • LMS-алгоритм и параллельная реализация;
  • Неканонические LMS-алгоритмы;
  • Линейная алгебра; решение системы линейных уравнений;
  • QR-алгоритм для адаптивной обработки сигналов;
  • Требования к QR-обработке и численные проблемы.

ЦОС в системах связи на ПЛИС

Цель: познакомиться с квадратурной модуляцией и формированием импульсов. Обсудить реализацию генераторов с цифровым управлением (NCO).

  • Квадратурная фазовая манипуляция (QPSK);
  • Передающий/Приёмный фильтры – фильтр приподнятого косинуса (RRC);
  • Субдискретизация и цифровое понижающее преобразование (DDC);
  • Прямое цифровое повышающее преобразование (DUC);
  • Стадии промежуточной частоты (и системы fs/4);
  • Генераторы с цифровым управлением (NCO);
  • Деление проекта на ПЛИС.

Проблемы тайминга и синхронизации

Цель: познакомиться с символьным восстановлением, фазовым восстановлением несущей, частотным восстановлением несущей и кадровой синхронизацией.

  • Восстановление несущей, возведение в квадрат и петли Костаса, PLL;
  • Вращение фазы; преобразования частоты дискретизации;
  • Символьное восстановление, early/late gate detection;
  • Синхронизация в системах подстройки по задержке (DLL).