Дайанфен Зао
В статье описан приемник цифровых сигналов, реализованный на одной программируемой интегральной схеме (ПЛИС) и выполняющий основные функции обработки сигналов: согласованную фильтрацию, восстановление тактовой частоты, интерполяцию и детектирование.
Развитие концепции построения радиооборудования на базе программируемых логических ИС привело к созданию новых цифровых приемников, повышенная гибкость которых обусловлена возможностями используемого программного обеспечения [1]. Согласно данной концепции, программно реализованные цифровые сигнальные процессоры (DSP) и ранее использовались в узкополосных системах связи для выполнения таких функций обработки, как согласованная фильтрация, восстановление тактовой частоты и детектирование, однако, предельная скорость передачи данных в таких системах не превышала 50 кбод. С появлением новых больших и быстродействующих ПЛИС стала возможной реализация цифрового приемника всего на одной микросхеме, который может конкурировать с DSP, реализуя скорости передачи данных порядка сотен кбод.
В данной статье описывается однокристальное исполнение цифрового приемника узкополосных сигналов, использующего различные виды дифференциальной фазовой манипуляции (xDPSK), на базе ПЛИС серии FLEX 10K производства корпорации Altera. В процессе разработки в качестве основного инструмента использовался пакет Mentor Graphics DSP Station, позволяющий производить бит-истинное (bit-true) целочисленное моделирование структурной схемы приемника с целью оптимизации алгоритмов синхронизации, согласованной фильтрации и длины слова, и все это внутри одного пользовательского интерфейса. Выходной VHDL-код, сгенерированный системой проектирования Mistral2, был синтезирован с использованием модуля Galileo и ориентирован на определенную ПЛИС. Он окончательно скомпилирован с использованием пакета MAX+PLUS II компании Altera. Полученный 8-бит приемник имеет потери реализации, составляющие 1 дБ при значении коэффициента побитовых ошибок (BER) 10-4 для дифференциальной модуляции p/4-DQPSK.
Структурная схема цифрового приемника ПЧ
Цифровой приемник промежуточной частоты, изображенный на рис. 1, выполнен по схеме, существенно отличающейся от классической супергетеродинной схемы [2]. При таком подходе, один общий широкополосный высокочастотный приемный тракт преобразует в промежуточную частоту большую часть спектра канала (или весь спектр), где он оцифровывается с помощью широкополосного АЦП. Цифровые данные с выхода АЦП содержат информацию обо всех каналах мультиплексной системы с частотным разделением. Серийно выпускаемый цифровой конвертер с преобразованием вниз (DDC) выбирает интересующий частотный канал, конвертирует его вниз на видеочастоту и сужает полосу пропускания за счет децимации потока данных. Цифровой конвертер вырабатывает приблизительно 4 комплексных отсчета на символ, которые поступают в цифровой приемник на ПЛИС, выполняющий видеообработку. Слово "приблизительно" здесь относится к несинхронизированному генератору и означает, что частота дискретизации никак не привязана к скорости битового потока. Видеообработка сигнала включает в себя функции согласованной фильтрации, восстановления тактовой частоты и детектирования. Параллельная обработка нескольких каналов реализуется подключением соответствующего числа пар DDC/ПЛИС на выход одного и того же АЦП.
Рис. 1. Общая структурная схема приемника с цифровой обработкой ПЧ
Функции видеообработки, выполняемые ПЛИС
Функции видеообработки условно показаны на рис. 2.
Рис. 2. Структурная схема приемника ПЧ на ПЛИС
Комплексный входной сигнал обрабатывается согласованным фильтром таким образом, чтобы полная импульсная характеристика имела форму "поднятого" косинуса. Поскольку скорость передачи символа составляет 1/T, а частота дискретизации асинхронна и равна 1/Ts, для определения оптимальной позиции точки дискретизации необходим специальный алгоритм, в результате которого рассчитывается дробное значение временной задержки e. Отношение между T и Ts задается уравнениями (1), (2) и (3):
Член уравнения rmf(miTs) представляет собой отсчеты на выходе согласованного фильтра, а интерполированные отсчеты определяются как rmf(miTs+miTs). В данном проекте используется спектральный метод расчета [3], позволяющий непосредственно получить значение промежутка времени e, из которого затем можно получить параметры (mi, µi). Из уравнения (1) следует, что интерполированный отсчет представляет собой оптимальный отсчет для детектирования символа. Отсутствие синхронизации для импульсов дискретизации является причиной возникновения циклической ошибки, то есть, значение e изменяется циклично с частотой, равной разности тактовой частоты и частоты дискретизации. Присутствие и полярность циклической ошибки (то есть, наличие небольшого положительного или отрицательного различия между символами и импульсами дискретизации) может быть легко обнаружено. В случае положительной циклической ошибки интерполяция не выполняется, и отсчеты просто отбрасываются. При наличии отрицательной циклической ошибки на одном и том же наборе отсчетов необходимо дважды проделать операцию интерполяции и получить два значения выходных данных (в моменты времени e и eT). После интерполяции операция децимации выделяет только один оптимальный отсчет на символ. Из-за наличия некоторой остаточной разницы по частоте между переданной и принятой тактовыми частотами, вектор комплексного сигнала медленно вращается с угловой частотой, равной этой разнице. Предположим, что эта погрешность частоты мала по сравнению со скоростью передачи битового потока, а значит, для блока символов требуется восстановление только фазы сигнала. При использовании дифференциального кодирования символов восстановления мгновенного (абсолютного) значения фазы не требуется. При этом модуль детектирования производит декодирование символов и формирует выходной поток данных.
Подход к разработке реализации на ПЛИС
При реализации приемника на ПЛИС использовался пакет Mentor Graphics DSP Station. Эта интегрированная САПР обеспечивает все этапы проектирования цифровых сигнальных процессоров и позволяет проводить моделирование всей разрабатываемой системы, бит-истинное моделирование модулей приемника, оптимизацию длины битового слова и синтез логических структур. Ключевым элементом пакета является модуль Mistral2, который генерирует VHDL-код на уровне регистровых передач (RTL) из высокоуровневого алгоритмического описания. Затем, модуль логического синтеза Galileo обрабатывает исходный VHDL-код с использованием ориентированных на определенную технологию алгоритмов оптимизации с целью получения максимальных преимуществ при выборе типа ПЛИС. В данной системе это семейство Altera FLEX 10K.
На первом этапе было произведено моделирование всей системы с использованием программных инструментов Telecom. Полученная при этом зависимость коэффициента побитовых ошибок (BER) от отношения сигнал/шум (SNR) далее использовалась как эталонная для оценки качества реализации приемника. На этом этапе разработчик в качестве основного индикатора характеристик приемника использует заданное отношение сигнал/шум и потери реализации. Они определяются эффективностью использования слов конечной длины и качеством алгоритма обработки. Затем моделируются алгоритмы работы приемника при работе с числами с плавающей точкой, что позволяет оценить характеристики идеальной реализации. После этого модели алгоритмов для чисел с плавающей точкой последовательно заменяются на бит-истинные модели алгоритмов с конечной длиной слова, которые будут присутствовать в реальном устройстве. Характеристики, полученные при использовании бит-истинных моделей алгоритмов, совпадают с таковыми при физической реализации. Этот процесс замены моделей алгоритмов наиболее труден, отнимает много времени и требует плотного использования систем САПР. В описываемом проекте приемника была применена 8-бит реализация всех модулей и не предпринималось никаких серьезных попыток оптимизации отдельных подмодулей.
Реализация на ПЛИС
Согласованные фильтры. Для минимизации числа операторов умножения и задержки использовался фильтр с симметричной конечной импульсной характеристикой (FIR) 15 порядка.
Блок восстановления тактовой частоты. Алгоритм восстановления тактовой частоты изображен на рис. 3. Подробно алгоритм для выделения сигнала тактового частоты из битового потока описан в литературе [3] и реализован на квадратурном синхронизаторе. Отфиль-трованные отсчеты возводятся в квадрат, в результате чего появляется спектральная составляющая с частотой 1/T. Эта спектральная составляющая выделяется путем вычисления комплексных коэффициентов Фурье для каждой секции длины LT (то есть, LN отсчетов). Нормализованная фаза полученной частоты определяется несмещенной оценкой дробного времени задержки e. Выбирая 4Ts = T или N = 4, можно снизить объем складываемых и вычитаемых, возведенных в квадрат выходных отсчетов, используемых в алгоритме дискретного преобразования Фурье (DFT). Дисперсия оценки тактовой частоты обратно пропорциональна длине алгоритма DFT. Увеличение длины алгоритма снижает дисперсию за счет использования дополнительных вычислительных мощностей, требуемых для расчета коэффициентов разложения DFT.
Рис. 3. Структурная схема модуля восстановления тактовой частоты
Фильтр Калмана первого порядка используется для сглаживания реальной и мнимой частей сигнала перед вычислением аргумента. Главная проблема здесь состоит в правильном способе задания алгоритма вычисления функции арктангенс, который аппаратно реализовывался более эффективно, пока не возникло требование оптимизации потерь реализации системы. Алгоритм, используемый для расчета функции арктангенс, показан на рис. 4.
Рис. 4. Алгоритм вычисления функции арктангенс на базе поисковых таблиц
Двоичные представления операндов оцифровываются с использованием нелинейного АЦП с шагом, кратным степени числа 2. Значение младшего значащего бита (MSB) в каждом аргументе определяется и впоследствии вычитается. Полученное число используется при обращении к поисковой таблице (LUT), где хранятся соответствующие значения функции арктангенс. Число элементов поисковой таблицы определяется длиной битового слова операндов. Квадрант определяется знаком входных операндов.
Интерполяторы. Для определения оптимальной точки осуществления выборки в каждом символе используется алгоритм линейной интерполяции (рис. 5).
Рис. 5. Принцип линейной интерполяции
Дециматоры. Децимация производится таким образом, чтобы на выходе на один принимаемый символ формировался только один интерполированный отсчет. Выходы плеч I и Q представляют собой массив их двух чисел. Это учитывает тот случай, когда оба оптимальных отсчета интерполируются при отрицательном значении циклической ошибки. Соответствующий выходной флаг также генерируется в случаях, когда на выходе присутствуют оба отсчета, один отсчет или нет никаких отсчетов. Этот флаг позднее будет использоваться в последующем оборудовании для восстановления их изначальной последовательности данных.
Разделение ПЛИС. На рис. 6 показано разделение ПЛИС на четыре отдельных модуля, оптимизация каждого из которых выделена в отдельную подзадачу. В результате, конечное устройство получается более быстродействующим вследствие использования конвейерной обработки. Главный контроллер синхронизирует модули и управляет потоком данных между ними. Передача данных между частями схемы осуществляется с участием модулей памяти с двойной буферизацией (DBM) в master-slave конфигурации. Первый модуль производит апись только в управляющую (master) часть, в то время как второй модуль осуществляет чтение из управляемой (slave) части. В конце каждого кадра данные передаются от ведущего устройства к подчиненному по линии однонаправленной связи.
Рис. 6. Архитектура ПЛИС-реализации цифрового ПЧ-приемника
Логический синтез
Имеется множество возможных реализаций приемника, определяемых способом организации функций памяти в каждом модуле. Для наиболее эффективного использования микросхем семейства FLEX 10K, большинство массивов встроенных блоков (EAB) используется для реализации функций ОЗУ, а значит высвобождается дополнительное число незадействованных логических элементов. Конечные результаты синтеза отображены в таблице. Таким образом, данная система может быть размещена в одной микросхеме Altera EPF10K130V, которая содержит 6656 логических элементов и 16 массивов встроенных блоков, но проект может быть оптимизирован, после чего сможет вписаться в меньшее устройство EPF10K100.
Таблица. Распределение ресурсов ПЛИС при реализации цифрового приемника
Модуль проекта | Количество логических ячеек | Длительность цикла, нс |
Верхний уровень | 930 | 15 |
Управление | 58 | 13 |
Согласованный фильтр | 1306 | 100 |
Восстановление тактовой частоты | 1965 | 108 |
Интерполяторы | 1853 | 103 |
Дециматоры | 453 | 38 |
Всего | 6565 | 108 |
Коэффициент побитовых ошибок и потери реализации
На рис. 7 показана зависимость коэффициента побитовых ошибок от отношения сигнал/шум для 8-бит реализации цифрового приемника, использующего дифференциальную фазовую манипуляцию типа p/4-DQPSK. Для значения коэффициента побитовых ошибок 10-4 потери реализации приемника составляют приблизительно 1 дБ.
Рис. 7. Зависимость коэффициента побитовых ошибок от отношения сигнал/шум для 8-бит ПЛИС-реализации цифрового приемника для вида модуляции p/4-DQPSK
Заключение
Итак, мы описали вариант цифрового приемника ПЧ,реализованного на одной ПЛИС с использованием интегрированной системы САПР Mentor Graphics DSP Station. Этот пакет представляет собой универсальную среду, позволяющую осуществлять управление данными, моделирование разрабатываемой системы, оптимизацию алгоритмов и оценку бит-истинных характеристик алгоритмов цифровых сигнальных процессоров. Описанный проект был ориентирован на ПЛИС Altera FLEX 10K, так как эта микросхема предлагает обширный набор массивов встроенных функций (EAB).
Для использования преимуществ конвейерной обработки приемник был разделен на четыре модуля. Полученная схема приемника может работать с битовыми потоками со скоростью до 100 кбит/с при тактовой частоте 10 МГц.
Опираясь на опыт использования программного продукта Mistral2, можно сказать, что для наиболее критических участков обработки данных VHDL-кодирование эффективнее выполнять вручную. Сам же пакет прекрасно справляется с задачей связи отдельных частей и генерации общего кода. В результате, конечный проект имеет большее быстродействие и требует меньшего объема микро-ПЗУ за счет снижения объема программы и ширины слова микро-ПЗУ.
Кроме того, возможно дальнейшее усовершенствование разработанного приемника за счет оптимального дробления проекта. Например, блок восстановления тактовой частоты может быть разделен на два подмодуля, один из которых выполнял бы дискретное преобразование Фурье, а другой оптимальную фильтрацию и функцию арктангенса. Полученный блок при этом был бы меньше и быстрее, чем уже имеющийся.
Данный приемник реализуется всего на одной ПЛИС EPF10K130V, а с учетом проведенных усовершенствований может быть реализован на одной ПЛИС меньшей стоимости и объема, например, EPF10K100. Кроме того, при введении оптимальной конвейерной обработки возможно увеличение быстродействия до 1 Мбит/с.
Литература
Electronic Engineering,
февраль 1999 г.
вввввв пишет... схема где?!!! 17/03/2016 00:24:58 |
ГЕК пишет... поебень где схема? 16/12/2017 20:37:40 |
Антон пишет... Перезвоните мне пожалуйста 8 (962) 685-78-93,для связи со мной нажмите цифру 2, Антон. 17/08/2019 08:32:54 |
Антон пишет... Перезвоните мне пожалуйста 8 (953) 367-35-45 Антон. 20/08/2019 09:40:41 |
Ваш комментарий к статье | ||||