Нижегородский государственный университет им. Н.И.Лобачевского Радиофизический факультет Учебно-исследовательская лаборатория Учебный комплекс: Проектирование систем цифровой обработки сигналов на устройствах программируемой логики |
Аннотация содержания учебника «Проектирование систем цифровой обработки сигналов на устройствах программируемой логики» Настоящий учебник содержит теоретические сведения по методам и алгоритмам цифровой обработки сигналов (ЦОС), а также способам практической реализации систем ЦОС на программируемых логических интегральных схемах (ПЛИС). Предполагается предварительное изучение студентами вузовского курса математики, включая введение в теорию функций комплексной переменной, преобразования Лапласа и Фурье, и ее применение к теории сигналов и систем непрерывного времени. Другие необходимые математические сведения, связанные с представлениями дискретных сигналов и дискретных линейных систем, излагаются в самом учебнике. Учебник предназначен для освоения технологии проектирования на базе ПЛИС цифровых устройств с начального уровня до микропроцессоров, реализующих алгоритмы цифровой фильтрации и спектрального анализа. Рассматриваются практически все аспекты работы с ПЛИС, начиная от выбора семейства и основ работы с языком описания аппаратуры VHDL и заканчивая описанием программатора и вопросами разработки печатной платы. Глава 1 посвящена обзору микросхем программируемой логики. В ней приведены основные сведения о ПЛИС Xilinx, особенности проектирования на языке VHDL в среде ISE. Рассмотрены принципы работы ПЛИС, структура логической ячейки и ее возможности, особенности современных серий ПЛИС, выделенные ресурсы на кристалле. Рассмотрены САПР ISE, маршрут проектирования, структура проекта в ПЛИС. Приведены основные сведения о языке VHDL, рассмотрены вопросы создания модулей и задание топологических и временных ограничений. Рассмотрены устройства с архитектурой CPLD и устройства с архитектурой FPGA, а также реализация на VHDL основных узлов микропроцессорного устройства. В частности, обсуждаются синхронные и асинхронные схемы, временные диаграммы работы основных цифровых узлов, приведены примеры создания асинхронных устройств, регистров, простейшего АЛУ. В главе 2 рассмотрены методы представления чисел в цифровых системах и математические операции над ними. В том числе рассмотрены системы счисления, запись отрицательного числа, двоичная арифметика (сложение, вычитание, умножение, деление, извлечение квадратного корня). Обсуждены способы представления вещественных чисел и арифметические операции, вычисление трансцендентных функций, применение алгоритмов CORDIC для вычисления некоторых функций и операции над комплексными числами. Выполненный обзор основных математических понятий необходим для понимания и качественной реализации цифровых устройств. В главе 3 рассмотрен аналоговый интерфейс ввода-вывода для систем цифровой обработки сигналов. В частности, рассмотрена процедура аналого-цифрового преобразования и связанные с ней ошибки квантования, эффекты усечения и округления, однородное и неоднородное квантование (компандирование). Обсуждена необходимость использования фильтров защиты от эффекта наложения и выбор частоты дискретизации. Рассмотрена также процедура цифро-аналогового преобразования. В главе 4 вводятся определения понятий дискретных сигналов и дискретных линейных систем, инвариантных к сдвигу (с постоянными во времени параметрами). Рассматривается их описание во временной области на основе дискретной свертки и линейных разностных уравнений, а также в частотной области на основе дискретно-временного преобразования Фурье. Рассмотрены дискретизация во времени аналоговых сигналов и теорема отсчетов, а также частотно-временные деформации дискретного сигнала, включающие прореживание и интерполяцию. В главе 5 вводится описание дискретных сигналов и систем в области комплексной переменной с использованием z-преобразования. Рассмотрены свойства z-преобразования и его применение к решению разностных уравнений и определению передаточной функции дискретной линейной системы. В главе 6 вводятся дискретный ряд Фурье для представления периодических дискретных сигналов и дискретное преобразование Фурье для представления дискретных сигналов конечной длительности. Рассмотрены свойства дискретного преобразования Фурье и его применение для реализации линейной дискретной свертки. Отдельно рассмотрены вопросы эффективного вычисления дискретного преобразования Фурье. Рассмотрены алгоритмы быстрого преобразования Фурье по основанию два с прореживанием по времени и прореживанием по частоте, а также реализации дискретного преобразования Фурье с использованием цифровых фильтров. Обсуждена реализация ДПФ и свертки в ПЛИС. Таким образом, в главах 4 - 6 приводятся все необходимые математические сведения для описания дискретных сигналов и систем. В главе 7 рассмотрены частотные и временные характеристики цифровых фильтров, в том числе идеальных частотно-избирательных фильтров, преобразователя Гильберта и дифференциатора. Рассмотрены примеры цифровых фильтров с конечной и бесконечной длительностью импульсной характеристики (КИХ- и БИХ-системы соответственно) 1-го и 2-го порядков и их применения. Рассмотрены вопросы реализации цифровых фильтров и их представление структурными схемами, отображающими последовательность выполняемых в них основных вычислительных операций суммирования, задержки и умножения. Приведены наиболее важные с практической точки зрения структуры БИХ- и КИХ-систем. Рассмотрены методы расчета цифровых БИХ-фильтров, включающих метод инвариантности импульсной характеристики, метод билинейного преобразования. В отдельных разделах рассмотрены свойства КИХ-фильтров с линейной фазо-частотной характеристикой и методы их расчета, включающие методы взвешивания, частотной выборки и чебышевской оптимизации. Обсуждены вопросы реализации цифровых фильтров на ПЛИС. В главе 8 рассмотрена важная область применения цифровой обработки, а именно, спектральный анализ случайных сигналов. В частности, рассмотрены классические методы оценивания спектральной плотности мощности стационарных случайных процессов дискретного времени, включающие коррелограммный и периодограммный методы, и их качественные характеристики. Глава 9 посвящена проектированию микропроцессоров и устройств ЦОС на базе ПЛИС. В первом разделе рассмотрена архитектура микропроцессоров и их основные узлы. В том числе рассмотрены: элементы микропроцессора, переменные состояния, регистры, арифметико-логическое устройство, интерфейсы памяти, декодирование команд, классическая и Гарвардская архитектуры, преимущества разделения адресных пространств кода и данных. Во втором разделе рассмотрен простейший микропроцессор – программируемый конечный автомат. В том числе рассмотрены следующие вопросы. Процессор как конечный автомат. Выбор регистровой модели. Основные переменные состояния. Оценка требуемых ресурсов ПЛИС на основе анализа выбранных переменных состояния. Цикл работы процессора с асинхронной памятью команд. В третьем разделе рассмотрены проектирование микропроцессора на основе синхронных ресурсов ПЛИС, многотактное выполнение команд, конвейеризация. В том числе рассмотрены следующие вопросы. Использование синхронной памяти для хранения кода. Разделение команды на такты: выборка, декодирование, исполнение. Основные задачи, решаемые при создании конвейеризованного процессора. Управляющий автомат. Логика переходов и стек возвратов. Сильное и слабое кодирование. В четвертом разделе рассмотрены системы на кристалле, специализация процессора и использование специализированных ресурсов ПЛИС. В том числе рассмотрены следующие вопросы. Понятие систем на кристалле (SoC – System-On-Chip). Преимущества SoC-подхода. Использование выделенных ресурсов ПЛИС для реализации узлов системы на кристалле. Адресация устройств на кристалле, выбор карты памяти и УВВ. Аппаратная реализация вспомогательных устройств. Комбинирование технических решений с целью наиболее полного использования ресурсов ПЛИС. Масштабирование систем. В пятом разделе рассмотрены основы совместной разработки аппаратного и программного обеспечения микропроцессорных систем. В том числе рассмотрены следующие вопросы. Языки высокого уровня в описании аппаратуры (Handel-C). Принципы совместного проектирования аппаратуры и программного обеспечения. Основные принципы разработки ассемблера. Особенности разработки ассемблера для программируемых процессоров. Рекомендации по применению программируемых процессоров. В шестом разделе рассмотрено проектирование цифровых интерфейсов. В частности рассмотрены следующие вопросы. Синхронные и асинхронные интерфейсы внешней памяти. Стандартные интерфейсы и шины ПК: ISA, PCI, LPT, UART. Интерфейсы измерительных и управляющих систем: параллельные и последовательные интерфейсы ЦАП и АЦП, I2C, SPI. Глава 10 посвящена программной поддержке микропроцессорных систем и систем на кристалле. В том числе рассмотрены следующие вопросы. Классификация языков программирования. Модели вычислений. Проблемно-ориентированные языки программирования. Структура компиляторов. Фазы компиляции. Кросс-компиляция. Виртуальный ассемблер. Регистровые структуры и основные машинные операции. Проблемное ориентирование языка и совместная разработка аппаратного и программного обеспечения В приложение вынесен обзор методов расчета аналоговых фильтров нижних частот с использованием аппроксимации Баттерворта, Чебышева и эллиптической аппроксимации. Рассмотрено также цифровое детектирование АМ и ФМ сигналов как примеры реализации алгоритмов цифровой обработки сигналов. Список литературы содержит перечень доступных литературных источников. |