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Сбросьте внутренние состояния Системного объекта

Примеры

свернуть все

Отобразитесь спектр формы волны, полученный через коснувшуюся линию задержки (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.

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 Системный объект. Настройте профиль задержки с двумя касаниями.

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

  • Второе касание: Рэлеевский со средней степенью -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