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

Если посмотреть на схему, можно увидеть, что она разделена по вертикали на два основных этапа разработки:

  • построение модели и симуляция;
  • тестирование на аппаратуре.

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

При применении МОП в проектировании беспроводных систем связи, мы разделяем три основные этапа построения полной модели системы связи. Это этапы создания:

  • модели физического уровня
  • модели канального уровня
  • модели РЧ такта и антенной системы

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

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

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

Правила для жесткого следования именно такой последовательности отсутствуют. Вы можете ограничиться одним или двумя этапами, при этом не важно какими. Можно создать только модель РЧ тракта, если всё остальное у вас уже есть или если вам нужно понять поведение вашего тестового сигнала с каким то конкретным усилителем или смесителем.

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


Теперь рассмотрим этапы построения модели поподробнее.

Моделирование физического уровня

Модель физического уровня как правило состоит из алгоритма формирования сигнала, модели канала связи и алгоритма приёма и обработки сигнала. Стоит отметить, что все эти алгоритмы в современных системах связи реализуются в цифровом виде на так называемой нулевой частоте (baseband). На этапе проектирования физического уровня в качестве источника данных обычно используется генератор случайных бит, а наблюдения за точностью работы модели осуществляется с помощью подсчета количество ошибочных бит в сигнале, который прошел через модель.

В процессе проектирования алгоритма формирования и приёма сигналов, а также при моделирования каналов связи, часто применяются:

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

Моделирование канального уровня

После первого наброска модели физического уровня, когда работоспособность концепции в целом подтверждена, желательно пристроить к модели физического уровня подуровень управления доступа к среде (Media Access Control, MAC-sublayer). Этот подуровень входит в состав канального уровня (Data Link Control, DLC Layer).

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

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

Моделирование РЧ тракта и антенной системы

Ключевой особенностью моделирования РЧ тракта является то, что в рамках модельно-ориентированного проектирования мы не пытаемся спроектировать РЧ тракт в среде MATLAB/Simulink, мы лишь моделируем искажения, которые вносит РЧ тракт в сигнал. При проектировании таких алгоритмов, как цифровые предыскажения сигнала или электронное управление диаграммой направленности ФАР, необходимо моделировать цифровой алгоритм и аналоговую часть в одной модели. Именно для этого и были разработаны инструменты RF Toolbox и RF Blockset, с помощью этих инструментов можно моделировать аналоговые фильтры, МШУ, смесители и т.д.

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

Моделирование антенной системы является продолжением модели РЧ тракта. Инструменты MathWorks позволяют промоделировать весь тракт целиком, включая радиолинию. Ключевой особенностью является то, что созданную модель антенны можно подсоединить к общей системной модели. Это позволяет промоделировать распространения сигнала между приёмником и передатчиком при различных параметрах диаграммы направленности и различных углах их взаимного расположения.

Тестирование на аппаратуре

Тестирование разработанных алгоритмов на аппаратуре всегда сопряжены с необходимостью глубоко погружаться в нюансы работы отладочных плат или особенности настроек программно-определяемого радио (SDR). Инструменты MathWorks в области тестирования и прототипирования разработаны таким образом, что инженеры работающие над системами ЦОС или связи могут протестировать свои системы на прототипе не будучи экспертами в области аппаратных платформ.

При разработке систем связи по принципу МОП существует ряд этапов тестирования алгоритмов на аппаратуре.

Схема модель-эфир

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

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

FPGA-in-the-Loop

После первого этапа, где вы убедились, что алгоритмы работают корректно, необходимо убедиться, что эти алгоритмы возможно реализовать на целевой платформе, то есть вычислителе. Так как современные цифровые системы связи требуют очень высокую частоту обработки сигнала, как правило, вычислителем для таких систем является ПЛИС. Режим FPGA-in-the-Loop позволяет в автоматическом режиме проверить работу алгоритма на ПЛИС, для это вам необходимо иметь отладочную плату с ПЛИС, которая поддерживается этим режимом.

При работе FPGA-in-the-Loop из вашего алгоритма автоматически генерируется HDL код, автоматически создается специальный проект в IDE производителя ПЛИС (Vivado или Quartus), создаётся IP-ядро и прошивается ПЛИС. Далее автоматически создается специальная тестовая модель Simulink, где параллельно запускается алгоритм в Simulink и этот же алгоритм, но уже на ПЛИС и сравниваются входные и выходные сигналы. Таким образом, вы можете убедиться, что ваш алгоритм правильно работает на целевой платформе на целевой частоте.

Прототипирование физического уровня

В предыдущих двух этапах вы по отдельности убедились, что ваш алгоритм правильно реагирует в релейном канале связи и что алгоритм корректно работает на реальном вычислителе. Теперь необходимо протестировать всё это вместе и одновременно. Для это можно использовать ряд SDR, которые содержат как радио приемопередатчик, так и ПЛИС или систему на кристалле (System-on-Chip, SoC). Компания MathWorks поддерживает несколько таких SDR.

Принцип такого тестирования заключается в том, что из подсистемы физического уровня автоматически генерируется HDL код, также как и в FPGA-in-the-Loop, автоматически создается проект в IDE производителя ПЛИС, но на этот раз этот проект содержит все необходимые интерфейсы для передачи сигнала из ПЛИС на приёмопередатчик. То есть вам не нужно тратить время на настройку и отладку такого проекта вручную, вам необходимо аккуратно пройти по шагам инструмента под названием "HDL Workflow Advisor", и ваша модель станет гибридной. То есть условный MAC подуровень или просто алгоритм подсчёта битвой ошибки останется в модели Simulink, битовый поток будет попадать на ПЛИС и в эфир через приемопередатчик, также в обратную сторону сигнал через приемопередатчик. 

Полный прототип

Финальным этапом тестирования на аппаратуре является создание полного прототипа. Для этого вам понадобится SDR с SoC на борту (ссылки). По сути, это продолжение этапа прототипирования физического уровня, с переносом MAC подуровня из модели в ARM процессор. То есть после успешного проведения третьего этапа тестирования вы из подсистемы MAC подуровня автоматически генерируете С код по целевую платформу, в данном случае ARM процессор, автоматически создается проект в IDE производителя (Xilinx SDK), код компилируется и создаётся исполняемый файл. После этого вы получаете полный прототип вашей системы, который работает автономно от MATLAB или Simulink.