Передайте сигнал через модель канала CDL
The nrCDLChannel
Система object™ отправляет входной сигнал через канал с кластеризованной линией задержки (CDL) с мультивходами с несколькими выходами (MIMO) для получения сигнала с ослабленным каналом. Объект реализует следующие аспекты TR 38.901 [1]:
Раздел 7.7.1: Модели CDL
Раздел 7.7.3: Масштабирование задержек
Раздел 7.7.5.1: Масштабирование углов
Раздел 7.7.6: Коэффициент K для моделей канала LOS
Для передачи сигнала через модель канала CDL MIMO:
Создайте nrCDLChannel
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает канал CDL MIMO Системного объекта.cdl
= nrCDLChannel
создает объект со свойствами, установленными при помощи одной или нескольких пар "имя-значение". Заключайте имя свойства в кавычки с указанием заданного значения. Неопределенные свойства берут значения по умолчанию.cdl
= nrCDLChannel(Name,Value
)
cdl = nrCDLChannel('DelayProfile','CDL-D','DelaySpread',2e-6)
создает объект канала с профилем задержки CDL-D и расширением задержки 2 микросекунды.Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release
функция разблокирует их.
Если свойство настраивается, можно изменить его значение в любой момент.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.
DelayProfile
- Профиль задержки CDL'CDL-A'
(по умолчанию) | 'CDL-B'
| 'CDL-C'
| 'CDL-D'
| 'CDL-E'
| 'Custom'
Профиль задержки CDL, заданный как 'CDL-A'
, 'CDL-B'
, 'CDL-C'
, 'CDL-D'
, 'CDL-E'
, или 'Custom'
. См. ТР 38.901 раздел 7.7.1, таблицы 7.7.1-1 - 7.7.1-5.
Когда вы устанавливаете это свойство на 'Custom'
, сконфигурируйте профиль задержки с помощью свойств PathDelays
, AveragePathGains
, AnglesAoA
, AnglesAoD
, AnglesZoA
, AnglesZoD
, HasLOSCluster
, KFactorFirstCluster
, AngleSpreads
, XPR
, и NumStrongestClusters
.
Типы данных: char
| string
PathDelays
- Дискретные задержки пути в секундах0.0
(по умолчанию) | числовой скаляр | вектор-строкаДискретные задержки пути в секундах, заданные в виде числа или вектора-строки. AveragePathGains
и PathDelays
должен иметь тот же размер.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
AveragePathGains
- Среднее усиление пути в дБ0.0
(по умолчанию) | числовой скаляр | вектор-строкаСреднее усиление пути в дБ, также называемое степенями кластера в TR 38,901, задается в виде числа или вектора-строки. AveragePathGains
и PathDelays
должен иметь тот же размер.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
AnglesAoA
- Азимут угла прихода в степенях0.0
(по умолчанию) | числовой скаляр | вектор-строкаАзимут угла прихода в степени, задается как числовой скаляр или вектор-строка. Векторные элементы задают углы для каждого кластера.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
AnglesAoD
- Азимут угла падения в степенях0.0
(по умолчанию) | числовой скаляр | вектор-строкаАзимут угла вылета в степени, задается как числовой скаляр или вектор-строка. Векторные элементы задают углы для каждого кластера.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
AnglesZoA
- Зенит угла прибытия в степенях0.0
(по умолчанию) | числовой скаляр | вектор-строкаЗенит угла прихода в степени, задается в виде числа или вектора-строки. Векторные элементы задают углы для каждого кластера.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
AnglesZoD
- Зенит угла вылета в степенях0.0
(по умолчанию) | числовой скаляр | вектор-строкаЗенит угла вылета в степени, задается в виде числа или вектора-строки. Векторные элементы задают углы для каждого кластера.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
HasLOSCluster
- Кластер линий видимости профиля задержкиfalse
(по умолчанию) | true
Кластер линий видимости (LOS) профиля задержки, заданный как false
или true
. The PathDelays
, AveragePathGains
, AnglesAoA
, AnglesAoD
, AnglesZoA
, и AnglesZoD
свойства определяют профиль задержки. Чтобы включить кластер LOS профиля задержки, установите HasLOSCluster
на true
.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: logical
KFactorFirstCluster
- K-коэффициент в первом кластере профиля задержки в дБ13.3
(по умолчанию) | числовой скалярK-коэффициент в первом кластере профиля задержки в дБ, заданный как числовой скаляр. Значение по умолчанию соответствует К-фактору в первом кластере CDL-D, как определено в TR 38.901 Раздел 7.7.1, таблица 7.7.1-4.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
и HasLOSCluster
на true
.
Типы данных: double
AngleScaling
- Применить масштабирование угловfalse
(по умолчанию) | true
Применить масштабирование углов, заданное как false
или true
в соответствии с ТР 38.901 раздел 7.7.5.1. Когда установлено значение true
, а AngleSpreads
и MeanAngles
свойства определяют масштабирование углов.
Чтобы включить это свойство, задайте DelayProfile
на 'CDL-A'
, 'CDL-B'
, 'CDL-C'
, 'CDL-D'
, или 'CDL-E'
. Это свойство не применяется к пользовательскому профилю задержки.
Типы данных: logical
AngleSpreads
- Масштабированный или кластерный угол RMS распространяется в степенях[5.0 11.0 3.0 3.0]
(по умолчанию) | четырехэлементный вектор-строкаМасштабированный или кластерный среднеквадратичный угол (RMS) распространяется в степенях, заданных как четырехэлементный вектор-строка в одной из следующих форм:
[<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0>] - Использование этот вектор, чтобы определить желаемые RMS распространения угла канала, как описано в разделе 7.7.5.1 TR 38.901 (ASdesired), где:
ASD - азимутальный разброс углов отправления RMS
ASA - азимутальный разброс углов прибытия RMS
ZSD - zenith RMS разброс углов вылета
ZSA - zenith RMS разброс углов прибытия
Чтобы использовать эту форму, задайте AngleScaling
на true
и DelayProfile
на 'CDL-A'
, 'CDL-B'
, 'CDL-C'
, 'CDL-D'
, или 'CDL-E'
.
[C ASD C ASA C ZSD C ZSA] - Используйте этот вектор для определения кластерных угловых спредов RMS для масштабирования углов смещения лучей в кластере, как описано в TR 38.901 Раздел 7.7.1, Step1, где:
C ASD является кластерным азимутальным распределением углов отхода RMS
C ASA является кластерным азимутальным распределением углов прибытия RMS
C ZSD является кластерным RMS zenith spread углов вылета
C ZSA является кластерным RMS zenith spread углов прибытия
Чтобы использовать эту форму, задайте DelayProfile
на 'Custom'
. На основании TR 38.901 Раздел 7.7.5.1, объект не выполняет масштабирование угла в этом случае.
Значение по умолчанию соответствует кластерным угловым распределениям CDL-A по умолчанию, определенным в TR 38.901 Раздел 7.7.1 Таблица 7.7.1-1.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
или AngleScaling
на true
.
Типы данных: double
MeanAngles
- Масштабированные средние углы в степенях[0.0 0.0 0.0 0.0]
(по умолчанию) | четырехэлементный вектор-строкаЧешуйчатые средние углы в степенях, определенных как вектор - строка с четырьмя элементами формы [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ].
AoD - средний азимут углов отхода после масштабирования
AoA - средний азимут углов прихода после масштабирования
ZoD - средний зенит углов вылета после масштабирования
ZoA - средний зенит углов прихода после масштабирования
Используйте этот вектор, чтобы задать желаемые средние углы канала, используемого для масштабирования угла, как описано в TR 38.901 Раздел 7.7.5.1 ().
Чтобы включить это свойство, задайте AngleScaling
на true
.
Типы данных: double
XPR
- Перекрестная поляризация степени в дБ10.0
(по умолчанию) | числовой скалярПерекрестная поляризация степени в дБ, заданный как числовой скаляр. Значение по умолчанию соответствует кластерной перекрестной поляризации коэффициенту степени CDL-A, определенному в TR 38.901 Раздел 7.7.1, Таблица 7.7.1-1.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
DelaySpread
- Желаемый разброс задержки RMS в секундах30e-9
(по умолчанию) | числовой скалярЖелаемый разброс задержки RMS в секундах, задается как числовой скаляр. Для примеров желаемых спредов задержки RMS, DSdesired
, см. TR 38.901 раздел 7.7.3 и таблицы 7.7.3-1 и 7.7.3-2.
Чтобы включить это свойство, задайте DelayProfile
на 'CDL-A'
, 'CDL-B'
, 'CDL-C'
, 'CDL-D'
, или 'CDL-E'
. Это свойство не применяется к пользовательскому профилю задержки.
Типы данных: double
CarrierFrequency
- Несущая частота в Гц4e9
(по умолчанию) | числовой скалярНесущая частота в Гц, заданная как числовой скаляр.
Типы данных: double
MaximumDopplerShift
- Максимальный доплеровский сдвиг в Гц5
(по умолчанию) | неотрицательный числовой скалярМаксимальный доплеровский сдвиг в Гц, заданный как неотрицательный числовой скаляр. Это свойство применяется ко всем канальным путям. Когда максимальный сдвиг Доплера установлен в 0, канал остается статическим для всего входа. Чтобы сгенерировать реализацию нового канала, сбросьте объект, вызвав reset
функция.
Типы данных: double
UTDirectionOfTravel
- Конечное направление движения пользователя в степенях[0; 90]
(по умолчанию) | двухэлементный вектор-столбецНаправление перемещения пользовательского терминала (или пользовательского оборудования) в степени, заданное как двухэлементный вектор-столбец. Векторные элементы определяют азимут и зенитные компоненты [азимут; зенит].
Типы данных: double
KFactorScaling
- Масштабирование K-фактораfalse
(по умолчанию) | true
Масштабирование K-фактора, заданное как false
или true
. Когда установлено значение true
, а KFactor
свойство задает требуемый коэффициент K, и объект применяет масштабирование коэффициента K, как описано в TR 38.901 Раздел 7.7.6.
Примечание
Масштабирование K-фактора изменяет как задержки пути, так и степеней пути.
Чтобы включить это свойство, задайте DelayProfile
на 'CDL-D'
или 'CDL-E'
.
Типы данных: double
KFactor
- Желаемый коэффициент K для масштабирования в дБ9.0
(по умолчанию) | числовой скалярЖелаемый 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
SampleRate
- Частота дискретизации входного сигнала в Гц30.72e6
(по умолчанию) | положительный числовой скалярЧастота дискретизации входного сигнала в Гц, заданная как положительный числовой скаляр.
Типы данных: double
TransmitAntennaArray
- Характеристики передающей антенной решеткиПередайте характеристики антенной решетки, заданные как структура или фазированная решетка (требует Phased Array System Toolbox™).
Фазированные решетки позволяют вам задавать различные строения антенной решетки, включая предопределенные и пользовательские антенные элементы. Вы можете проектировать пользовательские антенные элементы с помощью Phased Array System Toolbox или функций Antenna Toolbox™. Чтобы задать пользовательские антенные элементы в 5G прямоугольному многопанельному массиву, как определено в TR 38.901 Section 7.3, используйте phased.NRRectangularPanelArray
(Phased Array System Toolbox) объект. Обзор фазированных решеток см. в разделе «Конфигурации и анализ массивов» (Phased Array System Toolbox).
При указании в качестве структуры это свойство содержит следующие поля:
Поле параметра | Значения | Описание |
---|---|---|
Size |
Вектор-строка |
Размер антенной решетки [M N P M g N g], где:
The Для примера этот рисунок показов, как объект отображает входной сигнал |
ElementSpacing |
Вектор-строка |
Интервал между элементами, в длинах волн, задается как вектор-строка вида [λ v λ h dg v dg h]. Векторные элементы представляют вертикальный и горизонтальный интервалы между элементами и вертикальный и горизонтальный интервалы между панелями, соответственно. |
PolarizationAngles |
Вектор-строка |
Углы поляризации в степенях, заданные как вектор-строка вида [θ ρ]. |
Orientation (подлежит удалению) |
Вектор-столбец |
Примечание Это поле будет удалено в следующем релизе. Используйте Механическая ориентация массива, в степени, задается как вектор-столбец вида [α; β; γ]. Векторные элементы определяют подшипник, нисходящий и наклонный, соответственно. Значение по умолчанию указывает, что широкое направление массива указывает на положительную ось x -. |
Element |
|
Диаграмма направленности излучения антенного элемента, описанная в TR 38.901 Раздел 7.3. (Обратите внимание, что TR 38.901 заменил TR 38.900.) |
PolarizationModel |
|
Модель, которая определяет диаграммы направленности по напряжённости поля излучения на основе заданной диаграммы направленности мощности излучения. Для получения дополнительной информации см. TR 38.901 Раздел 7.3.2. |
TransmitArrayOrientation
- Механическая ориентация передающей антенной решетки[0; 0; 0]
(по умолчанию) | трехэлементный числовой вектор-столбецМеханическая ориентация передающей антенной решетки, заданная в виде трехэлементного числового вектора-столбца вида [α; β; γ]. Векторные элементы определяют углы поворота подшипника, вниз и наклона в степенях, соответственно, как указано в TR 38.901 Раздел 7.1.3. Объект применяет эти углы поворота относительно ориентации массива по умолчанию в локальной системе координат. Ориентация массива по умолчанию, соответствующая значению [0; 0; 0]
, зависит от TransmitAntennaArray
свойство.
Если вы задаете TransmitAntennaArray
свойство как структура (по умолчанию), в ориентации массива по умолчанию широкое направление указывает на положительную ось x -.
Если вы задаете TransmitAntennaArray
свойство как фазированная решетка (требует Phased Array System Toolbox), можно настроить ориентацию массива по умолчанию путем установки соответствующих свойств массива заданного объекта фазированной решетки.
Чтобы визуализировать и вычислить полученную ориентацию массива, вызовите displayChannel
функция на nrCDLChannel
модель канала.
Для примера ориентации передающих и приемных антенн друг к другу смотрите Orient Transmit and Receive Antennas Using LOS Path Angles.
Типы данных: double
ReceiveAntennaArray
- Характеристики антенной решетки приёмаАнтенные решетки приема, заданные как структура или фазированная решетка (требует Phased Array System Toolbox).
Фазированные решетки позволяют вам задавать различные строения антенной решетки, включая предопределенные и пользовательские антенные элементы. Вы можете проектировать пользовательские антенные элементы с помощью функций Phased Array System Toolbox или Antenna Toolbox. Чтобы задать пользовательские антенные элементы в 5G прямоугольному многопанельному массиву, как определено в TR 38.901 Section 7.3, используйте phased.NRRectangularPanelArray
(Phased Array System Toolbox) объект. Обзор фазированных решеток см. в разделе «Конфигурации и анализ массивов» (Phased Array System Toolbox).
При указании в качестве структуры это свойство содержит следующие поля:
Поле параметра | Значения | Описание |
---|---|---|
Size |
Вектор-строка |
Размер антенной решетки [M N P M g N g], где:
The Для примера этот рисунок показов, как объект сопоставляет антенную решетку размера |
ElementSpacing |
Вектор-строка |
Интервал между элементами, в длинах волн, задается как вектор-строка вида [λ v λ h dg v dg h]. Векторные элементы представляют вертикальный и горизонтальный интервалы между элементами и вертикальный и горизонтальный интервалы между панелями, соответственно. |
PolarizationAngles |
Вектор-строка |
Углы поляризации в степенях, заданные как вектор-строка вида [θ ρ]. |
Orientation (подлежит удалению) |
Вектор-столбец |
Примечание Это поле будет удалено в следующем релизе. Используйте Механическая ориентация массива, в степени, задается как вектор-столбец вида [α; β; γ]. Векторные элементы определяют подшипник, нисходящий и наклонный, соответственно. Значение по умолчанию указывает, что широкое направление массива указывает на положительную ось x -. |
Element |
|
Диаграмма направленности излучения антенного элемента, описанная в TR 38.901 Раздел 7.3. (Обратите внимание, что TR 38.901 заменил TR 38.900.) |
PolarizationModel |
|
Модель, которая определяет диаграммы направленности по напряжённости поля излучения на основе заданной диаграммы направленности мощности излучения. Для получения дополнительной информации см. TR 38.901 Раздел 7.3.2. |
ReceiveArrayOrientation
- Механическая ориентация антенной решетки приема[0; 0; 0]
(по умолчанию) | трехэлементный числовой вектор-столбец Механическая ориентация приёмной антенной решетки, заданная как трехэлементный числовой вектор-столбец вида [α; β; γ]. Векторные элементы определяют углы поворота подшипника, вниз и наклона в степенях, соответственно, как указано в TR 38.901 Раздел 7.1.3. Объект применяет эти углы поворота относительно ориентации массива по умолчанию в локальной системе координат. Ориентация массива по умолчанию, соответствующая значению [0; 0; 0]
, зависит от ReceiveAntennaArray
свойство.
Если вы задаете ReceiveAntennaArray
свойство как структура (по умолчанию), в ориентации массива по умолчанию широкое направление указывает на положительную ось X.
Если вы задаете ReceiveAntennaArray
свойство как фазированная решетка (требует Phased Array System Toolbox), можно настроить ориентацию массива по умолчанию путем установки соответствующих свойств массива заданного объекта фазированной решетки.
Чтобы визуализировать и вычислить полученную ориентацию массива, вызовите displayChannel
функция на nrCDLChannel
модель канала.
Для примера ориентации передающих и приемных антенн друг к другу смотрите Orient Transmit and Receive Antennas Using LOS Path Angles.
Типы данных: double
SampleDensity
- Количество выборок времени на половину длины волны64
(по умолчанию) | Inf
| числовой скалярКоличество выборок на половину длины волны, заданное как Inf
или числовой скаляр. The SampleDensity
и MaximumDopplerShift
свойства управляют частотой дискретизации генерации коэффициентов, Fcg, заданные как
Fcg = MaximumDopplerShift
× 2 × <reservedrangesplaceholder0>
.
Настройка SampleDensity
на Inf
присваивает Fcg значение SampleRate
свойство.
Для примера того, как плотность выборки влияет на выход канала и коэффициент усиления пути, смотрите Plot Channel Transmission Properties with SISO and Delay Profile CDL-B.
Типы данных: double
NormalizePathGains
- Нормализованный процесс замирания каналаtrue
(по умолчанию) | false
Нормализованный процесс замирания канала, заданный как true
или false
. Когда для этого свойства задано значение true
амплитуда процесса замирания канала нормирована средними усилениями пути (также называемыми степенями кластера в TR 38.901). Эта нормализация не включает другие усиления канала, например, поляризацию и направленность антенного элемента. Когда для этого свойства задано значение false
процесс замирания канала не нормирован. The DelayProfile
свойство определяет среднее усиление пути на основе TR 38.901 Раздел 7.7.1, Таблицы 7.7.1-1 - 7.7.1-5. Когда вы задаете DelayProfile
на 'Custom'
, можно задать среднее увеличение пути с AveragePathGains
свойство.
Типы данных: logical
InitialTime
- Смещение времени затухания процесса в секундах0.0
(по умолчанию) | числовой скалярСмещение времени затухания процесса в секундах, задается как числовой скаляр.
Настраиваемый: Да
Типы данных: double
NumStrongestClusters
- Количество самых сильных кластеров для разделения на подкластеры0
(по умолчанию) | числовой скалярКоличество самых сильных кластеров, которые будут разделены на подкластеры, заданное как числовой скаляр. См. TR 38.901 Раздел 7.5, Шаг 11.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
.
Типы данных: double
ClusterDelaySpread
- Разброс задержки кластера в секундах3.90625e-9
(по умолчанию) | неотрицательной скаляромЗадержка кластера распространяется в секундах, задается как неотрицательный скаляр. Используйте это свойство, чтобы задать смещение задержки между подкластерами для кластеров, разделенных на подкластеры. См. TR 38.901 Раздел 7.5, Шаг 11.
Чтобы включить это свойство, задайте DelayProfile
на 'Custom'
и NumStrongestClusters
в значение, больше нуля.
Типы данных: double
RandomStream
- Источник потока случайных чисел'mt19937ar with seed'
(по умолчанию) | 'Global stream'
Источник потока случайных чисел, заданный как один из следующих:
'mt19937ar with seed'
- Объект использует алгоритм mt19937ar для нормально распределенной генерации случайных чисел. Вызов reset
функция сбрасывает фильтры и повторно инициализирует поток случайных чисел на значение Seed
свойство.
'Global stream'
- Объект использует текущий глобальный поток случайных чисел для нормально распределенной генерации случайных чисел. Вызов reset
функция сбрасывает только фильтры.
Seed
- Начальное начальное число потока случайных чисел mt19937ar73
(по умолчанию) | неотрицательный числовой скалярНачальное начальное число mt19937ar потока случайных чисел, заданное как неотрицательный числовой скаляр.
Чтобы включить это свойство, установите значение RandomStream равным 'mt19937ar with seed'
. При вызове reset
функция seed повторно инициализирует поток случайных чисел mt19937ar.
Типы данных: double
ChannelFiltering
- Замирание фильтрации каналаtrue
(по умолчанию) | false
Фильтрация канала с замираниями, заданная как true
или false
. Когда для этого свойства задано значение false
, применяются следующие условия:
Объект не принимает входной сигнал и возвращает только усиления пути и шаги расчета.
The SampleDensity
свойство определяет, когда дискретизировать коэффициенты канала.
The NumTimeSamples
свойство контролирует длительность реализации процесса затухания со частотой дискретизации, заданной SampleRate
свойство.
Пример использования отключения фильтрации канала см. в примере индивидуальной настройки модели канала CDL с трассировкой луча.
Типы данных: logical
NumTimeSamples
- Количество временных выборок30720
(по умолчанию) | положительное целое числоКоличество временных выборок, заданное в виде положительного целого числа. Используйте это свойство, чтобы задать длительность реализации затухающего процесса.
Настраиваемый: Да
Чтобы включить это свойство, задайте ChannelFiltering
на false
.
Типы данных: double
NormalizeChannelOutputs
- Нормализуйте выходы каналаtrue
(по умолчанию) | false
Нормализуйте выходы канала, заданные как true
или false
. Когда для этого свойства задано значение true
, выходы канала нормированы. Нормализация по N R, где N R - количество элементов приемной антенны или количество подрешеток антенны (только когда вы задаете ReceiveAntennaArray
свойство как phased.ReplicatedSubarray
(Phased Array System Toolbox) или phased.PartitionedArray
(Phased Array System Toolbox) объект фазированной решетки). Чтобы определить значение N R, проверьте NumOutputSignals
поле структуры в выходах
вызов функции объекта.info
(cdl
)
Примечание
Когда вы вызываете swapTransmitAndReceive
функция, чтобы изменить роль передающих и приемных антенн в канале, функция также меняет эти структуры output
вызов функции:info
(cdl
)
NumTransmitAntennas
и NumReceiveAntennas
NumInputSignals
и NumOutputSignals
Отсюда нормализация всегда по N R.
Чтобы включить это свойство, задайте ChannelFiltering
на true
.
Типы данных: logical
TransmitAndReceiveSwapped
- Направление обратного каналаfalse
(по умолчанию) | true
Это свойство доступно только для чтения.
Противоположное направление ссылки канала, возвращенное как одно из следующих значений.
false
- роль передающих и приемных антенн в модели канала соответствует исходному направлению канала ссылки. Вызов swapTransmitAndReceive
функция на nrCDLChannel
объект меняет направление ссылки на противоположное и переключает это значение свойства из false
на true
.
true
- Роль передающих и приемных антенн в модели канала заменяется. Вызов swapTransmitAndReceive
функция на nrCDLChannel
объект восстанавливает исходное направление ссылки канала и переключает это значение свойства из true
на false
.
Типы данных: logical
[
также возвращает шаги расчета моментальных снимков канала signalOut
,pathGains
,sampleTimes
] = cdl(signalIn
)pathGains
(элементы первого измерения).
[
возвращает только коэффициент усиления пути и шаги расчета. В этом случае pathGains
,sampleTimes
] = cdl()NumTimeSamples
свойство определяет длительность процесса затухания. Объект действует как источник усиления пути и шагов расчета без фильтрации входного сигнала. Чтобы использовать этот синтаксис, необходимо задать ChannelFiltering
свойство cdl
на false
.
signalIn
- Входной сигналВходной сигнал, заданный как комплексный скаляр, вектор-столбец или N S-by- N T-матрица, где:
N S - количество выборок.
N T - количество элементов передающей антенны или количество подрешёток антенны (только когда вы задаете TransmitAntennaArray
свойство как phased.ReplicatedSubarray
(Phased Array System Toolbox) или phased.PartitionedArray
(Phased Array System Toolbox) объект фазированной решетки). Чтобы определить значение N T, проверьте NumInputSignals
поле структуры в выходах
вызов функции объекта.info
(cdl
)
Типы данных: single
| double
Поддержка комплексного числа: Да
signalOut
- Выходной сигналВыходной сигнал, возвращенный как комплексный скаляр, вектор или N S-by N R матрица, где:
N S - количество выборок.
N R - это количество элементов приемной антенны или количество подрешёток антенны (только когда вы задаете ReceiveAntennaArray
свойство как phased.ReplicatedSubarray
(Phased Array System Toolbox) или phased.PartitionedArray
(Phased Array System Toolbox) объект фазированной решетки). Чтобы определить значение N R, проверьте NumOutputSignals
поле структуры в выходах
вызов функции объекта.info
(cdl
)
Тип данных выходного сигнала такой же точности, как и тип данных входного сигнала.
Типы данных: single
| double
Поддержка комплексного числа: Да
pathGains
- коэффициент усиления канала MIMO процесса затуханияКоэффициент усиления канала MIMO процесса затухания, возвращаемый как N комплексный массив CS-by N P-by N T-by N R, где:
N CS - это количество моментальных снимков канала, управляемых SampleDensity
свойство cdl
.
N P - количество путей, заданное размером PathDelays
свойство cdl
.
N T - количество элементов передающей антенны или количество подрешёток антенны (только когда вы задаете TransmitAntennaArray
свойство как phased.ReplicatedSubarray
(Phased Array System Toolbox) или phased.PartitionedArray
(Phased Array System Toolbox) объект фазированной решетки). Чтобы определить значение N T, проверьте NumInputSignals
поле структуры в выходах
вызов функции объекта.info
(cdl
)
N R - это количество элементов приемной антенны или количество подрешёток антенны (только когда вы задаете ReceiveAntennaArray
свойство как phased.ReplicatedSubarray
(Phased Array System Toolbox) или phased.PartitionedArray
(Phased Array System Toolbox) объект фазированной решетки). Чтобы определить значение N R, проверьте NumOutputSignals
поле структуры в выходах
вызов функции объекта.info
(cdl
)
Тип данных усиления пути совпадает с типом данных входного сигнала.
Типы данных: single
| double
Поддержка комплексного числа: Да
sampleTimes
- Время дискретизации моментальных снимков каналаШаги расчета моментальных снимков канала, возвращаемый как N вектор-столбец CS-на-1, где N CS - количество моментальных снимков канала, управляемых SampleDensity
свойство.
Типы данных: double
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
nrCDLChannel
info | Получите характеристическую информацию о канале MIMO канального уровня с замираниями |
getPathFilters | Получите импульсную характеристику фильтра пути для MIMO-канала канального уровня с замираниями |
displayChannel | Визуализация и исследование характеристик модели канала CDL |
swapTransmitAndReceive | Направление обратной ссылки связи в модели канала CDL |
Передайте форму волны через модель кластеризованной линии задержки (CDL) с профилем задержки CDL-D из раздела 7.7.1 TR 38.901.
Определите структуру строения канала с помощью nrCDLChannel
Системный объект. Используйте профиль задержки CDL-D, разброс задержки 10 нс и скорость UE 15 км/ч:
v = 15.0; % UE 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; % UE max Doppler frequency in Hz cdl = nrCDLChannel; cdl.DelayProfile = 'CDL-D'; cdl.DelaySpread = 10e-9; cdl.CarrierFrequency = fc; cdl.MaximumDopplerShift = fd;
Сконфигурируйте передающий массив как вектор вида [M N P Mg Ng] = [2 2 2 1 1], представляющий 1 панель (Mg = 1, Ng = 1) с антенной решеткой 2 на 2 (M = 2, N = 2) и двумя углами поляризации (P = 2). Сконфигурируйте приёмную антенную решетку как вектор вида [M N P Mg Ng] = [1 1 2 1 1], представляющий одну пару поперечно поляризованных совмещенных антенн.
cdl.TransmitAntennaArray.Size = [2 2 2 1 1]; cdl.ReceiveAntennaArray.Size = [1 1 2 1 1];
Создайте случайную форму волны длительностью 1 субкадр с 8 антеннами.
SR = 15.36e6; T = SR * 1e-3; cdl.SampleRate = SR; cdlinfo = info(cdl); Nt = cdlinfo.NumInputSignals; txWaveform = complex(randn(T,Nt),randn(T,Nt));
Передайте сигнал входа через канал.
rxWaveform = cdl(txWaveform);
График моментальные снимки выхода канала и усиления пути для различных значений плотности выборки при использовании nrCDLChannel
Системный объект.
Сконфигурируйте канал с профилем задержки CDL-B из TR 38.901 Раздел 7.7.1. Установите максимальный доплеровский сдвиг на 300 Гц и частоту дискретизации канала на 10 кГц.
cdl = nrCDLChannel;
cdl.DelayProfile = 'CDL-B';
cdl.MaximumDopplerShift = 300.0;
cdl.SampleRate = 10e3;
cdl.Seed = 19;
Сконфигурируйте передающие и приемные антенны для операции с одним входом/одним выходом (SISO).
cdl.TransmitAntennaArray.Size = [1 1 1 1 1]; cdl.ReceiveAntennaArray.Size = [1 1 1 1 1];
Создайте входную форму волны с длиной 40 сэмплов.
T = 40; in = ones(T,1);
Постройте график переходной характеристики канала (отображается как линии) и соответствующих моментальных снимков усиления пути (отображаемых кругов) для различных значений SampleDensity
свойство. Свойство плотности выборки контролирует, как часто снимки канала делаются относительно частоты Доплера.
Когда SampleDensity
установлено в Inf
снимок канала берётся для каждой входной выборки.
Когда SampleDensity
устанавливается в скаляр S, снимок канала принимается со скоростью .
The nrCDLChannel
объект применяет моментальные снимки канала к входу сигнала с помощью интерполяции удержания нулевого порядка. Объект делает дополнительный снимок за пределами конца входа. Некоторые из конечных выходных выборок используют это дополнительное значение, чтобы минимизировать ошибку интерполяции. Выход канала содержит переходный процесс (и задержку) из-за фильтров, которые реализуют задержки пути.
s = [Inf 5 2]; % sample densities legends = {}; figure; hold on; SR = cdl.SampleRate; for i = 1:length(s) % call channel with chosen sample density release(cdl); cdl.SampleDensity = s(i); [out,pathgains,sampletimes] = cdl(in); chInfo = info(cdl); tau = chInfo.ChannelFilterDelay; % plot channel output against time t = cdl.InitialTime + ((0:(T-1)) - tau).' / SR; h = plot(t,abs(out),'o-'); h.MarkerSize = 2; h.LineWidth = 1.5; desc = ['Sample Density = ' num2str(s(i))]; legends = [legends ['Output, ' desc]]; disp([desc ', Ncs = ' num2str(length(sampletimes))]); % plot path gains against sample times h2 = plot(sampletimes-tau/SR,abs(sum(pathgains,2)),'o'); h2.Color = h.Color; h2.MarkerFaceColor = h.Color; legends = [legends ['Path Gains, ' desc]]; end
Sample Density = Inf, Ncs = 40 Sample Density = 5, Ncs = 13 Sample Density = 2, Ncs = 6
xlabel('Time (s)'); title('Channel Output and Path Gains vs. Sample Density'); ylabel('Channel Magnitude'); legend(legends,'Location','NorthWest');
Создайте модель канала CDL. Затем задайте канал освещения (LOS).
cdl = nrCDLChannel; cdl.DelayProfile = 'CDL-D'; % LOS channel cdl.TransmitAntennaArray.Element = '38.901'; cdl.ReceiveAntennaArray.Element = '38.901';
Извлечение информации о характеристиках канала. Ориентируйте передающие и приемные антенны, чтобы они указывали друг на друга, используя углы пути LOS, возвращенные в характеристической информации.
cdlInfo = cdl.info; cdl.TransmitArrayOrientation = [cdlInfo.AnglesAoD(1) cdlInfo.AnglesZoD(1)-90 0]'; cdl.ReceiveArrayOrientation = [cdlInfo.AnglesAoA(1) cdlInfo.AnglesZoA(1)-90 0]';
Визуализируйте характеристики канала на конце передатчика.
cdl.displayChannel('LinkEnd','Tx'); view(0,90)
Визуализируйте характеристики канала на конце приемника. Самый сильный путь (LOS) проходит через максимум диаграммы направленности излучения элемента, что подтверждает, что антенны указывают друг на друга.
cdl.displayChannel('LinkEnd','Rx') view(0,90)
Создайте модель канала CDL. Затем задайте фазированную решетку для передающей антенной решетки.
cdl = nrCDLChannel; cdl.TransmitAntennaArray = phased.URA;
Задайте элемент передающей антенной решетки с перекрестным диполем, чтобы сгенерировать круговые поляризованные поля.
cdl.TransmitAntennaArray.Element = phased.CrossedDipoleAntennaElement;
Установите широкое направление массива к положительной оси Y. Добавьте 30 степеней вниз.
cdl.TransmitAntennaArray.ArrayNormal = 'y';
cdl.TransmitArrayOrientation = [0; 30; 0];
Установите интервал между антенными элементами равным половине длины волны.
lambda = physconst('lightspeed')/cdl.CarrierFrequency;
cdl.TransmitAntennaArray.ElementSpacing = [lambda/2 lambda/2];
Визуализируйте характеристики канала на конце передатчика.
cdl.displayChannel('LinkEnd','Tx');
Orientation
будет удалено поле свойств антенной решеткиПредупреждает, начиная с R2021a
The Orientation
поле TransmitAntennaArray
свойство будет удалено в следующем релизе. Используйте TransmitArrayOrientation
вместо этого свойство.
The Orientation
поле ReceiveAntennaArray
свойство будет удалено в следующем релизе. Используйте ReceiveArrayOrientation
вместо этого свойство.
[1] 3GPP TR 38.901. «Исследование модели канала для частот от 0,5 до 100 ГГц». 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.
Указания и ограничения по применению:
Смотрите Системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.