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