Глава
Введение

1. Методы записи чисел в цифровых системах и математические операции над ними.

1.1. Системы счисления.
1.2. Запись отрицательного числа
1.3. Двоичная арифметика
1.3.1. Сложение
1.3.2. Вычитание
1.3.3. Умножение
1.3.4. Вычитание
1.3.5. Извлечение квадратного корня
1.4 Способы представления вещественных чисел и арифметические операции
1.5 Трансцендентные функции
1.6 Применение алгоритмов CORDIC для вычисления некоторых функций
1.7 Операции над комплексными числами
1.8 Преобразование Фурье для гармонических функций
1.9 Важнейшие соотношения, связанные с преобразованием Фурье

2 Обработка числовых потоков данных

2.1 Аналого-цифровое преобразование и связанные с ним ошибки
2.2 Стратегии проведения замеров
2.2.1 Когерентные выборки
2.2.2 Случайные выборки
2.2.3 Временное мультиплексирование
2.2.4 Частотное мультиплексирование
2.3 Цифро-аналоговое преобразование
2.4 АЦП непосредственного преобразования
2.4.1 Следящий АЦП
2.4.2 АЦП последовательного приближения
2.4.3 АЦП параллельного преобразования
2.4.4 Конвейерные АЦП
2.5 Интегрирующие АЦП
2.5.1 Однократно интегрирующий АЦП
2.5.2 АЦП двойного интегрирования
2.5.3 АЦП с времяимпульсным преобразованием
2.5.4 Сигма-дельта АЦП
2.6 Широтно-импульсная модуляция

3 Спектральный анализ

3.1 Дискретное преобразование Фурье
3.2 Быстрое преобразование Фурье (FFT)
3.2.1 БПФ с прореживанием по времени
3.2.2 БПФ с прореживанием по частоте
3.3 Реализация ДПФ в ПЛИС
3.4 Влияние постоянной составляющей на результаты преобразования Фурье
3.5 Преобразование Фурье нестационарных сигналов. Оконные функции в преобразовании Фурье
3.6 Свертка
3.7 Вейвлет-преобразование
3.8 Влияние коэффициентов и пределов интегрирования вейвлет-функции Морле на точность результатов анализа гармонических сигналов с нестационарными параметрами

4. Фильтры

4.1 Типы фильтров
4.2 Линейные системы
4.3 Цифровая фильтрация сигналов
4.4 Реализация цифровых фильтров

5. Примеры цифровой обработки сигналов

5.1 Цифровое детектирование АМ и ФМ сигналов
5.2 Аппаратное детектирование сигналов методом вейвлет-анализа
5.3 Использование вейвлет-преобразования для исследования электрокардиограммы сердца
5.4 Применение вейвлет-анализа для обработки сигнала в ультразвуковом интерферометре
5.5 Определение с помощью вейвлет-преобразования сдвига фаз между синусоидальными сигналами
5.6 Статистический и регрессионный анализ на основе байесовского подхода
5.7 Краткие сведения о нейронных сетях
5.8 Краткие сведения о генетических алгоритмах

6. Обзор микросхем программируемой логики фирмы Xilinx

6.1 Общие сведения о ПЛИС
6.2 Устройства с архитектурой CPLD
6.3 Устройства с архитектурой FPGA
6.4. Сравнительный анализ архитектуры основных семейств фирмы Xilinx


7. САПР Integrated Software Environment

7.1 Основные сведения
7.2 Основы работы

8. Вопросы проектирования печатных плат для устройств на базе ПЛИС

Литература

Введение

В настоящее время цифровая обработка сигналов находится на подъеме. Ее используют повсюду, включая радиолокацию, сейсмографию, связь, радиоастрономию и медицинскую электронику. Активно развиваются и находят рыночный спрос цифровые процессоры – специализированные компьютерные устройства для обработки сигналов и видеоизображений.
Математические функции для систем обработки сигналов и систем автоматики можно реализовать с помощью механики (эксцентрики, кулисные механизмы и т.д.). Такие устройства надежно работают в течение многих лет, будут устойчивы к воздействию окружающей среды и радиации, могут легко тиражироваться, но если требуется коррекция реализуемой устройством функции, то, фактически, приходится весь механизм разрабатывать вновь. Кроме того, точность преобразования этих устройств невысока, и относительная ошибка редко бывает лучше 1%.
Подобную задачу можно решить методами аналоговой электроники. Для этого потребуются усилители с нелинейными коэффициентами усиления, аналоговые перемножители, делители и т.п. Точность аналоговых электронных устройств достигает 0.1% и лучше. Но аналоговые электронные компоненты чувствительны к температурным колебаниям и старению.
Практика показала, что наиболее эффективный путь разработки современных измерительных устройств и систем автоматики это максимально просто перевести любую физическую величину в вид электрического сигнала, после чего в цифровую форму. В цифровом виде достаточно легко доступны почти любые математические функции, подстройка устройств осуществляется перезаписью коэффициентов, а тиражирование устройств осуществляется копированием программ. Самые точные цифровые устройства – измерители частоты-времени имеют относительную ошибку до 10-15.
Не стоит на месте и теоретическая база цифровой обработки сигналов. Наряду с хорошо зарекомендовавшими и проверенными методами спектрального анализа, основанными на преобразовании Фурье, в настоящее время развиваются и новые методы спектрального анализа. В качестве примера можно привести появившийся в конце 80-х годов метод вейвлет-анализа (от английского слова wavelet).
Первые всплески, или вейвлет-функции, были построены Хааром в 1909 году. Однако в явном виде математическая система, описывающая вейвлет-анализ, была сформулирована только в 1986 С. Малла и И. Мейером [12, 13]. В настоящее время вейвлет-преобразование является мощнейшим оружием в руках разработчиков цифровой аппаратуры.
Несмотря на тот факт, что именно ряды и преобразования Фурье [1, 2] при всех их, известных давно и обнаруженных уже в настоящее время, недостатках, легли в основу многих новых и ведущих областей науки и техники, по своей значимости роль вейвлетов уже сравнима с ними. Все области науки и техники, начиная от решения дифференциальных уравнений различных классов, создания теоретических основ современной электротехники, радиотехники, средств связи и телекоммуникаций и кончая многочисленными физическими и измерительными приборами, такими как измерители спектра, синтезаторы сложных сигналов по гармоническим составляющим и т. д., используют преобразование Фурье.
Вейвлеты имеют явные преимущества перед рядами Фурье как в общем и точном представлении функций, так и их разнообразных локальных особенностях. Важным отличием вейвлетов является возможность локализовать особенности нестационарных сигналов во временной области. Вейвлеты весьма перспективны в решении многих математических задач приближения (интерполяции, аппроксимации, регрессии и т.д.) функций, сигналов и изображений. Вейвлет-обработка сигналов обеспечивает возможность весьма эффективного сжатия сигналов и их восстановления с малыми потерями информации, а так же решение задач фильтрации сигналов. Популярные стандарты MP4, JPEG 2000 и известные графические программные средства Corel DRAW 9/10 уже широко используют технологию вейвлет-обработки изображений. Вейвлет-преобразование включено в новейшие системы компьютерной математики MATLAB, Mathcad и Mathematica.
Но применение вейвлет-технологий, особенно в приложениях реального времени, ограничено из-за большого количества операций умножения с накоплением. С все возрастающими «аппетитами» исследователей и разработчиков высокоточной аппаратуры уже не в состоянии справляться мощная вычислительная техника с процессорами стандартной архитектуры.
Второе, не менее мощное направление, так же активно развиваемое последние 15 лет – нейронные сети [22]. Нейронные сети – это исключительно мощный метод имитации процессов и явлений, позволяющий воспроизводить чрезвычайно сложные зависимости. Но самой привлекательной в нейросетях является возможность использования механизма обучения.
Теория нейронных сетей возникла из исследований в области искусственного интеллекта, а именно из попыток воспроизвести способность нервных биологических систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга.
Искусственные нейронные сети основаны на простой биологической модели нервной системы, в то время как нервная система человека, построенная из элементов, называемых нейронами, имеет колоссальную сложность. Около 1011 нейронов участвуют примерно в 1015 передающих связях, имеющих длину метр и более. Подобные разветвленные структуры очень сложно реализовывать с помощью стандартных процессорных устройств, выполняющих команды последовательно.
Одновременно с развитием математического аппарата нейросетей и вейвлет-преобразований, в середине 80-х годов прошлого столетия были созданы программируемые логические матрицы (ПЛМ). Первые ПЛМ позволяли реализовывать простые логические функции и не составляли конкуренции стандартному набору логических схем, тем более процессорным устройствам. Но это направление электроники стало развиваться очень стремительно, достигнув к настоящему времени возможностей современных процессоров, но превосходящих их в областях, где необходимо оптимизировать конкретную вычислительную функцию.
Современные программируемые логические интегральные схемы, сокращенно ПЛИС, в которые «выросли» ПЛМ, представляют собой высокопроизводительные и высокоскоростные цифровые устройства. Количество логических блоков в них может достигать более миллиона вентилей с сопоставимым количеством межблочных связей. На ПЛИС удобно конструировать процессорные устройства различной архитектуры. Можно строить элементарные ячейки нейросети (искусственные нейроны) с большим количеством межнейронных связей и реализовывать параллельные высокоскоростные (с тактовой частотой 100 МГц и более) вычислительные устройства, способные производить свыше 100 млрд. операций умножения с накоплением в секунду, что существенно превосходит производительность самых мощных процессоров общего назначения.
Конфигурация ПЛИС может создаваться и корректироваться в течение очень коротких промежутков времени (при большом опыте работы до нескольких часов) [21]. За рабочий день опытный разработчик способен произвести несколько итераций в разработки своего устройства. Для сравнения, цикл создания специализированного микрочипа приблизительно равен 6 месяцев, по истечении которых появляется возможность тестировать устройство и вносить коррективы.
Появление программируемой элементной базы открывает новые возможности для создания эффективных вычислительных систем для решения частных задач. Современные ПЛИС обладают как минимум двумя преимуществами по сравнению с микропроцессорными системами: более высокой производительностью в задачах цифровой обработки сигналов, и возможностью реализации на одном кристалле систем параллельной обработки информации. Соответственно, с проникновением ПЛИС в практику разработки цифровых систем появляется реальная возможность для создания уникальных систем на основе современных вычислительных алгоритмов с высокими требованиями к производительности аппаратной платформы.
При работе над данным изданием авторы не ставили целью дать подробное перечисление алгоритмов цифровой обработки сигналов или систематически изложить учебный курс проектирования цифровых систем. Данные вопросы достаточно хорошо освещены в специальной учебной литературе. Тем не менее, появление новой высокопроизводительной элементной базы обуславливает необходимость периодического пересмотра взглядов разработчиков на алгоритмы, методы и подходы к проектированию. Например, ряд алгоритмов, которые ранее ввиду чрезмерно высокой вычислительной емкости считались неприменимыми на практике, вполне могут перейти в сферу практического применения с появлением соответствующей вычислительной платформы. Представляется, что микросхемы программируемой логики представляют собой именно такое высокопроизвоительное решение, пригодное к использованию в самых разных областях науки и техники.
Кроме того, нельзя забывать об еще одном важном моменте, связанном с развитием и распространением информационных технологий. В настоящее время в области полупроводниковой микроэлектроники существует тенденция увеличения стоимости технологической подготовки производства при переходе к выпуску новой продукции по современным технологическим процессам. Одновременно уменьшается время разработки новых устройств. Программируемая логика является при этом превосходной платформой для прототипирования новых систем, позволяя в короткие сроки и с небольшими финансовыми затратами получить в распоряжение разработчика работающее цифровое устройство, полностью пригодное для практическиой проверки разработанных алгоритмов. При наличии мощной теоретической базы ПЛИС являются поистине бесценным инструментом, позволяющим неограниченное число раз изменять конфигурацию разработанной системы, получая в то же время не абстрактную модель, а реально функционирующую микросхему.
Необходимо иметь в виду, что быстрое развитие технологии полупроводниковых микросхем обуславливает быстрое устаревание технических и справочных сведений, излагаемых в литературе. Поэтому в данной книге информация о конкретных ПЛИС изложена в максимально общем виде, с упором на рассмотрение основных критериев, по которым следует производить оценку таких микросхем. Эти критерии могут быть по аналогии применены и при анализе новых устройств, которые будут появляться впоследствии. В то же время, приведены и описания современных ПЛИС фирмы Xilinx.
Обращаясь к выбору элементной базы, необходимо заметить, что в настоящее время основная доля рынка ПЛИС поделена двумя ведущими производителями: это фирмы Altera и Xilinx. Оба производителя выпускают примерно аналогичную по характеристикам и функциональным возможностям продукцию, используют сопоставимые маршруты проектирования и похожие средства разработки. Поэтому теоретическую информацию и примеры на языке описания аппаратуры можно с равным успехом применять к изделиям обоих фирм. В то же время, ориентация на ПЛИС одной фирмы позволяет сосредоточиться на изучении их характеристик и эффективнее использовать специальные возможности таких микросхем. Поэтому, с учетом имеющегося у авторов опыта работы с ПЛИС фирмы Xilinx, именно они были выбраны в качества примера аппаратной платформы для реализации алгоритмов цифровой обработки сигналов.
Главы 2-4, 5.1-5.4, 8 написаны Д.С. Потехиным, главы 5.5-5.8, 6,7 – И.Е. Тарасовым. Глава 1 написана авторами совместно.
Авторы выражают благодарность сотрудникам КТЦ InlineGroup - официального дистрибьютора фирмы Xilinx в России за оказанное содействие в публикации и большое число полезных советов и замечаний.