Inquirer5 fishermen nabbed for alleged blast fishing in Occidental MindoroThe Jerusalem PostMassive overnight Russian attack leaves over half a million Ukrainians without power, Zelensky saysPunchEPL: Raya proud of Arsenal’s ‘incredible’ reaction after third straight winDaily MaverickBrazil’s Bolsonaro, Lula spar in first debate as personal attacks flyBusiness AMPoetin versterkt de luchtverdediging van zijn luxueuze landgoed in Valdai tegen dronesZDF heuteEntdecken Sie das ZDF-NachrichtenstudioThe South AfricanKaizer Chiefs rumours: Maboe, Leaner bust-up, Da Cruz’s failed experimentIl Fatto QuotidianoPerché le proteste dei giovani hanno ragione di esistereVarietyLucca Comics Chief Emanuele Vietina on Celebrating the Crossover Between Movies and Video Games: ‘It’s All Part of a Specific Vision’RTL Boulevard'Verwoestende' represailles voor EU als het Starlink beperktNHK 社会神奈川 藤沢 乗用車がバスなど次々に衝突1人死亡13人けがScreen RantCall Of Duty: Modern Warfare 4 Players Need To Change This Setting For A Key Advantage
The Daily Newsstand · Free, Always
Monday, October 19, 2026

Zynq 7020 + AD9361. Часть 1. Вводная

Translate

Наконец-то пришла пора перейти к рассмотрению довольно-таки устаревшего, но все еще часто используемого, SDR-трансивера AD9361 с связке с ранее рассматривавшейся платой RK-ZYNQ7020-F у которой есть подходящий FMC LPC разъем. И недавно я заказал две платы AD-FMCOMMS3-EBZ для организации канала связи “точка-точка” и хотел бы по кирпичикам, с самых основ и постепенно усложняя материал, рассмотреть как решать практические задачи построения реальных модемов с ПЛИС и каналов связи. 

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

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

Всем интересующимся - добро пожаловать под кат. 

Важно! Перед началом повествования, хотелось бы заранее оговориться, что основная цель, которую я преследую при написании этой статьи - рассказать о своем опыте, с чего можно начать, при изучении отладочных плат на базе Zynq и SDR. Я не являюсь профессиональным разработчиком под ПЛИС и SoC Zynq, не являюсь системным программистом под Linux и могу допускать какие-либо ошибки в использовании терминологии, использовать не самые оптимальные пути решения задач, etc. Но отмечу, что любая конструктивная и аргументированная критика только приветствуется.

На кого рассчитан материал

Начну с уточнения, на кого изначально рассчитан материал, чтобы предвосхитить любые негодования. Данная статья рассчитана прежде всего на читателя с начальными знаниями в области электротехники и радиоэлектроники. Я постарался построить последовательность изучения следующим образом: начать с рассмотрения основ, характеристик физических сигналов, представления данных, после перейти к рассмотрению архитектуры самого AD9361 как способа решения описанных задач стоящих перед разработчиком при построении радиоустройств и каналов связи, рассмотреть схему платы, как организуется взаимодействие FPGA/SDR с прикладным софтом, и далее, конечно же, рассмотреть возможные ограничения (и сопутствующие приключения) и практические кейсы для погружения в практическую плоскость взаимодействия с данной связкой плат. 

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

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

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

Итак, с ожиданиями от материала разобрались, идем дальше. 

Введение

Итак. Что же нам позволяет делать плата AD-FMCOMMS3-EBZ с AD9361BBCZ. Если отвечать на этот вопрос односложно, то ответ мог бы выглядеть следующим образом: данный чип на отладочной плате позволяет исследовать и воспроизводить радиосигналы. А также наблюдать напряжение на радиочастотном разъеме, получать цифровую запись принятого сигнала и разрабатывать алгоритмы, которые извлекают из этой записи полезные данные. Так же плата позволяет решить и обратную задачу: вычислять передаваемую форму сигнала и передавать его через радиочастотный выход в эфир.

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

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

Поэтому разберемся с этим всем более подробно. И начнем мы с базовых основ.

Глава 1. Базовые основы

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

1.1. Задача радиоприемника, радиопередатчика и приемопередатчика

Сообщение и сигнал

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

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

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

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

Колебание и несущая

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

Время одного полного повторения называется периодом. Частота показывает число повторений за секунду и измеряется в герцах, Гц. Частота 1 МГц означает миллион колебаний в секунду, а 1 ГГц - миллиард.

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

Данные характеристики лучше рассмотреть на простом примере. Представьте два одинаковых маятника. Размах их движения соответствует амплитуде, число полных качаний за секунду - частоте. Если один маятник проходит середину, когда другой находится у края, между их движениями есть фазовый сдвиг. Колебания могут иметь одинаковую частоту и разные фазы.

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

Модуляция и символы

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

Представьте передачу данных фонариком: в каждом одинаковом по длительности интервале тусклый свет означает 0, а яркий - 1. Передатчик меняет яркость по заданной последовательности, а получатель читает ее по тому же правилу. Это аналогия передачи через изменение амплитуды. Она иллюстрирует выбор между двумя уровнями, с помощью которого можно кодировать данные договорившись заранее о системе отсчётов.

Для частотной модуляции можно представить мигание фонариком: медленное моргание обозначает 0, быстрое - 1. 

А для фазовой модуляции можно привести такой пример. Представим два фонарика, яркость которых плавно увеличивается и уменьшается с одинаковой частотой. Один фонарик служит опорным. Для передачи 0 второй фонарик мигает одновременно с опорным: максимумы и минимумы яркости совпадают. Для передачи 1 его мигание сдвигается на половину периода: когда опорный фонарик светит максимально ярко, второй имеет минимальную яркость, и наоборот. Частота и диапазон изменения яркости остаются прежними, меняется положение цикла относительно опорного. В этой аналогии опора показана явно для удобства; радиоприемник использует собственное опорное колебание и выполняет необходимую синхронизацию.

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

В примере с двумя уровнями яркости один символ передает один бит. Если различать четыре уровня, можно сопоставить им пары 00, 01, 10 и 11. Тогда один символ передает два бита, но приемнику сложнее различать близкие уровни при наличии шума, коим в этой аналогии может быть например туман между приемником и передатчиком.

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

Спектр и полоса частот

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

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

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

Например, если амплитуда несущей 2400 МГц меняется по синусоидальному закону с частотой 100 кГц, в спектре появляются три составляющие:

Составляющая

Частота

Нижняя боковая

2399,9 МГц

Несущая

2400 МГц

Верхняя боковая

2400,1 МГц

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

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

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

Например, сигнал с центральной частотой 2400 МГц и полосой 1 МГц занимает приблизительно область от 2399,5 до 2400,5 МГц. Центральная частота указывает положение сигнала в спектре, а полоса - ширину занимаемой области.

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

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

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

Прием и восстановление сообщения

На приемной стороне антенна преобразует энергию приходящей волны в электрический сигнал. Вместе с полезной передачей она принимает другие сигналы и шум.

Приемный тракт - последовательность узлов, через которые проходит принимаемый сигнал. 

Передающий тракт - соответствующая последовательность на стороне передачи.

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

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

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

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

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

Шум, помехи и ошибки

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

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

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

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

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

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

Обозначения и режимы работы

Обычно для ролевого обозначения элементов радиосети используются следующие:

Обозначение

Значение

Что обозначает в системе

TX

Transmit

Передачу или передающий тракт

RX

Receive

Прием или приемный тракт

RF

Radio Frequency

Радиочастотную часть сигнала или устройства

Transceiver

Transmitter + Receiver

Устройство, объединяющее передающие и приемные функции

Если устройства передают в обе стороны поочередно, это полудуплексная связь. Аналогия - разговор по рации: один говорит, другой слушает. Разделение направлений по времени называют TDD, Time Division Duplex.

При одновременной передаче в обе стороны связь является полнодуплексной. Часто направления разделяют по частоте: одно устройство передает на одной частоте, а принимает на другой. Это FDD, Frequency Division Duplex.

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

Соединение по кабелю для лабораторных испытаний

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

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

В документации ослабление часто выражают в децибелах, dB. Ослабление 10 dB означает уменьшение мощности в 10 раз, а 20 dB - в 100 раз. dBm обозначает мощность относительно 1 мВт: 0 dBm соответствует 1 мВт. dB описывает отношение, а dBm - уровень мощности.

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

1.2. Основные определения

Аналоговый сигнал и числовые отсчеты

Чтобы понять что такое SDR, сначала рассмотрим, как физический сигнал становится доступен цифровой обработке.

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

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

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

Квантование - представление измеренного значения одним из доступных числовых уровней. Это похоже на измерение длины линейкой с ограниченным числом делений. Разрядность АЦП определяет число бит для одного результата: 12 бит позволяют представить 4096 разных уровней.

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

Биты сообщения, символы модуляции и отсчеты сигнала - разные представления. Сообщение содержит данные; символ задает выбранный вариант сигнала; отсчет описывает значение сигнала в конкретный момент. Один символ может описываться несколькими отсчетами. Поэтому частота дискретизации не равна автоматически ни символьной, ни битовой скорости.

Основная полоса и перенос по частоте

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

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

Если скорости одинаковы, взаимное положение меток остается постоянным. При этом оба диска продолжают вращаться.

Подобным образом приемник использует собственное опорное колебание, чтобы получить сигнал, связанный с разностью частот. Источник этой опоры называется гетеродином, LO или Local Oscillator. Это внутренний генератор, частоту которого можно настраивать.

Как происходит перенос

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

Например:

Величина

Значение

Частота входного колебания

2400,1 МГц

Частота гетеродина

2400 МГц

Разностная частота

0,1 МГц, или 100 кГц

Суммарная частота

4800,1 МГц

Для переноса вниз по частоте фильтр пропускает нужную низкочастотную составляющую и ослабляет высокочастотную. На выходе получается электрическое колебание с частотой 100 кГц. Его уже значительно удобнее оцифровывать и обрабатывать.

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

Что означает нулевая частота

Нулевая частота, или 0 Гц, соответствует постоянному значению. Например, постоянное напряжение не совершает периодических колебаний.

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

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

Поэтому выражение "перенести сигнал к нулевой частоте" означает разместить его спектр около 0 Гц. Частотные составляющие, связанные с модуляцией, продолжают присутствовать.

Что такое основная полоса

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

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

В AD9361 приемный тракт выполняет прямое преобразование радиосигнала в основную полосу. Для сохранения сведений об амплитуде и фазе используются две составляющие, I и Q, которые рассмотрим далее. После аналоговой фильтрации они оцифровываются.

Почему сообщение еще предстоит восстановить

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

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

На передающей стороне выполняется обратная последовательность. Цифровая часть формирует I/Q-отсчеты сигнала основной полосы. Передающий тракт AD9361 преобразует их в аналоговую форму и переносит в выбранный радиочастотный диапазон.

Представление сигнала через I и Q

При передаче данных мы можем менять амплитуду и фазу радиосигнала. Для его формирования нужно задать обе величины, а при приеме - получить сведения об их изменениях. В AD9361 для этого используется квадратурное представление I/Q.

Начнем со стрелки на плоскости. Ее положение можно описать двумя способами:

  • длиной стрелки и углом ее поворота;

  • горизонтальной и вертикальной координатами ее конца.

Эти способы описывают одну и ту же стрелку. Если ее конец находится справа от начала координат, горизонтальная координата положительна. Если слева - отрицательна. Аналогично вертикальная координата определяет положение выше или ниже начала.

В представлении радиосигнала координаты обозначают буквами I и Q. Длина соответствующей стрелки описывает амплитуду, а угол - фазу относительно выбранного опорного колебания. Теперь разберемся, как эти координаты связаны с электрическим сигналом.

Как из I и Q получается радиосигнал

В передающем тракте используются два опорных колебания одинаковой частоты. Между ними установлен фазовый сдвиг 90°, то есть четверть периода. Когда одно проходит через максимум, другое проходит через нулевое значение.

Значение I задает вклад первого опорного колебания, а Q - второго. Каждое колебание умножается на соответствующее значение, после чего результаты складываются.

Рассмотрим несколько случаев в условных единицах:

I

Q

Что участвует в формировании выходного сигнала

1

0

Только первое опорное колебание

0

1

Только второе, сдвинутое относительно первого на 90°

1

1

Оба колебания с одинаковым весом

-1

0

Первое колебание с противоположным знаком

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

При постоянных I и Q сумма двух опорных колебаний остается синусоидой той же частоты. Ее амплитуда и фаза зависят от выбранного соотношения I и Q. Например, одинаковые положительные значения дают промежуточное положение фазы между двумя опорами и большую амплитуду, чем каждое слагаемое отдельно.

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

На RF-разъеме получается одно результирующее напряжение. Два опорных колебания участвуют в его формировании внутри передающего тракта.

Откуда I и Q появляются при приеме

Приемник решает обратную задачу. Один входной радиосигнал поступает в две ветви обработки.

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

Обе ветви наблюдают один входной сигнал относительно разных фаз опоры. Совместно их результаты позволяют сохранить сведения об амплитуде и фазе относительно гетеродина приемника.

Затем АЦП измеряют I и Q. Во внешнюю цифровую часть поступают последовательности пар чисел.

I означает In-phase, синфазную составляющую, а Q - Quadrature, квадратурную составляющую. Сдвиг 90° относится к опорным колебаниям смесителей. Сами информационные сигналы I и Q могут иметь разную форму.

Что означает пара I/Q-отсчетов

Для каждого момента измерения имеется два значения: I и Q. Вместе они образуют один комплексный отсчет, описывающий сигнал одного RF-канала.

Например, пара I = 1 и Q = 0 соответствует одному положению стрелки, а I = 0 и Q = 1 - другому. Последовательность таких пар показывает, как положение стрелки меняется со временем.

В цифровой системе значения имеют ограниченную разрядность и могут быть положительными, отрицательными или нулевыми. Один символ модуляции обычно описывается несколькими I/Q-отсчетами.

I/Q и сигнальное созвездие

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

Биты

I

Q

00

1

0

01

0

1

11

-1

0

10

0

-1

Это условный пример: конкретное соответствие определяется выбранной схемой модуляции. Здесь каждый символ передает два бита.

Если изобразить допустимые положения на плоскости I/Q, получится сигнальное созвездие. Приемник оценивает, какому допустимому символу соответствует принятое значение.

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

Поэтому получение I/Q от AD9361 является исходным материалом для цифрового модема. Восстановление символов, битов и сообщения выполняется последующей обработкой.

Основы I/Q-представления изложены в AN-924 Analog Devices тут.

1.3. Программно определяемое радио, SDR

SDR, Software-Defined Radio, означает радиосистему, в которой существенная часть формирования и обработки сигнала задается программами или конфигурацией цифровой аппаратуры. К таким операциям относятся модуляция, демодуляция, цифровая фильтрация, обнаружение пакета и восстановление синхронизации.

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

Программная изменяемость проявляется двумя способами.

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

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

В системе на AD9361 используются оба способа. Параметры радиотракта задаются программно, а обработка пользовательских данных строится во внешней вычислительной части. Возможность перестройки и конфигурирования трактов предусмотрена архитектурой микросхемы. [AD9361 Reference Manual, UG-570]

При этом стоит помнить, что физические ограничения сохраняются при любых алгоритмах. Частотный диапазон, разрядность преобразователей, допустимые уровни и быстродействие интерфейсов задаются аппаратурой. Например, настройка на частоту в диапазоне 2,4 ГГц определяет положение сигнала в спектре. И например, для обмена с устройством Wi-Fi дополнительно требуется реализовать предусмотренные этим стандартом формы сигнала и правила обмена.

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

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

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

Отдельное числовое значение, относящееся к определенному моменту времени, называется отсчетом. Последовательность отсчетов показывает, как изменяется сигнал.

В AD9361 используется представление I/Q. Для каждого момента времени комплексному отсчету соответствует пара чисел: значение синфазной составляющей I и квадратурной составляющей Q. Вместе они позволяют описать амплитуду и фазу сигнала. Оба числа относятся к одному RF-каналу. Математический смысл этого представления будет подробно разобран в последующих главах.

На этом уровне уже можно определить основную границу функций: AD9361 обменивается с внешней цифровой системой отсчетами сигнала. Восстановление текста, файла или сетевого пакета из принятой последовательности требует последующей обработки.

Основные паспортные ориентиры микросхемы приведены ниже. Они относятся к AD9361; условия работы платы и полного стенда рассматриваются отдельно.

Параметр

Паспортный ориентир

Число приемных RF-каналов

2

Число передающих RF-каналов

2

Диапазон настройки RX

70 МГц - 6 ГГц

Диапазон настройки TX

Приблизительно 47 МГц - 6 ГГц

Максимальная настраиваемая полоса канала

56 МГц

Разрядность основных АЦП и ЦАП

12 бит

Источник параметров: [AD9361 Data Sheet, Rev. G].

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

1.5. AD-FMCOMMS3-EBZ как плата с AD9361 и вспомогательными цепями

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

Плата выполнена как мезонин, то есть дополнительный модуль, устанавливаемый на несущую плату. Соединение выполняется через FMC, FPGA Mezzanine Card. По этому разъему проходят питание, цифровые данные, тактовые и управляющие сигналы.

В приложенных схеме и BOM можно выделить следующие узлы:

Узел

Позиционные обозначения

Назначение

AD9361

U101

Радиочастотное преобразование и обмен цифровыми отсчетами

Приемные SMA-разъемы

J110, J111

Подключение сигналов к RX1A и RX2A

Передающие SMA-разъемы

J112, J113

Вывод сигналов TX1A и TX2A

RF-трансформаторы, балуны

T105-T108

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

Кварцевый резонатор

Y101

Штатная опорная частота 40 МГц

Система питания

U301, U302, U303

Формирование напряжений для внутренних блоков AD9361

FMC-разъем

P201

Соединение с несущей платой

EEPROM и измерительная микросхема

U201, U202

Идентификация платы и контроль вспомогательных параметров

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

На FMCOMMS3 отсутствуют собственные FPGA и процессор общего назначения. EEPROM служит для хранения небольшого объема служебных сведений; оперативная память для потока I/Q располагается во внешней вычислительной системе. Установка модуля на несущую плату обеспечивает доступ к этим ресурсам.

Производитель разрабатывал FMCOMMS3 как платформу для исследования сигналов в широком диапазоне перестройки. Из-за широкополосной реализации внешнего RF-тракта его характеристики меняются с частотой. Поэтому возможность настройки на некоторую частоту сама по себе не задает чувствительность, выходную мощность или качество модуляции в этой точке. [AD-FMCOMMS3-EBZ User Guide].

Комплектацию также нужно учитывать при чтении схемы. Пометка в схематике DNI, Do Not Install, обозначает элемент, который предусмотрен документацией, но не устанавливается в данном варианте. Например, в приложенном BOM так отмечен C113 в цепи внешней опорной частоты. Порядок перехода на внешнюю опору будет рассмотрен вместе с этой цепью далее.

1.6. Назначение FPGA, процессора и компьютера

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

FPGA, Field-Programmable Gate Array, как многие уже знают - представляет собой разновидность программируемой логической интегральной схемы, ПЛИС. Ее конфигурация задает цифровые блоки и соединения между ними. Внутри можно организовать несколько одновременно работающих узлов: прием интерфейса, буферизацию, фильтрацию и вычисление параметров сигнала.

Применительно к AD9361 FPGA обычно выполняет прием и выдачу I/Q, согласует форматы данных и соединяет поток с памятью или блоками обработки. Передачу больших массивов между аппаратурой и памятью обслуживает механизм прямого доступа к памяти, DMA. Он позволяет переносить данные без отдельной программной команды процессора для каждого отсчета.

Analog Devices предоставляет опорный HDL-проект для FMCOMMS2/3/4. HDL означает язык описания аппаратуры; на его основе формируется конфигурация FPGA. В проекте предусмотрены интерфейс с AD9361, обмен с памятью и цифровой генератор DDS для тестового сигнала. DDS вычисляет отсчеты заданного колебания в цифровой части, после чего передающий тракт AD9361 формирует соответствующий RF-сигнал. [FMCOMMS2/3/4 HDL Project].

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

FPGA и процессор могут находиться в разных микросхемах либо на одном кристалле. Например, в Zynq-7000 объединены процессорная подсистема PS, Processing System, и программируемая логика PL, Programmable Logic. Такое объединение позволяет разместить управление и аппаратную обработку в одном устройстве, сохранив разделение их функций. [Zynq-7000 SoC Data Sheet: Overview, DS190].

Компьютер используется для разработки, настройки, отображения спектра и сохранения результатов. Если нужная программа и обработка работают на несущей плате, постоянное подключение компьютера может не требоваться. В другой конфигурации именно компьютер получает I/Q и выполняет демодуляцию. Выбор зависит от задачи и доступной пропускной способности соединений.

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

Пунктирная стрелка обозначает управление параметрами, сплошные стрелки показывают обмен данными и сигналами. SPI, Serial Peripheral Interface, является последовательным интерфейсом управления. Его физическая реализация может задействовать ресурсы процессора или FPGA; на схеме показана логическая связь с управляющей программой.

1.7. Распределение функций между радиотрактом, модемом и приложением

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

Уровень

При передаче

При приеме

Где реализуется

Приложение

Создает сообщение, файл или другие полезные данные

Использует восстановленные данные

Процессор несущей платы или компьютер

Цифровой модем и обработка пакетов

Формирует пакет и вычисляет отсчеты передаваемого сигнала

Обнаруживает передачу, восстанавливает синхронизацию, символы и байты

Программа, FPGA или их сочетание

Радиотракт

Преобразует I/Q в аналоговый сигнал на выбранной частоте

Преобразует выбранную область RF-сигнала в цифровые I/Q

AD9361 и внешние RF-цепи платы

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

Рассмотрим передачу видеоданных. Приложение получает изображение и при необходимости сжимает его. Средства обмена формируют сообщения или сетевые пакеты. Модем преобразует их в сигнал, представленный отсчетами I/Q. AD9361 обрабатывает эти отсчеты в пределах настроенного радиотракта. На приемной стороне выполняются обратные преобразования, после которых приложение получает видеоданные.

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

Управление радиотрактом также имеет собственный путь. Команда настройки частоты по SPI изменяет режим аппаратуры. Поток I/Q переносит числовое представление сигнала по другому интерфейсу. Успешное чтение регистров подтверждает работу управляющей связи. Корректность передачи отсчетов и восстановления сообщений проверяется отдельными наблюдениями.

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

1.8. Сквозной учебный пример: передача сообщения между двумя устройствами

Для последующих глав выберем практическую задачу: устройство A должно передать строку HELLO, а устройство B должно получить те же байты. В кодировке ASCII эта строка занимает пять байт, то есть 5 * 8 = 40 полезных бит.

Каждое устройство включает FMCOMMS3 с AD9361 и совместимую несущую плату. На стороне A используется один передающий канал, на стороне B один приемный. Для первого межплатного опыта соединяем RF-выход и RF-вход кабелем через аттенюатор. Его ослабление выбирается по расчету уровней перед включением передачи.

Последовательность преобразований будет следующей.

1. Приложение создает полезные данные. В памяти устройства A появляется массив из пяти байтов. На этом этапе сообщение существует в форме, удобной для программы.

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

3. Модем рассчитывает отсчеты. Передающая часть модема сопоставляет данным состояния сигнала и формирует последовательности I и Q. Число отсчетов зависит от выбранного способа модуляции и числа отсчетов на символ. Оно не определяется одним лишь количеством байтов сообщения.

4. FPGA подает I/Q в AD9361. Подготовленные значения поступают в нужном порядке и с заданным темпом. Буферы обеспечивают согласование вычисления данных и их передачи. Для непрерывного сигнала новые отсчеты должны быть доступны вовремя.

5. AD9361 формирует аналоговый RF-сигнал. Передающий тракт преобразует цифровое представление в электрический сигнал на выходе TX. Частота и параметры тракта задаются его конфигурацией, а информационное содержание сигнала определяется поданными I/Q.

6. Сигнал проходит соединительный тракт. Кабель вносит задержку и потери. Аттенюатор уменьшает уровень до выбранного рабочего значения. На входе приемника сигнал также складывается с шумом.

7. Приемная система восстанавливает пакет. AD9361 устройства B выдает принятые I/Q. FPGA и программа передают их приемной части модема. Модем находит передачу, оценивает необходимые параметры синхронизации, принимает решения по символам и восстанавливает байты.

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

Перед работой с двумя устройствами удобно проверить локальную петлю: соединить TX1 и RX1 одного FMCOMMS3 через рассчитанное ослабление. Она позволяет подтвердить работу передачи, приема и цифрового обмена на одной аппаратной платформе.

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

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

Наблюдение RF-сигнала подтверждает наличие передачи. Получение цифровых отсчетов подтверждает прохождение данных через приемный тракт и интерфейс. Восстановление исходного сообщения проверяет совокупную работу этих узлов и модема. Такая последовательность наблюдений станет основой дальнейших практических работ.

1.9. Учебная задача: рассчитываем радиоканал для передачи 50 Мбит/с

Теперь перейдем к освоению простых расчётов. Предположим, что требуется передавать данные со скоростью 50 Мбит/с через один радиоканал. Рассчитаем символьную скорость, занимаемую полосу, частоту I/Q-отсчетов и объем данных, который должна обрабатывать цифровая часть.

Для расчета примем следующие условия:

Параметр

Значение

Скорость полезных данных

50 Мбит/с

Модуляция

16-QAM

Скорость помехоустойчивого кода

3/4

Доля полезных данных до кодирования

80%

Формирование импульсов

RRC-фильтр

Коэффициент скругления фильтра

a = 0,2

Число комплексных отсчетов на символ

2

Центральная радиочастота

2400 МГц

Представление в памяти

16 бит для I и 16 бит для Q

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

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

Доля полезных данных 80% означает, что оставшиеся 20% занимают служебные сведения.

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

1. Сколько бит нужно передавать с учетом служебных данных?

Чтобы полезные данные составляли 50 Мбит/с и занимали 80% потока, общий поток перед кодированием должен быть:

Rframe = 50 / 0,8 = 62,5 Мбит/с

Из них:

  • 50 Мбит/с составляют полезные данные;

  • 12,5 Мбит/с составляют служебные данные.

Обратите внимание: служебные данные здесь составляют 20% общего потока и 25% объема полезных данных. Поэтому прибавление 20% к числу 50 дало бы другой результат.

После кодирования 3/4 получим:

Rcoded = 62,5 / 0,75 = 83,3333 Мбит/с

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

2. Какова символьная скорость?

При 16-QAM один символ передает четыре кодированных бита:

Rs = Rcoded / 4

Rs = 83,3333 / 4 = 20,8333 млн символов/с

Длительность одного символьного интервала:

Ts = 1 / Rs = 48 нс

Таким образом, каждые 48 нс передается очередной символ. Его вклад в форму сигнала определяется выбранным фильтром формирования импульсов.

3. Какую полосу займет сигнал?

Для выбранной одноканальной QAM с идеальным RRC-формированием полная ширина спектра определяется выражением:

B = Rs * (1 + a)

Коэффициент a, называемый roll-off, задает ширину плавного перехода спектра к нулю. При a = 0,2 расчетная полоса на 20% больше символьной скорости, выраженной в соответствующих единицах.

В нашем примере:

B = 20,8333 * 1,2 = 25 МГц

Это полная ширина спектра, от нижней до верхней границы. В основной полосе он расположен от -12,5 до +12,5 МГц.

Такой расчет относится к идеальному фильтру. Реальный фильтр имеет конечное число коэффициентов, поэтому вне расчетной полосы остаются спектральные составляющие. Их допустимый уровень проверяют отдельно. Принципы формирования импульсов и влияние roll-off рассмотрены в AN-922 Analog Devices.

4. Как будет расположен спектр?

При центральной частоте 2400 МГц расчетные границы составят:

Нижняя граница = 2400 - 25 / 2 = 2387,5 МГц

Верхняя граница = 2400 + 25 / 2 = 2412,5 МГц

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

Граница плоской части относительно центра:

Fflat = Rs * (1 - a) / 2

Fflat = 20,8333 * 0,8 / 2 = 8,3333 МГц

Участок спектра

Основная полоса

Радиочастотный сигнал

Нижний переходный участок

От -12,5 до -8,3333 МГц

От 2387,5 до 2391,6667 МГц

Центральная плоская часть

От -8,3333 до +8,3333 МГц

От 2391,6667 до 2408,3333 МГц

Верхний переходный участок

От +8,3333 до +12,5 МГц

От 2408,3333 до 2412,5 МГц

Отрицательные частоты здесь обозначают составляющие ниже опорной частоты в комплексном I/Q-представлении.

На спектроанализаторе конкретная запись будет отличаться от идеальной формы из-за конечной длительности наблюдения, передаваемой последовательности, настроек прибора и искажений тракта. Центральная частота 2400 МГц также не означает обязательного наличия отдельной линии несущей в этой точке.

5. Какая нужна частота I/Q-отсчетов?

Мы выбрали два комплексных отсчета на символ:

Fs = 2 * Rs

Fs = 2 * 20,8333 = 41,6667 млн комплексных отсчетов/с

Интервал между отсчетами:

Tsample = 1 / Fs = 24 нс

За один символьный интервал длительностью 48 нс формируются две пары I/Q.

Здесь Fs обозначает частоту потока между модемом и радиотрактом. Внутренние АЦП, ЦАП и фильтры AD9361 могут работать на других частотах.

Для комплексного I/Q-потока расчетная полоса B должна помещаться в частотный интервал от -Fs/2 до +Fs/2. В нашем случае:

  • доступный интервал: от -20,8333 до +20,8333 МГц;

  • спектр сигнала: от -12,5 до +12,5 МГц.

Спектр помещается с запасом. Условие Fs > B является необходимой проверкой, но само по себе не определяет качество фильтрации и синхронизации.

6. Сколько отсчетов приходится на один кадр?

Пусть кадр содержит:

  • 1500 байт полезных данных;

  • 375 байт служебных данных.

Доля полезных данных составляет:

1500 / (1500 + 375) = 0,8

До кодирования в кадре:

Ninput = 1875 * 8 = 15 000 бит

После кодирования 3/4:

Ncoded = 15 000 / 0,75 = 20 000 бит

Число символов 16-QAM:

Nsymbols = 20 000 / 4 = 5000 символов

Число комплексных отсчетов:

Nsamples = 5000 * 2 = 10 000 отсчетов

Получаем 10 000 значений I и 10 000 значений Q.

Номинальная длительность кадра в непрерывном потоке:

Tframe = 5000 * 48 нс = 240 мкс

Проверим полезную скорость:

Rpayload = 1500 * 8 / 0,00024 = 50 000 000 бит/с

Результат совпадает с условием задачи. Задержки фильтров влияют на время появления результата, а дополнительные паузы или символы увеличили бы длительность передачи кадра.

7. Какой объем данных проходит через память?

При хранении I и Q в двух 16-битных словах один комплексный отсчет занимает:

2 * 16 = 32 бита = 4 байта

Для одного кадра потребуется:

10 000 * 4 = 40 000 байт

Непрерывный поток одного канала в одном направлении составит:

41,6667 млн * 4 = 166,6667 Мбайт/с

В битах это:

166,6667 * 8 = 1333,3333 Мбит/с

Таким образом, передача 50 Мбит/с полезных данных требует обработки примерно 1,33 Гбит/с цифровых I/Q-данных в выбранном формате памяти.

Если упаковать каждую составляющую в 12 бит, объем составит:

41,6667 млн * 24 = 1000 Мбит/с

Это расчет количества бит значений I/Q. Физическая организация интерфейса и дополнительные расходы передачи учитываются отдельно. AD9361 использует 12-битные преобразователи и цифровое представление сигнала.

Передать такой непрерывный поток через одно соединение Gigabit Ethernet без уменьшения объема данных не получится: даже плотная 12-битная упаковка занимает всю номинальную скорость линии, оставляя служебные расходы сети сверх нее.

8. Какова спектральная эффективность?

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

Efficiency = Rpayload / B

Efficiency = 50 / 25 = 2 бит/с/Гц

В этом результате уже учтены принятые доли кодирования и служебных данных.

9. Что изменится при другой модуляции?

Сохраним полезную скорость, кодирование 3/4, долю полезных данных 80%, roll-off 0,2 и два отсчета на символ.

Модуляция

Бит на символ

Символьная скорость, млн/с

Расчетная полоса, МГц

Частота I/Q, млн пар/с

QPSK

2

41,6667

50

83,3333

16-QAM

4

20,8333

25

41,6667

64-QAM

6

13,8889

16,6667

27,7778

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

Для рассмотренного в UG-570 режима интерфейса LVDS максимальная частота комплексных отсчетов составляет 61,44 млн/с. Поэтому вариант QPSK с выбранными двумя отсчетами на символ превышает этот предел. Для него пришлось бы менять организацию дискретизации и обработки.

Для варианта 16-QAM предварительные расчеты дают:

Результат

Значение

Полезная скорость

50 Мбит/с

Поток после кодирования

83,3333 Мбит/с

Символьная скорость

20,8333 млн символов/с

Теоретическая полоса

25 МГц

Частота I/Q

41,6667 млн пар/с

Длительность символа

48 нс

Интервал отсчетов

24 нс

Отсчетов на рассмотренный кадр

10 000

Объем I/Q одного кадра в памяти

40 000 байт

Поток I/Q в памяти

166,6667 Мбайт/с

Полезная спектральная эффективность

2 бит/с/Гц

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

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

Заключение

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

Также разобрались с назначением основных частей системы. AD9361 преобразует радиосигнал в цифровые I/Q-отсчеты и выполняет обратное преобразование при передаче. FPGA обеспечивает обмен отсчетами и может выполнять обработку сигнала. Процессор управляет устройством и обслуживает приложения, а алгоритмы цифрового модема связывают передаваемые данные с формой сигнала.

Учебный расчет показал, как требование к полезной скорости превращается в требования к радиотракту и цифровой части. При выбранных условиях для передачи 50 Мбит/с потребовались теоретическая полоса 25 МГц, около 41,67 миллиона комплексных отсчетов в секунду и поток примерно 166,67 Мбайт/с при хранении I и Q в 16-битных словах. Эти значения зависят от принятых условий: модуляции, кодирования, служебных расходов и формирования импульсов.

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

Затем перейдем к соединениям между устройствами: волновому сопротивлению 50 Ом, согласованию, отражениям, коаксиальным кабелям, нагрузкам и аттенюаторам. На примере кабельной петли рассчитаем, какой уровень должен прийти на вход приемника с учетом ослабления и потерь. Это подготовит нас к первым экспериментам с AD9361: мы сможем заранее оценивать ожидаемый результат, выбирать условия измерения и объяснять расхождения между расчетом и наблюдением.

Размещайте облачную инфраструктуру и масштабируйте сервисы с надежным облачным провайдером Beget.
Эксклюзивно для читателей Хабра мы даем бонус 10% при первом пополнении.

Воспользоваться

Воспользоваться

Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.