• Регистрация
IgorKashkin
IgorKashkin+19.50
н/д
  • Написать
  • Подписаться

Имитационное моделирование устройства корреляционного приема и анализа параметров сверхширокополосных сигналов

Интенсивные разработки устройств сверхширокополосной (СШП) радиоэлектроники велись с середины 1970-х годов, однако их практическая реализация стала возможной только после достижения соответствующего уровня технологии генерации мощных сверхкоротких импульсов с практически неограниченным ресурсом, с высокой стабильностью и большой частотой повторения (лавинно-пролетные транзисторы, диоды с накоплением заряда) и технологии скоростной цифровой обработки больших массивов информации (ОЗУ, ПЛИС, высокоскоростные АЦП).

Сложность работы с СШС заключается в том, что для них неприменимы традиционные методы генерации, излучения, приема и обработки сигналов, соответствующие технические средства, основанные на преобразовании Фурье, использовании резонансных свойств элементов и устройств. В последние годы СШС успешно применяются в различных областях науки и техники. Более того, сегодня сверхширокополосные технологии продолжают бурное и стремительное развитие, о чем свидетельствует как постоянно увеличивающееся количество публикаций, так и продвижение на рынок соответствующих технических изделий и средств.

Также важно отметить, что СШС могут иметь не только искусственное происхождение. Оказывается, многие процессы в природе обладают сверхшироким спектром, а потому для их исследования и описания тоже могут быть полезны методы, применяемые для анализа СШС.

Имитационное моделирование устройства корреляционного приема и анализа параметров сверхширокополосных сигналов

Проектирование имитационной модели устройства корреляционного анализа подразумевает под собой проектирование системы генерации сигнала, канала связи, корреляционного приемника, а также средств анализа полученных результатов. На рисунке 1 представлен общий вид имитационной модели устройства корреляционного анализа.

Рисунок 1 - Общий вид имитационной модели

Рисунок 1 - Общий вид имитационной модели

 

Представленная на рисунке 1 имитационная модель состоит из трех главных виртуальных подсистем (ВП):

  • генератор СШС, осуществляющий генерацию хаотического сигнала (ХС) заданной мощности и частоты;
  • линия связи, имитирующая прохождение ХС через непрерывный канал связи;
  • корреляционный приемник, осуществляющий прием, обработку и анализ принятого сигнала.

Рассмотрим имеющиеся ВП более подробно.

 

Генератор СШС


Структурная схема генератора представлена на рисунке 2.

 

Рисунок 2 - Структурная схема генератора СШС

Рисунок 2 - Структурная схема генератора СШС

 

Рассмотрим более подробно блоки, входящие в состав ВП генератора СШС:

  • Random Source Generator – данный блок является генератором ХС;
  • Gain – данный блок усиливает сигнал до требуемых значений;
  • Variance – данный блок вычисляет дисперсию входных значений, то есть производит вычисление средней мощности сигнала.

В момент запуска модели генератор СШС имеет на своем выходе ХС, мощность и осциллограмма которого представлены на рисунках 3 и 4 соответственно.

 

Рисунок 3 - Мощность генерируемого СШС (ГСШС)

Рисунок 3 - Мощность генерируемого СШС (ГСШС)

 

Рисунок 4 - Осциллограмма генерируемого ХС

Рисунок 4 - Осциллограмма генерируемого ХС

 

С выхода генератора СШС ХС поступает на вход ВП канала связи.

 

Канал связи

 

Структурная схема канала связи представлена на рисунке 5.

 

Рисунок 5 - Структурная схема канала связи

Рисунок 5 - Структурная схема канала связи

 

Рассмотрим более подробно блоки, входящие в состав ВП канала связи:

  • Random Source Generator – данный блок является генератором шума;
  • Delay – данный блок задерживает сигнал на требуемое количество отсчетов. В модели данный блок осуществляет задержку входного ХС на 15 отсчетов;
  • Add – данный блок в модели добавляет шум к входному сигналу;
  • Gain – данный блок в модели усиливает сигнал до требуемых значений;
  • Variance – данный блок в модели вычисляет дисперсию входных значений, то есть производит вычисление средней мощности сигнала.

Осциллограмма, отображающая сравнение эталонного сигнала из генератора СШС и пройденного ХС через линию связи, представлена на рисунке 6. Мощность сигнала при прохождении через канал связи представлена на рисунке 7.

 

Рисунок 6 - Осциллограмма сравнения сигналов

Рисунок 6 - Осциллограмма сравнения сигналов.

 

Рисунок 7 - Мощность сигнала при прохождении через линию связи

Рисунок 7 - Мощность сигнала при прохождении через линию связи

 

На выходе канала связи наблюдается смесь ХС с генерируемым шумом, который воздействует на сигналы в реальных системах. В процессе прохождения канала связи сигнал получает требуемое значение задержки отсчетов, равное 15 отсчетам, относительно эталонного сигнала из генератора СШС. После прохождения канала связи ХС поступает в ВП корреляционного приемника, где происходит дальнейшая обработка и анализ.

 

Корреляционный приемник

 

ВП корреляционного приемника состоит из следующих ВП:

  • АЦП
  • Коррелятор
  • Обнаружитель
  • Нормировка
  • Модуль верификации
  • Поиск индекса линии задержки

Общий вид структурной схемы ВП корреляционного приемника представлен на рисунке 8.

 

Рисунок 8 - Структурная схема ВП корреляционного приемника

Рисунок 8 - Структурная схема ВП корреляционного приемника

 

Рассмотрим каждую из ВП корреляционного приемника более подробно.

 

АЦП

Структурная схема ВП АЦП представлена на рисунке 9.

 

Рисунок 9 - Структурная схема ВП АЦП

Рисунок 9 - Структурная схема ВП АЦП

 

Рассмотрим более подробно блоки, входящие в состав ВП АЦП[14]:

  • Zero-Order Hold – данный блок осуществляет дискретизацию входного сигнала по времени;
  • Quantizer – данный блок осуществляет квантование входного сигнала по уровню.

Данная ВП позволяет выполнить имитационное моделирование АЦП и проанализировать, как изменится сигнал при прохождении через него. На рисунке 10 представлена осциллограмма, на которой видно сравнение сигнала до и после АЦП. Исходя из идентичности осциллограмм, можно сделать вывод, что процесс аналого-цифрового преобразования был выполнен корректно.

 

Рисунок 10 - Осциллограмма сравнения до и после АЦП

Рисунок 10 - Осциллограмма сравнения до и после АЦП

 

После ВП АЦП цифровой сигнал поступает в следующие ВП для дальнейшей обработки и анализа:

  • Коррелятора;
  • Нормировки;
  • Модуля верификации.

 

Коррелятор

Структурная схема ВП коррелятора представлена на рисунке 11.

 

Рисунок 11 - Структурная схема ВП коррелятора

Рисунок 11 - Структурная схема ВП коррелятора

 

Рассмотрим более подробно блоки, входящие в состав ВП коррелятора:

  • Tapped Delay – блок, позволяющий реализовать различные виды значений задержки входного сигнала;
  • Product - блок, выполняющий матричное или же поэлементное умножение. В модели данный блок будет являться частью коррелятора и осуществлять поэлементное умножение отсчетов эталонного сигнала с принятым сигналом;
  • Cumulative Sum – этот блок является частью коррелятора и выполняет суммирование с накоплением, которое является эквивалентным интегратору в аналоговых устройствах.

ВП коррелятора осуществляет вычисление значений корреляционной функции для принятого и эталонного сигнала. Вычисления проводятся параллельно для 100 линий задержки длинной в 1000 значений. На выходе ВП коррелятора формируется матрица 1000х100, которая поступает в последующие функциональные блоки системы. Для оценки результатов работы ВП коррелятора был использован блок Array Plot, позволяющий просматривать графики входных многомерных массивов значений. График полученной корреляционной функции представлен на рисунке 12.

 

Рисунок 12 - График корреляционной функции, полученный ВП коррелятора

Рисунок 12 - График корреляционной функции, полученный ВП коррелятора

 

Анализируя полученный график, можно сделать вывод о том, что вычисление значений корреляционной функции выполняется корректно, так как пик корреляционной функции ярко выражен при прохождении сигнала через 15 линию задержки.

После вычисления значений корреляционной функции полученный многомерный массив данных поступает на ВП обнаружителя и нормировки.

 

Обнаружитель

Структурная схема ВП обнаружителя представлена на рисунке 13.

 

Рисунок 13 - Структурная схема ВП обнаружителя

Рисунок 13 - Структурная схема ВП обнаружителя

 

Рассмотрим более подробно блоки, входящие в состав ВП обнаружителя[14]:

  • Max – блок, являющийся частью ВП обнаружителя и выполняющий поиск максимального значения принятого многомерного массива из коррелятора;
  • Standard Deviation – блок, определяющий дисперсию сигнала из коррелятора;
  • Gain – блок, осуществляющий деление максимальных значений входного массива с коррелятора на значение блока Alpha;
  • Add – блок, осуществляющий операцию вычитания пика ВКФ, нормированных по коэффициенту Alpha, из значений дисперсии сигнала из коррелятора;
  • Divide – блок, осуществляющий деление мощности всего сигнала на мощность шума, то есть мощность каналов, в которых отсутствует пик ВКФ;
  • Fcn – блок, реализующий пользовательскую функцию;
  • Math Function – блок, реализующий математическую операцию возведения в степень;
  • Constant (Alpha) – блок, определяющий допустимую вероятность ложной тревоги;
  • Constant (M) – блок, определяющий количество каналов коррелятора;
  • Divide – блок, реализующий операцию деления значения блока Alpha на значение М.

Принцип работы ВП обнаружителя описывается следующим образом. Одним из наиболее важный свойств оптимального приемника (коррелятора или согласованного фильтра) является вероятность правильного обнаружения сигнала PR, которая задается следующим выражением:

Выражение 14 - Вероятность правильного обнаружения сигнала

 

Вероятность ложной тревоги alpha необходимо выбирать с учетом роста данной вероятности из-за увеличения количества каналов в корреляторе, что описывается следующим выражением:

Выражение 15 - Вероятность ложной тревоги

 

Учитывая выражение (15), выражение (14) примет следующий вид:

 

На рисунке 14 представлен результат работы ВП обнаружителя.

 

Рисунок 14 - Результат работы обнаружителя

Рисунок 14 - Результат работы обнаружителя

 

Таким образом, вероятность правильного обнаружения СШС сигнала зависит от количества каналов коррелятора, ОСШ на входе коррелятора и допустимой вероятности ложной тревоги.

 

Нормировка

Структура ВП нормировки представлена на рисунке 15.

 

Рисунок 15 - Структурная схема ВП нормировки

Рисунок 15 - Структурная схема ВП нормировки

 

Рассмотрим более подробно блоки, входящие в состав ВП нормировки:

  • Variance – блоки, осуществляющие вычисление дисперсии принятого и эталонного сигнала;
  • Sqrt – блоки, извлекающие корень из полученного значения дисперсии;
  • Constant – блок, содержащий значение количества отсчетов эталонного сигнала.

ВП нормировки основана на следующем алгоритме. Для количественного определения схожести сигналов, используется коэффициент корреляции, описываемый следующим выражением:

Выражение 16 - Коэффициент корреляции

 

На рисунках 16, 17 и 18 представлен результат работы ВП нормировки.

 

Рисунок 16 - Нормированный график ВКФ

Рисунок 16 - Нормированный график ВКФ

 

Рисунок 17 - Результат работы ВП нормировки

 

Рисунок 18 - Результат работы ВП нормировки

Рисунок 18 - Результат работы ВП нормировки

 

Модуль верификации

Структурная схема ВП модуля верификации представлена на рисунке 19.

 

Рисунок 19 - Структурная схема ВП модуля верификации

Рисунок 19 - Структурная схема модуля верификации

 

Рассмотрим блоки, входящие в ВП модуля верификации, более подробнее[14]:

  • Buffer – блок, осуществляющий буферизацию входных отсчетов принятого сигнала;
  • Correlation – блок, осуществляющий вычисление ВКФ двух сигналов, основанный на встроенной функции MATLAB – xcorr;
  • Gain – блок, осуществляющий нормировку полученных значений ВКФ;
  • MinMax – блок, осуществляющий поиск пика нормированной ВКФ.

Данная ВП служит эталонным модулем, позволяющим с помощью графиков ВКФ и количественных значений пика ВКФ проверить работоспособность спроектированной системы. Результатами работы ВП модуля верификации представлены на рисунках 20 и 21.

 

Рисунок  20 - ВКФ ВП модуля верификации

                                    Рисунок 20 - ВКФ ВП модуля верификации

 

Рисунок 21 - Значение пика ВКФ ВП модуля верификации

Рисунок 21 - Значение пика ВКФ ВП модуля верификации

 

Поиск индекса линии задержки

Структурная схема ВП поиска индекса линии задержки представлена на рисунке 22.

 

Рисунок 22 - Структурная схема ВП поиска индекса линии задержки

Рисунок 22 - Структурная схема ВП поиска индекса линии задержки

 

Рассмотрим более подробно блоки, используемые в данной ВП:

  • Maximum – блок, осуществляющий поиск максимального значения среди поступающего массива столбцов значений и выводящий на свой выход индекс столбца, в котором было найдено максимальное значение ВКФ.

На рисунке 23 изображен результат работы ВП поиска индекса линии задержки.

 

Рисунок 23 - Значения индекса линии задержки

Рисунок 23 - Значение индекса линии задержки

 

По результатам имитационного моделирования корреляционного приемника в среде Simulink были спроектированы структурно-функциональные блоки реальной системы корреляционного анализа, в последствии реализованной внутри кристалла ПЛИС. Анализируя результаты моделирования всей системы, видно, что разработанная модель выполняет все поставленные перед задачи определения параметров генерируемого СШС, осуществления поиска временной задержки сигнала и расчету ОСШ, а также вычислению пика ВКФ и вероятности детектирования генерируемого СШС. Данная модель является оптимальной для использования в целях исследования других разновидностей СШС, их параметров и методов их обработки.

Разработка функционально-структурной схемы устройства корреляционного приема и анализа параметров сверхширокополосных сигналов на базе программируемой логики

Использование корреляционного метода анализа сигналов подразумевает наличие генератора колебаний, который будет генерировать зондирующий и опорный сигнал. Функциональная схема корреляционного приемника будет иметь вид, представленный на рисунке 24.

 

Рисунок 24 – Структурная схема устройства корреляционного анализа

                  Рисунок 24 – Структурная схема устройства корреляционного анализа

 

Структурная схема состоит из следующих элементов:

  • генератор сигнала;
  • корреляционный приемник
  • конечный автомат.

 

Генератор сигнала

В качестве генератора хаотического сигнала будет использоваться генератор псевдослучайной последовательности, представленный в виде М- последовательности. Данный вид генераторов реализуется только в цифровом виде, из-за чего генераторы псевдослучайных последовательностей обладают следующими преимуществами:

  • простота реализации;
  • отсутствие ограничений по частоте генерируемого сигнала;
  • универсальность. Данное преимущество обосновано тем, что, используя методы цифровой генерации сигналов, можно задать любую форму и частоту требуемого сигнала.
  • высокая стабильность параметров выходного сигнала.

Преимущество цифровых генераторов, в сравнении с аналоговыми, обосновано тем, что цифровые генераторы тактируются точными генераторами тактового сигнала, что позволяет свести к минимуму отклонения частоты выходного сигнала, а также тем, что цифровые генераторы подвержены минимальным отклонениям в значениях своих параметров во времени.

В нашем случае генератор псевдослучайной последовательности представляет собой цифровую схему регистра сдвига с линейной обратной связью. Структура данного генератора, а также особенность работы будут рассмотрены далее.

 

Конечный автомат

Данное устройство будет осуществлять управление генератором сигнала и корреляционного приемника, синхронизируя их работу между собой. Особенностью данного автомата является то, что он управляет всей схемой, путем использования всего лишь двух сигналов разрешения работы модулей. Структура и особенности работы данного модуля будут рассмотрены далее.

 

Корреляционный приемник

Корреляционная обработка базируется на использовании коррелятора, состоящего из умножителя и сумматора с накоплением выходных отсчетов умножителя. Данный модуль будет осуществлять управление работой АЦП, выполнять вычисление значений ВКФ, осуществлять их анализ, путем поиска пика ВКФ, среди входных значений из умножителя. Структура и особенности работы данного модуля будут рассмотрены далее.

 

Выбор компонентной базы для разработки макета устройства

Решая задачу генерации и цифровой обработки сигнала, необходимо осуществить выбор компонентной базы, на основе которой будет проводиться проектирование всей системы. Основными узлами схемы являются:

  • генератор сигнала, генерирующий ХС и управляющий работой ЦАП;
  • корреляционный приемник, осуществляющий вычисление значений ВКФ принятого и эталонного сигнала и управление работой АЦП;
  • конечный автомат, управляющий всей системой.

Рассмотрим используемую компонентную базу более подробно, однако, учтем, что вся система должна базироваться на одной микросхеме, которая способна управлять драйверами ЦАП и АЦП, иметь возможность аппаратным способом реализовывать алгоритмы цифровой обработки сигналов, а также иметь высокое быстродействие и возможность одновременной параллельной работы всей системы.

 

ЦАП

Для генерации СШС требуется ЦАП с высокой частотой дискретизации (например, семейство микросхем ЦАП компании Texas Instruments – DAC38RFxx), высокоскоростные производительные интерфейсы (например, JESD204/JESD204B), а также устройство цифровой обработки сигналов, способное обеспечить высокую пропускную способность и вычислительную мощность для осуществления данной задачи. Микросхемы ЦАП для генерирования СШС, а также устройства цифровой обработки, имеющие требуемую вычислительную мощность дорогостоящие, поэтому был сделан выбран в пользу простого цифро-аналогового преобразователя звуковых частот компании Texas Instruments – DAC7512.

 

Таблица 1 – Технические характеристики ЦАП DAC7512

Таблица 1

 

АЦП

Оцифровка принимаемого СШС должна производиться АЦП, способным работать на частоте дискретизации не менее 3 ГГц (например, семейство микросхем АЦП компании Texas Instruments – ADC32RF45). Высокоскоростные АЦП имеют высокую стоимость, поэтому был выбран АЦП компании Texas Instruments – TLC549.

 

Таблица 2 – Технические характеристики АЦП TLC549

Таблица 2

 

Микросхема цифровой обработки сигнала

Оптимальным решением для решения вышеописанных задач генерации и цифровой обработки сигнала является микросхема ПЛИС. Данная микросхема имеет большое количество логических ячеек, которые могут быть конфигурированы для решения широкого спектра задач, блоки встроенной памяти, открывающие большие возможности в области работы с данными для задач цифровой обработки сигналов, а также встроенные умножители, которые оптимально подходят для реализации алгоритмов цифровой обработки сигналов. Важно особенностью микросхем ПЛИС является наличие параллелизма, позволяющего одновременно работать различным функциональным узлам на разных тактовых частотах, что делает данные микросхемы универсальными для областей телекоммуникации, обработки информации, цифровой обработки сигналов. Наличие блоков PLL (ФАПЧ) внутри ПЛИС позволяет получать частоты работы отдельных цифровых устройств выше тактирующей частоты кристалла.

В проекте корреляционного приемника СШС была использована ПЛИС компании Altera серии Cyclone IV EP4CE10F17C8N, технические характеристики которой представлены в таблице 3. Внешний вид отладочной платы, а также плата расширения для нее, представлены на рисунках 25 и 26 соответственно.

 

Таблица 3 – Технические характеристики ПЛИС Altera Cyclone IV EP4CE10F17C8N

Таблица - 3

 

Рисунок 25 – Внешний вид отладочной платы ПЛИС Altera Cyclone IV EP4CE10F17C8N

Рисунок 25 – Внешний вид отладочной платы ПЛИС Altera Cyclone IV EP4CE10F17C8N

 

Рисунок 26 – Внешний вид платы расширения для отладочной платы ПЛИС Altera Cyclone IV EP4CE10F17C8N

Рисунок 26 – Внешний вид платы расширения для отладочной платы ПЛИС Altera Cyclone IV EP4CE10F17C8N

 

Алгоритм вычисления значений корреляционной функции основывается на операции умножения с накоплением. В микросхемах ПЛИС для выполнения данного алгоритма используются специальные блоки – умножители, структурная схема которых представлена на рисунке 27. Умножители могут работать как в режиме обычного умножения двух чисел, так и в режиме умножения с накоплением. Универсальность и простота использования встроенных умножителей позволяет качественно и за короткие сроки использовать достоинства параллелизма ПЛИС в решении различных задач.

 

Рисунок 27 – Структурная схема аппаратного умножителя

                           Рисунок 27 – Структурная схема аппаратного умножителя

 

Разработка программной части макета корреляционного приемника на языке описания цифровой аппаратуры Verilog

 

Конечная схема устройства корреляционного анализа СШС, описанная на языке Verilog, представляет собой общий модуль, в котором включены: генератор сигнала, корреляционный приемник, а также конечный автомат, управляющий работой всей схемы. При проектировании корреляционного приемника на ПЛИС была использована САПР Quartus II версии 13.1 предоставляемая компанией Intel для микросхем ПЛИС. При выполнении моделирования и отладки полученных результатов была использована среда ModelSim-Altera Starter Edition 10.1d, поставляемая в комплекте с САПР Quartus II 13.1. Общий вид структурной схемы представлен на рисунке 28.

 

Рисунок 28 – Общий вид структурной схемы корреляционного приемника в инструменте RTL Viewer

Рисунок 28 – Общий вид структурной схемы корреляционного приемника в инструменте RTL Viewer

 

Генератор сигналов

При выполнении задач оценки параметров СШС одним из основных предъявляемых требований сигналу, является график его ВКФ. Для генерации простейшего сверхширокополосного ХС была использована псевдослучайная последовательность, основанная на М-последовательности. Генерация данных последовательностей в цифровой технике происходит с помощью регистров сдвига с линейной обратной связью (РСЛОС). В настоящей работе параметры генератора сигнала заданы следующим образом:

  • длина кодовой последовательности 2047 чипов;
  • частота работы генератора 4.3 МГц.

Структурная схема данного генератора имеет вид, изображенный на рисунке 29.

 

Рисунок 29 – Структурная схема РСЛОС

                                    Рисунок 29 – Структурная схема РСЛОС

 

Структурная схема Verilog-модуля генератора сигнала представлена на рисунке 30.

 

Рисунок 30 – Структурная схема Verilog-модуля генератора сигнала в инструменте RTL Viewer

Рисунок 30 – Структурная схема Verilog-модуля генератора сигнала в инструменте RTL Viewer

 

Генератор сигнала имеет следующие порты ввода-вывода:

  • CLK_GENERATOR – вход генератора опорной тактовой частоты 50 МГц;
  • EN_GENERATOR_TX – вход разрешения работы генератора;
  • RST_GENERATOR – вход асинхронного сброса генератора;
  • o_CS_DAC – выход синхронизации для ЦАП;
  • o_MOSI_DAC – выход передачи битовых значений для ЦАП, согласно интерфейсу SPI
  • o_SCLK_DAC – выход тактового сигнала для ЦАП, согласно интерфейсу SPI.

 

Драйвер ЦАП

Генерация ХС в аналоговом виде будет осуществляться с помощью ЦАП. Интерфейс обмена данными между генератором сигналов и ЦАП происходит посредством SPI интерфейса, согласно таблице 1. В настоящей работе параметры интерфейса SPI следующие:

  • частота работы тактирующего сигнала SCLK – 4,3 МГц, при которой выходная частота ХС будет иметь значение в 10 кГц;
  • длина пакета 12 бит.

Согласно документации, SPI интерфейс используемого в проекте ЦАП работает согласно режиму 1.

Модуль имеет следующие порты ввода-вывода:

  • CLK_DAC – вход тактовой частоты 50 МГц;
  • RST_DAC – вход асинхронного сброса;
  • DATA_IN_DAC – шина входных данных из генератора сигнала;
  • CS_DAC – выход синхронизации работы ЦАП;
  • SCLK_DAC – выход тактового сигнала SCLK для синхронизации работы SPI интерфейса ЦАП (4,3 МГц);
  • MOSI_DAC – выход данных из регистра SPI интерфейса на вход ЦАП.

Данные из генератора сигнала поступают в виде 12-разрядного числа в конечный автомат, который управляет синхронным приемом данных из генератора, осуществляемому по переднему фронту SCLK_DAC в регистр, далее модуль формирует выходные битовые значения и отправляет их побитно в ЦАП через выход MOSI_DAC.

 

Корреляционный приемник

Принятый сигнал после АЦП поступает в корреляционный приемник. В нем будет производится вычисление значений ВКФ/АКФ, посредством изменения величины задержки эталонного сигнала относительно принятого.

Структурная схема корреляционного приемника представлена на рисунке 31.

 

Рисунок 31 – Структурная схема Verilog-модуля корреляционного приемника в инструменте RTL Viewer

Рисунок 31 – Структурная схема Verilog-модуля корреляционного приемника в инструменте RTL Viewer

 

Данный модуль включает в себя:

  • драйвер АЦП;
  • эталонный генератор псевдослучайной последовательности, имеющий такие же характеристики и структуру, как и у генератора сигналов;
  • конфигурируемая линия задержки, необходимая для задержки эталонного сигнала на заданные временные интервалы;
  • аппаратный умножитель, реализующий операцию умножения с накоплением;
  • устройство сравнения, анализирующее выходные значения с умножителя.

 

Драйвер АЦП

Перевод аналогового сигнала в цифровой вид для дальнейшей обработки будет осуществляться посредством использования АЦП. Модуль АЦП включает в себя отдельный модуль интерфейса SPI. Согласно документации, SPI интерфейс для АЦП TLC549 работает согласно режиму 2.

Модуль имеет следующие порты ввода-вывода:

  • CLK_ADC – вход тактовой частоты 50 МГц;
  • RST_ADC – вход асинхронного сброса;
  • DATA_OUT_ADC – шина выходных данных с АЦП (8 бит);
  • CS_ADC – выход синхронизации работы АЦП;

SCLK_ADС – выход тактового сигнала SCLK для синхронизации работы SPI интерфейса АЦП (825 кГц), частота которого соответствует частоте дискретизации входного сигнала в 40 кГц.

Данные из АЦП поступают в модуль управления интерфейсом SPI для АЦП. Управляющий конечный автомат на основе временных диаграмм режима работы интерфейса по спаду SCLK_ADC формирует 8-разрядное число, поступающее на вход коррелятора.

 

Конфигурируемая линия задержки

Оценка временной задержки принимаемого сигнала производится за счет сравнения принятого и задержанной эталонной копией этого сигнала. Осуществление задержки эталонного сигнала производится с помощью линии задержки, которая в цифровых устройствах представляет их себя регистр сдвига, имеющий необходимую длину регистра и требуемое количество отводов, соответствующих определенным временным интервалам.

Модуль имеет следующие порты ввода-вывода:

  • CLK_DELAYLINE – вход тактовой частоты 50 МГц;
  • RST_DELAYLINE – вход асинхронного сброса;
  • DATA_IN_DELAYLINE – вход данных с эталонного генератора сигнала;
  • NUM_DELAYLINE – вход адреса используемой линии задержки.

Данные с эталонного генератора поступают по фронту CLK_DELAYLINE в модуль линии задержки. Также по фронту CLK_DELAYLINE происходит сдвиг входных данных в следующие ячейки. Подавая на вход NUM_DELAY значение требуемой линии задержки, выход линии задержки подключается с помощью демультиплексора к нужной ячейке регистра сдвига.

 

Умножитель

Производя корреляционный анализ сигналов, необходимо производить вычисление значений ВКФ для принимаемого и эталонного сигнала. Математически, вычисление значений ВКФ сводится к использованию операции умножения с накоплением. В ПЛИС для реализации данного алгоритма используются аппаратные умножители, использующие блоки памяти для аккумулирования полученных значений.

Использование аппаратных умножителей возможно с помощью инструменты MegaWizard Plug-In Manager. Данный инструмент позволяет выбрать необходимые параметры проектируемого умножителя и сконфигурировать Verilog-модуль. Конечная структура аппаратного умножителя представлена на рисунке 32.

 

Рисунок 32 – Структура аппаратного умножителя

                           Рисунок 32 – Структура аппаратного умножителя

 

Модуль имеет следующие порты ввода-вывода:

  • dataa – входная шина данных на первый вывод умножителя
  • datab – входная шина данных на второй вывод умножителя
  • clock0 – вход опорного генератора 50 МГц;
  • aclr3 – вход асинхронного сброса всего аппаратного умножителя;
  • result – выходная шина аккумулируемых значений;
  • overflow – выходной сигнал переполнения аккумулятора.

На вход dataa поступают данные с модуля АЦП, а на вход datab поступают данные из модуля конфигурируемой линии задержки. Все данные поступают в 8-битном формате. После умножения двух 8-битных значений данные поступают на вход аккумулятора для последующего накопления с предыдущими значениями. В аккумуляторе учтено переполнение, поэтому его разрядность равна 17 битам. В процессе работы умножителя на его входе будет формироваться ВКФ двух сигналов.

 

Устройство анализа результатов

Получая значения ВКФ, сформированные умножителем, необходимо провести правильное детектирование пика ВКФ. Решение данной задачи будет осуществлять модуль детектирования, осуществляющий сравнение входных значений с эталонным, при достижении которого формируя на выходе модуля корреляционного приемника значение адреса линии задержки, на которой был обнаружен требуемый пик ВКФ. Модуль имеет следующие порты ввода-вывода:

  • DATA_IN_CORRELATOR – входные значения ВКФ из аппаратного умножителя;
  • CLK_DETECTOR – вход опорного генератора 50 МГц;
  • RST_DETECTOR – вход асинхронного сброса;
  • RST_CORRELATOR – выходной сигнал сброса умножителя после каждого периода ПСП, генерируемой опорным генератором эталонного сигнала;
  • DETECT_SIGNAL – сигнал обнаружения сигнала;
  • VKF_DELAYLINE – адрес линии задержки, в которой был найден пик ВКФ.

 

Конечный автомат

Управление устройством корреляционного анализа осуществляется с помощью конечного автомата (КА). Данный КА синхронизирует работу опорных генераторов на передающей и приемной стороне, а также осуществляет управление Verilog-модулем корреляционного приемника. Структурная схема данного автомата представлена на рисунке 33.

 

Рисунок 33 – Структурная схема Verilog-модуля конечного автомата в инструменте RTL Viewer

Рисунок 33 – Структурная схема Verilog-модуля конечного автомата в инструменте RTL Viewer

 

Модуль имеет следующие порты ввода-вывода:

  • CLK_SM – вход опорного генератора 50 МГц;
  • DET_SIGNAL – сигнал обнаружения сигнала;
  • RST_SM – вход асинхронного сброса;
  • i_SCLK_ADC – входной сигнал тактирующего генератора SCLK из драйвера АЦП;
  • EN_GEN_RX – выход управления работой эталонного генератора сигналов в корреляционном приемнике.
  • EN_GEN_TX – выход управления работой генератора сигнала.

Граф состояний конечного автомата представлен на рисунке 34.

 

Рисунок 34 – Граф конечного автомата

Рисунок 34 – Граф конечного автомата

 

Разработанный конечный автомат, имеет следующие состояния:

  • idle – начальное состояние системы. В данном состоянии генераторы и корреляционный приемник находятся в состоянии сброса. Переход к следующему состоянию происходит только при отсутствии единицы на входе RST_SM;
  • start – данное состояние запускает генератор сигнала и корреляционный приемник. В процессе работы устройства переход в следующее состояние конечного автомата осуществляться только при наличии разрешения на входах EN_GEN_TX и EN_GEN_RX;
  • check - в данном состоянии конечный автомат ожидает наличия разрешения (единицы) на входе DET_SIGNAL. Переход в следующее состояние происходит лишь в том случае, если на вход DET_SIGNAL принимает активно состояние, в ином случае, система продолжает анализировать входной сигнал до его обнаружения.
  • solution – данное состояние системы достигается при детектировании сигнала. После детектирования конечный автомат останавливает работу генератора сигнала и корреляционного приемника.

Таким образом, в результате проектирования программной части корреляционного приемника были созданы модули управления устройством, генерации сигнала и корреляционной обработки. Все модули были объединены и подключены согласно схеме. Полученный модуль устройства корреляционного анализа был скомпилирован в среде Quartus II 13.1. Характеристики модуля и занимаемые им ресурсы представлены в таблице 4.

 

Таблица 5 – Характеристики программного модуля

Таблица 4 – Характеристики программного модуля

 

Результаты симуляции программной части макета устройства

 

Проверка работоспособности программной реализации корреляционного приемника была осуществлена методом программного моделирования с помощью ModelSim-Altera Starter Edition 10.1d от компании Mentor Graphics, поставляемой вместе с САПР Quartus II 13.1 на сайте Intel.

На рисунке 35 представлена совместная работа модулей генерации сигнала, корреляционного приемника и конечного автомата. Согласно портам входов-выходов, описанных ранее модулей, видно, что в процессе работы модуля данные из генератора сигналов DATA_ADC, поступают на вход ЦАП DAC7512, после чего поступают в корреляционный приемник на входы data и datab аппаратного коррелятора. Из временных диаграмм видно, что на выходе коррелятора result наблюдается график ВКФ принятого и эталонного сигнала. Согласно алгоритму работы модуля анализа результатов видно, что данный модуль осуществляет смену адреса линии задержки на выходе NUM_DELAYLINE до тех пор, пока отсутствует пик ВКФ. После детектирования пика ВКФ, значение порта VKF_DELAYLINE становится равным значению адреса линии задержки, при использовании которой был обнаружен этот пик. Также стоит отметить работу сигнала RST_CORRELATOR, формирующего сброс аппаратного умножителя, который не позволяет допустить его переполнения, что видно по отсутствию импульсов сигнала overflow за все время работы системы.

 

Рисунок 35 – Результат симуляции всей системы

Рисунок 35 – Результат симуляции всей системы

 

На рисунке 36 сигнал детектирования DETECT_SIGNAL принимает логическую единицу только при превышении допустимого порогового значения ВКФ, что говорит об устойчивости модуля анализа к искажениям и ошибочным значениям ВКФ, а также о корректной работе программной части устройства.

Рисунок 36 – Значение пика ВКФ

Рисунок 36 – Значение пика ВКФ

Спасибо за внимание!

Файлы

  • Model_18b.slx

Теги

    06.02.2021

    Комментарии

    • maktahver
      maktahver+1.00
      6.02.2021 16:49

      Вот это я понимаю, потенциальный победитель, я считаю.

      • Baron492
        Baron492+1.20
        6.02.2021 22:26

        Однозначно, +++++

        • Manson
          Manson+1.20
          21.03.2021 17:57

          Мне понравилась работа. Взял ее для дальнейших исследований, спасибо!

           

          • Foxi
            Foxi+0.80
            21.03.2021 19:02

            Хорошая работа для студента. Думали над оптимизацией работы под какую-либо платформу? Имею ввиду оптимизацию модели таким образом, чтобы она учитывала особенности работы ПЛИС (задержки, фиксированная точка, разрядность значений). Думаю было бы интересно получить модель, составные блоки которой (или всю модель) можно было бы перевести в HDL код с помощью HDL Coder, а также использовать co-simulation для оптимальной разработки и отладки. 

            Успехов Вам. Советую дальше развивать данное направление. 

            • IgorKashkin
              IgorKashkin+19.50
              23.03.2021 21:12

              Да, так как изначально была цель сделать макет корреляционного приемника в ПЛИС на основе имитационной модели в Simulink.

              Модель дорабатываю для того, чтобы ее можно было автоматически перевести в ПЛИС. 
              Методику co-simulation осваиваю потихоньку, но пока для "песочных" примеров, однако, идея хорошая, спасибо)

              Спасибо за пожелания)

            • Psina
              Psina+0.60
              23.03.2021 22:37

              Достойная работа. Сразу видно победителя++++++

              • J75
                J75+0.60
                27.03.2021 14:42

                Отличная работа. Очень понравилось, что работа состоит не только из "сухого" моделирования, но и имеет техническую реализацию. Крайне достойный уровень для студента, желаю успехов! 

                • IgorKashkin
                  IgorKashkin+19.50
                  27.03.2021 14:44

                  Спасибо, приятно слышать)

                • AnnaV
                  AnnaV+0.40
                  2.04.2021 20:39

                  Первое, что хотелось бы отменить, работа написано слаженно и прослеживается логика во всей структуре работы.Второе, конечно же уровень подготовленности. Модельку я себе взяла, интересно ее "поковырять"),Отдельно хочу отметить то, что студент пошел дальше моделирования, учитывая специфику разработки проектов на ПЛИС, это серьезный шаг, ответственность за который не каждый может на себя взять.Направление работы на данный момент очень популярно, так как те же чипы U1 в iPhone используют UWB сигналы и изучение данной темы студентом, учитывая ее сложность, очень похвально.От статьи остались хорошие впечатления, успехов автору в этом деле

                  • IgorKashkin
                    IgorKashkin+19.50
                    2.04.2021 20:44

                    Спасибо)
                    В дальнейшем, возможно, появится и вторая версия модели, где будут учтены ошибки этой модели, а также добавленые новые идеи