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

Записаться на обучение

Описание курса

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

Рассматриваемые темы:

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

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

Курсы MATLAB для профессионалов

Продолжительность курса

3 дня

Связанные продукты:

HDL Coder

Программа курса

Введение в ЦОС на аппаратных платформах
Цель: получить вводную информацию по ЦОС и ПЛИС. Понять основы архитектуры ПЛИС и почему ПЛИС активно применяются для реализации алгоритмов ЦОС.
От дискретной логики до ПЛИС – немного истории!
Типичная система ЦОС
Обзор ядер и процессоров ЦОС
Интегральные схемы специального назначения (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)