Этот пример показывает, как моделировать модель канала наземного мобильного спутника (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 Приложение 2 [2]. Функция HelperGetLMSInputParams выполняет необходимую операцию.
[paramsGoodState,paramsBadState] = HelperGetLMSInputParams(cfg);
Инициализация генератора случайных чисел с начальным числом. Изменение начального значения для получения различных реализаций канала. Значение по умолчанию 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(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)')

В этом примере используются три структуры: cfg, paramsGoodState, и paramsBadState. paramsGoodState и paramsBadState структуры содержат параметры LMS, которые используются для моделирования хорошего и плохого состояний соответственно. cfg содержит информацию, связанную с текущей настройкой. Можно изменить каждый параметр по мере необходимости в каждой из этих структур, а затем наблюдать, как изменяются последовательность состояний и коэффициенты канала. Для моделирования канала для различных диапазонов частот можно использовать любые имеющиеся данные или любую из таблиц данных, доступных в рекомендации ITU-R P.681-11 Раздел 3.1 Приложение 2 [2]. Для фильтрации входного сигнала по каналу можно использовать коэффициенты выходного канала, channelCoefficients.
В этом примере используются следующие вспомогательные функции:
HelperGetLMSInputParams.m: Получение параметров LMS для городского сценария
HelperGenerateLooTriplet.m: создание триплета Loo для текущего состояния
HelperLooTimeSerureGenerator.m: создание коэффициентов канала с помощью генератора временных рядов Loo
HelperModelLMSChannel.m: Моделирование модели канала LMS
[1] 3GPP TR 38.811 V15.3.0 (2020-07). Исследование на новом радио (NR) для поддержки не наземных сетей (выпуск 15). проект партнерства 3-го поколения; Сеть радиодоступа группы технических отчетов. https://www.3gpp.org.
[2] Рекомендация ITU-R P.681-11 (12/2019). «Данные распространения, необходимые для систем проектирования в наземной мобильной спутниковой службе». Международный союз электросвязи; Сектор радиосвязи. https://www.itu.int/pub/R-REC.