Дайанфен Зао
Цифровые приемники узкополосных сигналов на ПЛИС
В статье описан приёмник цифровых сигналов, реализованный на одной программируемой интегральной схеме (ПЛИС) и выполняющий основные функции обработки сигналов: согласованную фильтрацию, восстановление тактовой частоты, интерполяцию и детектирование.
Развитие концепции построения радиооборудования на базе программируемых логических ИС привело к созданию новых цифровых приёмников, повышенная гибкость которых обусловлена возможностями используемого программного обеспечения [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 и e–T). После интерполяции операция децимации выделяет только один оптимальный отсчёт на символ. Из-за наличия некоторой остаточной разницы по частоте между переданной и принятой тактовыми частотами, вектор комплексного сигнала медленно вращается с угловой частотой, равной этой разнице. Предположим, что эта погрешность частоты мала по сравнению со скоростью передачи битового потока, а значит, для блока символов требуется восстановление только фазы сигнала. При использовании дифференциального кодирования символов восстановления мгновенного (абсолютного) значения фазы не требуется. При этом модуль детектирования производит декодирование символов и формирует выходной поток данных.
Подход к разработке реализации на ПЛИС
При реализации приёмника на ПЛИС использовался пакет 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 Мбит/с.
Литература
- J. Miola, The Software Radio Architecture, IEEE Communications Magazine, May 1995, pp. 26–38.
- H. Meyr and Ravi Subramanian, Advanced Digital Receiver Principles and Technologies for PCS, IEEE Communications magazine, Jan 1995, pp. 68–78.
- Martin Oerder and Heinrich Meyr, Digital Filter and Square Timing Recovery, IEEE trans. on Communications, Vol. 36, No. 5, May 1988.
Electronic Engineering,
февраль 1999 г.
|