Симулируйте и визуализируйте канал Мобильного Спутника земли

В этом примере показано, как смоделировать модель канала мобильного спутника земли (LMS) с двумя состояниями путем генерации ряда состояния, его соответствующего ряда пробела и коэффициентов канала. В сценарии, включающем спутниковый терминал и мобильный терминал, сигнал, передаваемый через канал, не всегда имеет идеальный путь угла обзора, но испытывает явления, такие как эффект Доплера, затенение и многопутевое исчезновение. Соответственно моделирование эффектов таких явлений важно, чтобы правильно спроектировать сквозные линии связи, которые могут обработать и компенсировать эффекты канала. Пример принимает городской сценарий и использует несущую частоту 3,8 ГГц. Эта модель применима для частот в области значений 3 - 5 ГГц.

Введение

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

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

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

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

  • Угол возвышения

  • Скорость наземного терминала

  • Время выборки канала

  • Ориентация азимута наземного терминала

  • Начальное состояние канала

  • Общая длительность симуляции

Установка среды и присвоение начального состояния

Настройте среду между спутниковым терминалом и мобильным терминалом на земле. Отобразите свойства среды.

cfg.CarrierFrequency = 3.8e9;                           % Carrier frequency in Hertz
cfg.ElevationAngle = 45;              % Elevation angle with respect to ground plane in degrees
cfg.Velocity = 2;                    % Speed of movement of ground terminal in metres per second
cfg.SampleTime = 0.0025;                  % Sampling interval in seconds
cfg.AzimuthOrientation = 0;          % Direction of movement of ground terminal in degrees

Присвойте подходящее начальное состояние для модели.

cfg.InitialState = "Bad";
cfg.TotalSimulationTime = 100;         % Total duration of channel modeling in seconds
disp (cfg)
       CarrierFrequency: 3.8000e+09
         ElevationAngle: 45
               Velocity: 2
             SampleTime: 0.0025
     AzimuthOrientation: 0
           InitialState: "Bad"
    TotalSimulationTime: 100

Получите соответствующие параметры LMS с помощью настройки, заданной в ITU-R Раздел рекомендации P.681-11 3,1 Annexure 2 [2]. Функциональный HelperGetLMSInputParams проводит необходимую операцию.

[paramsGoodState,paramsBadState] = HelperGetLMSInputParams(cfg);

Инициализируйте генератор случайных чисел seed. Варьируйтесь seed, чтобы получить различную реализацию канала. Значением по умолчанию 73 является произвольное значение.

seed = 73;
rng(seed);

Модель канала

Смоделируйте канал LMS с помощью настройки, заданной в структуре cfg.

Если у вас есть данные LMS, можно обновить поля paramsGoodState и paramsBadState структуры, и затем передают структуры HelperModelLMSChannel функция помощника.

[stateSeries,channelCoefficients] = HelperModelLMSChannel(cfg,paramsGoodState,paramsBadState);

Визуализация канала

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

timeVector = 0:cfg.SampleTime:cfg.TotalSimulationTime;
plot(timeVector,stateSeries)
title(['State Series of Channel for Duration ' num2str(cfg.TotalSimulationTime) ' seconds'])
axis([0 timeVector(end) -0.5 1.5])
xlabel('Time (in s)')
ylabel('State')

Figure contains an axes. The axes with title State Series of Channel for Duration 100 seconds contains an object of type line.

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

figure(2)
plot(timeVector,20*log10(abs(channelCoefficients)))
title(['Space Series of Channel for Duration ' num2str(cfg.TotalSimulationTime) ' seconds'])
xlabel('Time (in s)')
ylabel('Path Gain (in dB)')

Figure contains an axes. The axes with title Space Series of Channel for Duration 100 seconds contains an object of type line.

Дальнейшее исследование

Этот пример использует три структуры: cfg, paramsGoodState, и paramsBadState. paramsGoodState и paramsBadState структуры содержат параметры LMS, которые используются, чтобы смоделировать хорошие и плохие состояния, соответственно. cfg структура содержит информацию, связанную с текущей настройкой. Можно изменить каждый параметр по мере необходимости в каждой из этих структур, и затем наблюдать, как ряд состояния и коэффициенты канала варьируются. Чтобы смоделировать канал для различных диапазонов частот, можно использовать любые данные, которые вы имеете или любая из таблиц данных, доступных в ITU-R Раздел рекомендации P.681-11 3,1 Annexure 2 [2]. Чтобы пропустить входной сигнал через канал, можно использовать выходные коэффициенты канала, channelCoefficients.

Приложение:

Этот пример использует эти функции помощника:

Ссылки

[1] 3GPP TR 38.811 V15.3.0 (2020-07). Исследование Нового радио (NR), чтобы поддержать неназемные сети (Релиз 15). Проект Партнерства третьего поколения; Сеть радиодоступа Technical Report Group. https://www.3gpp.org.

[2] Рекомендация P.681-11 (12/2019) ITU-R. "Данные о распространении потребовали для систем проекта на земле мобильной услуги спутниковой связи". Международный союз электросвязи; Сектор Радиосвязи. https://www.itu.int/pub/R-REC.