Этот пример показывает, как смоделировать модель канала наземной мобильной связи (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.