nrTDLChannel

Отправьте сигнал через модель канала TDL

Описание

nrTDLChannel Система object™ отправляет входной сигнал через уровень ссылки мультивхода мультивыводится (MIMO) коснувшейся линии задержки (TDL), исчезающий канал, чтобы получить поврежденный каналом сигнал. Объект реализует следующие аспекты TR 38.901 [1]:

  • Разделите 7.7.2: модели TDL

  • Разделите 7.7.3: Масштабирование задержек

  • Раздел 7.7.5.2 расширений TDL: Применение корреляционной матрицы

  • Разделите 7.7.6: k-фактор для моделей канала LOS

Чтобы отправить сигнал через TDL MIMO образовывают канал модель:

  1. Создайте nrTDLChannel объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

tdl = nrTDLChannel создает Системный объект канала TDL MIMO.

tdl = nrTDLChannel(Name,Value) создает объект с набором свойств при помощи одной или нескольких пар "имя-значение". Заключите имя свойства в кавычках, сопровождаемых заданным значением. Незаданные свойства берут значения по умолчанию.

Пример: tdl = nrTDLChannel('DelayProfile','TDL-D','DelaySpread',2e-6) создает модель канала TDL с профилем задержки TDL-D и распространением задержки с 2 микросекундами.

Свойства

развернуть все

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

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

TDL задерживают профиль, заданный как один из 'TDL-A', 'TDL-B', 'TDL-C', 'TDL-D', 'TDL-E', или 'Custom'. Смотрите, что TR 38.901 разделяет 7.7.2, таблицы 7.7.2-1 к 7.7.2-5.

Когда вы устанавливаете это свойство на 'Custom', сконфигурируйте профиль задержки с помощью свойств PathDelays, AveragePathGains, FadingDistribution, и KFactorFirstTap.

Типы данных: char | string

Дискретный путь задерживается в секундах, заданных в виде числа или вектора-строки. AveragePathGains и PathDelays должен иметь тот же размер.

Зависимости

Чтобы включить это свойство, установите DelayProfile к 'Custom'.

Типы данных: double

Средний путь получает в дБ, заданном в виде числа или вектора-строки. AveragePathGains и PathDelays должен иметь тот же размер.

Зависимости

Чтобы включить это свойство, установите DelayProfile к 'Custom'.

Типы данных: double

Исчезающий процесс статистическое распределение, заданное как 'Rayleigh' или 'Rician'.

Зависимости

Чтобы включить это свойство, установите DelayProfile к 'Custom'.

Типы данных: char | string

K-фактор первого касания задержки профилирует в дБ, заданном как числовой скаляр. Значение по умолчанию соответствует K-фактору первого касания TDL-D, как задано в Разделе TR 38.901 7.7.2, Таблице 7.7.2-4.

Зависимости

Чтобы включить это свойство, установите DelayProfile к 'Custom' и FadingDistribution к 'Rician'.

Типы данных: double

Желаемое среднеквадратичное (RMS) распространение задержки в секундах, заданных в виде числа. Поскольку примеры желаемой RMS задерживают распространения, DSdesired, смотрите Раздел TR 38.901 7.7.3 и Таблицы 7.7.3-1 и 7.7.3-2.

Зависимости

Чтобы включить это свойство, установите DelayProfile к 'TDL-A', 'TDL-B', 'TDL-C', 'TDL-D', или 'TDL-E'. Это свойство не запрашивает пользовательский профиль задержки.

Типы данных: double

Максимальный эффект Доплера в Гц, заданном в виде неотрицательного числа. Это свойство применяется ко всем путям к каналу. Когда максимальный эффект Доплера установлен в 0, канал остается статическим для целого входа. Чтобы сгенерировать новую реализацию канала, сбросьте объект путем вызова reset функция.

Типы данных: double

Масштабирование k-фактора, заданное как false или true. Когда установлено в true, KFactor свойство задает желаемый K-фактор, и объект применяет K-фактор, масштабирующийся как описано в Разделе TR 38.901 7.7.6.

Примечание

Масштабирование k-фактора изменяет и задержки пути и степени пути.

Зависимости

Чтобы включить это свойство, установите DelayProfile к 'TDL-D' или 'TDL-E'.

Типы данных: double

Желаемый K-фактор для масштабирования в дБ, заданном в виде числа. Для типичных значений K-фактора смотрите Раздел TR 38.901 7.7.6 и Таблицу 7.5-6.

Примечание

  • Масштабирование k-фактора изменяет и задержки пути и степени пути.

  • K-factor применяется к полному профилю задержки. А именно, K-фактором после масштабирования является Kmodel как описано в Разделе TR 38.901 7.7.6. Kmodel отношение степени первого LOS пути к общей степени всех путей Рейли, включая часть Рейли первого пути.

Зависимости

Чтобы включить это свойство, установите KFactorScaling к true.

Типы данных: double

Частота дискретизации входного сигнала в Гц, заданном в виде положительного числа.

Типы данных: double

Корреляция между оборудованием пользователя (UE) и антеннами базовой станции (BS), заданными как одно из этих значений:

  • 'Low' или 'High' — Применяется и к восходящему каналу и к нисходящему каналу. 'Low' не эквивалентно никакой корреляции между антеннами.

  • 'Medium' или 'Medium-A' — Для нисходящего канала см. приложение B.2.3.2 TS 36.101. Для восходящего канала см. приложение B.5.2 TS 36.104. TransmissionDirection свойство управляет направлением передачи.

  • 'UplinkMedium' — Смотрите TS 36.104, приложение B.5.2.

  • 'Custom'ReceiveCorrelationMatrix свойство задает корреляцию между антеннами UE и TransmitCorrelationMatrix свойство задает корреляцию между антеннами BS. Смотрите Раздел TR 38.901 7.7.5.2.

Для получения дополнительной информации о корреляции между UE и антеннами BS, смотрите TS 36.101 [2] и TS 36.104 [3]

Типы данных: char | string

Расположение поляризации антенны, заданное как 'Co-Polar', 'Cross-Polar', 'Custom'.

Типы данных: char | string

Направление передачи, заданное как 'Downlink' или 'Uplink'.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Low', 'Medium', 'Medium-A', 'UplinkMedium', или 'High'.

Типы данных: char | string

Количество антенн передачи, заданных как положительное целое число.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Low', 'Medium', 'Medium-A', 'UplinkMedium', или 'High', или набор оба MIMOCorrelation и Polarization к 'Custom'.

Типы данных: double

Количество получает антенны, заданные как положительное целое число.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Low', 'Medium', 'Medium-A', 'UplinkMedium', или 'High'.

Типы данных: double

Пространственная корреляция передатчика, заданного как 2D матрица или трехмерный массив.

  • Если канал является плоским частотой (PathDelays скаляр), задайте TransmitCorrelationMatrix как 2D Эрмитова матрица размера N T-by-NT. N T является количеством антенн передачи. Основные диагональные элементы должны быть всеми единицами, и недиагональные элементы должны иметь величину, меньшую, чем или равный одной.

  • Если канал является выборочным частотой (PathDelays вектор-строка из длины N P), задайте TransmitCorrelationMatrix как один из этих массивов:

    • 2D Эрмитова матрица размера N T-by-NT со свойствами элемента, как ранее описано. Каждый путь имеет ту же корреляционную матрицу передачи.

    • Трехмерный массив размера N T NT NP, где каждая субматрица размера N T-by-NT является Эрмитова матрица со свойствами элемента, как ранее описано. Каждый путь имеет свою собственную корреляционную матрицу передачи.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Custom' и Polarization к любому 'Co-Polar' или 'Cross-Polar'.

Типы данных: double
Поддержка комплексного числа: Да

Пространственная корреляция получателя, заданного как 2D матрица или трехмерный массив.

  • Если канал является плоским частотой (PathDelays скаляр), задайте ReceiveCorrelationMatrix как 2D Эрмитова матрица размера N R-by-NR. N R является количеством, получают антенны. Основные диагональные элементы должны быть всеми единицами, и недиагональные элементы должны иметь величину, меньшую, чем или равный одной.

  • Если канал является выборочным частотой (PathDelays вектор-строка из длины N P), задайте ReceiveCorrelationMatrix как один из этих массивов:

    • 2D Эрмитова матрица размера N R-by-NR со свойствами элемента, как ранее описано. Каждый путь имеет то же самое, получают корреляционную матрицу.

    • Трехмерный массив размера N R NR NP, где каждая субматрица размера N R-by-NR является Эрмитова матрица со свойствами элемента, как ранее описано. Каждый путь имеет свое собственное, получают корреляционную матрицу.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Custom' и Polarization к любому 'Co-Polar' или 'Cross-Polar'.

Типы данных: double
Поддержка комплексного числа: Да

Передайте наклонные углы поляризации в градусах, заданный как вектор-строка.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Custom' и Polarization к 'Cross-Polar'.

Типы данных: double

Получите наклонные углы поляризации в градусах, заданный как вектор-строка.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Custom' и Polarization к 'Cross-Polar'.

Типы данных: double

Отношение степени перекрестной поляризации в дБ, заданном в виде числа или вектора-строки. Это свойство соответствует отношению между вертикальным-к-вертикальному (P VV) и вертикальный к горизонтали (P VH) поляризация, заданная для моделей кластеризованной линии задержки (CDL) в Разделе TR 38.901 7.7.1.

  • Если канал является плоским частотой (PathDelays скаляр), задайте XPR как скаляр.

  • Если канал является выборочным частотой (PathDelays вектор-строка из длины N P), задайте XPR как одно из этих значений:

    • Скаляр — Каждый путь имеет то же отношение степени перекрестной поляризации.

    • Вектор-строка из размера 1 NP — Каждый путь имеет свое собственное отношение степени перекрестной поляризации.

Значение по умолчанию соответствует кластерно-мудрому отношению степени перекрестной поляризации CDL-A, как задано в Разделе TR 38.901 7.7.1, Таблице 7.7.1-1.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Custom' и Polarization к 'Cross-Polar'.

Типы данных: double

Объединенная корреляция для канала, заданного как 2D матрица или трехмерный массив. Матрица решает, что продукт количества антенн передачи (N T) и количества получает антенны (N R).

  • Если канал является плоским частотой (PathDelays скаляр), задайте SpatialCorrelationMatrix когда 2D Эрмитова матрица размера (N TN R) (N TN R).The величина любого недиагонального элемента должна быть не больше, чем геометрическое среднее значение двух соответствующих диагональных элементов.

  • Если канал является выборочным частотой (PathDelays вектор-строка из длины N P), задайте SpatialCorrelationMatrix как один из этих массивов:

    • 2D Эрмитова матрица размера (N TN R) (N TN R) с недиагональными свойствами элемента, как ранее описано. Каждый путь имеет ту же пространственную корреляционную матрицу.

    • Трехмерный массив размера (N TN R) (N TN R)-by-NP массив — где каждой матрицей размера (N TN R) (N TN R) является Эрмитова матрица с недиагональными свойствами элемента, как ранее описано. Каждый путь имеет свою собственную пространственную корреляционную матрицу.

Зависимости

Чтобы включить это свойство, установите MIMOCorrelation к 'Custom' и Polarization к 'Custom'.

Типы данных: double

Нормируйте усиления пути, заданные как true или false. Используйте это свойство нормировать процессы исчезновения. Когда это свойство установлено в true, общая степень усилений пути, усредняемых в зависимости от времени, составляет 0 дБ. Когда это свойство установлено в false, усиления пути не нормированы. Средние степени усилений пути заданы выбранным профилем задержки, или если DelayProfile установлен в 'Custom', AveragePathGains свойство.

Типы данных: логический

Смещение времени исчезающего процесса в секундах, заданных в виде числа.

Настраиваемый: да

Типы данных: double

Количество моделирования синусоид, заданных как положительное целое число. Эти синусоиды моделируют процесс исчезновения.

Типы данных: double

Источник потока случайных чисел, заданного как одно из следующего:

  • 'mt19937ar with seed' — Объект использует mt19937ar алгоритм в нормально распределенной генерации случайных чисел. Вызов reset функционируйте сбрасывает фильтры и повторно инициализирует поток случайных чисел к значению Seed свойство.

  • 'Global stream' — Объект использует текущий глобальный поток случайных чисел в нормально распределенной генерации случайных чисел. Вызов reset функционируйте сбрасывает только фильтры.

Начальный seed mt19937ar потока случайных чисел, заданного в виде неотрицательного числа.

Зависимости

Чтобы включить это свойство, установите RandomStream на 'mt19937ar with seed'. При вызове reset функция, seed повторно инициализирует mt19937ar поток случайных чисел.

Типы данных: double

Нормируйте канал, выходные параметры количеством получают антенны, заданные как true или false.

Типы данных: логический

Использование

Описание

пример

signalOut = tdl(signalIn) отправляет входной сигнал через TDL MIMO, исчезающий канал, и возвращает поврежденный каналом сигнал.

пример

[signalOut,pathGains] = tdl(signalIn) также возвращает усиления пути к каналу MIMO базового процесса исчезновения.

[signalOut,pathGains,sampleTimes] = tdl(signalIn) также возвращает шаги расчета снимков состояния канала усилений пути.

Входные параметры

развернуть все

Входной сигнал, заданный как комплексный скаляр, вектор или N матрица S-by-NT, где:

  • N S является количеством выборок.

  • N T является количеством антенн передачи.

Типы данных: single | double
Поддержка комплексного числа: Да

Выходные аргументы

развернуть все

Выходной сигнал, возвращенный как комплексный скаляр, вектор или N матрица S-by-NR, где:

  • N S является количеством выборок.

  • N R является количеством, получают антенны.

Тип данных выходного сигнала имеет ту же точность как тип данных входного сигнала.

Типы данных: single | double
Поддержка комплексного числа: Да

Усиления пути к каналу MIMO процесса исчезновения, возвращенного как N S NP NT NR, объединяют матрицу, где:

  • N S является количеством выборок.

  • N P является количеством путей, заданных длиной PathDelays свойство tdl.

  • N T является количеством антенн передачи.

  • N R является количеством, получают антенны.

Тип данных усилений пути имеет ту же точность как тип данных входного сигнала.

Типы данных: single | double
Поддержка комплексного числа: Да

Шаги расчета снимков состояния канала усилений пути, возвращенных как вектор-столбец S-1 N вещественных чисел. N S является первой размерностью pathGains это соответствует количеству выборок.

Типы данных: double

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

infoПолучите характеристическую информацию об уровне ссылки MIMO, исчезающий канал
getPathFilters Получите импульсную характеристику фильтра пути для уровня ссылки MIMO, исчезающий канал
stepЗапустите алгоритм Системного объекта
cloneСоздайте объект дублированной системы
isLockedОпределите, используется ли Системный объект
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

развернуть все

Отобразите спектр формы волны, полученный через мультивход/мультивыход Tapped Delay Line (TDL) (MIMO) модель канала от Раздела TR 38.901 7.7.2 использований nrTDLChannel Системный объект.

Задайте конфигурационную структуру канала с помощью nrTDLChannel Системный объект. Используйте профиль задержки TDL-C от Раздела TR 38.901 7.7.2, распространения задержки 300 нс и скорости UT 30 км/ч:

v = 30.0;                    % UT velocity in km/h
fc = 4e9;                    % carrier frequency in Hz
c = physconst('lightspeed'); % speed of light in m/s
fd = (v*1000/3600)/c*fc;     % UT max Doppler frequency in Hz

tdl = nrTDLChannel;
tdl.DelayProfile = 'TDL-C';
tdl.DelaySpread = 300e-9;
tdl.MaximumDopplerShift = fd;

Создайте случайную форму волны 1 длительности подкадра с 1 антенной.

SR = 30.72e6;
T = SR * 1e-3;
tdl.SampleRate = SR;
tdlinfo = info(tdl);
Nt = tdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

Передайте входную форму волны через канал.

rxWaveform = tdl(txWaveform);

Постройте полученный спектр формы волны.

analyzer = dsp.SpectrumAnalyzer('SampleRate',tdl.SampleRate);
analyzer.Title = ['Received Signal Spectrum ' tdl.DelayProfile];
analyzer(rxWaveform);

Постройте усиления пути Коснувшейся линии задержки (TDL) single-input/single-output (SISO) канал с помощью nrTDLChannel Системный объект.

Сконфигурируйте канал с TDL-E профиля задержки от Раздела TR 38.901 7.7.2. Установите максимальный эффект Доплера на 70 Гц и включите усилению пути выход

tdl = nrTDLChannel;
tdl.SampleRate = 500e3;
tdl.MaximumDopplerShift = 70;
tdl.DelayProfile = 'TDL-E';

Сконфигурируйте передачу и получите антенные решетки для операции SISO.

tdl.NumTransmitAntennas = 1;
tdl.NumReceiveAntennas = 1;

Создайте фиктивный входной сигнал. Длина входа определяет выборки времени сгенерированного усиления пути.

in = zeros(1000,tdl.NumTransmitAntennas);

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

[~, pathGains] = tdl(in);
mesh(10*log10(abs(pathGains)));
view(26,17); xlabel('Channel Path');
ylabel('Sample (time)'); zlabel('Magnitude (dB)');

Отобразитесь спектр формы волны, полученный через модель канала Коснувшейся линии задержки (TDL) с задержкой, профилируют TDL-D от Раздела TR 38.901 7.7.2 и 4 2 высокой корреляции перекрестные полярные антенны, как задано в приложении B.2.3A.3 TS 36.101.

Сконфигурируйте перекрестные полярные антенны согласно приложению B.2.3A.3 4x2 TS 36.101 высокая корреляция.

tdl = nrTDLChannel;
tdl.NumTransmitAntennas = 4;
tdl.DelayProfile = 'TDL-D';
tdl.DelaySpread = 10e-9;
tdl.KFactorScaling = true;
tdl.KFactor = 7.0;
tdl.MIMOCorrelation = 'High';
tdl.Polarization = 'Cross-Polar';

Создайте случайную форму волны 1 длительности подкадра с 4 антеннами.

SR = 1.92e6;
T = SR * 1e-3;
tdl.SampleRate = SR;
tdlinfo = info(tdl);
Nt = tdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

Передайте входную форму волны через канал.

rxWaveform = tdl(txWaveform);

Постройте полученный спектр формы волны.

analyzer = dsp.SpectrumAnalyzer('SampleRate',tdl.SampleRate);
analyzer.Title = ['Received Signal Spectrum ' tdl.DelayProfile];
analyzer(rxWaveform);

Передайте форму волны через модель канала Коснувшейся линии задержки (TDL) от Раздела TR 38.901 7.7.2 с индивидуально настраиваемым профилем задержки.

Задайте конфигурационную структуру канала с помощью nrTDLChannel Системный объект. Настройте профиль задержки с двумя касаниями.

  • Коснитесь 1: Rician со средней степенью 0 дБ, K-фактор 10 дБ, и нулевая задержка.

  • Коснитесь 2: Рэлеевский со средней степенью-5 дБ и задержкой пути на 45 нс с помощью TDL-D.

tdl = nrTDLChannel;
tdl.NumTransmitAntennas = 1;
tdl.DelayProfile = 'Custom';
tdl.FadingDistribution = 'Rician';
tdl.KFactorFirstTap = 10.0;
tdl.PathDelays = [0.0 45e-9];
tdl.AveragePathGains = [0.0 -5.0];

Создайте случайную форму волны 1 длительности подкадра с 1 антенной.

SR = 30.72e6;
T = SR * 1e-3;
tdl.SampleRate = SR;
tdlinfo = info(tdl);
Nt = tdlinfo.NumTransmitAntennas;
 
txWaveform = complex(randn(T,Nt),randn(T,Nt));

Передайте входную форму волны через канал.

rxWaveform = tdl(txWaveform);

Ссылки

[1] 3GPP TR 38.901. “Исследование модели канала для частот от 0,5 до 100 ГГц”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[2] 3GPP TS 36.101. “Развитый Универсальный Наземный Радио-доступ (к E-UTRA); передача радио Оборудования пользователя (UE) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[3] 3GPP TS 36.104. “Развитый Универсальный Наземный Радио-доступ (к E-UTRA); передача радио Базовой станции (BS) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

Расширенные возможности

Смотрите также

Функции

Объекты

Введенный в R2018b