Формирование сигнала, модулированного OFDM
[ производит waveform,info] = nrOFDMModulate(carrier,grid)waveform, форма сигнала во временной области, посредством выполнения модуляции мультиплексирования с ортогональным частотным разделением (OFDM) массива ресурсов несущей grid для параметров конфигурации несущей carrier. Функция также возвращает infoструктура, содержащая информацию OFDM.
[ модулирует массив ресурсов несущей с интервалом между поднесущими waveform,info] = nrOFDMModulate(grid,scs,initialNSlot)scs и начальный номер слота initialNSlot.
[ задает параметры, используя один или несколько аргументов пары имя-значение в дополнение к входным аргументам в любом из предыдущих синтаксисов.waveform,info] = nrOFDMModulate(___,Name,Value)
Формирование формы сигнала путем выполнения OFDM-модуляции массива ресурсов, который содержит зондирующие опорные сигналы (SRS). Массив ресурсов охватывает весь кадр.
Установка параметров конфигурации несущей, задающих интервал между поднесущими 30 кГц и 24 блока ресурсов (RB) в массиве ресурсов несущей.
carrier = nrCarrierConfig('SubcarrierSpacing',30,'NSizeGrid',24);
Конфигурирование параметров SRS, установка периодичности слота 2 и смещение до нуля.
srs = nrSRSConfig('SRSPeriod',[2 0]);Получение информации OFDM для указанной конфигурации несущей.
info = nrOFDMInfo(carrier);
Создайте массив ресурсов кадра путем создания и объединения отдельных массивов ресурсов слотов.
grid = []; for nslot = 0:(info.SlotsPerFrame - 1) carrier.NSlot = nslot; slotGrid = nrResourceGrid(carrier); ind = nrSRSIndices(carrier,srs); sym = nrSRS(carrier,srs); slotGrid(ind) = sym; grid = [grid slotGrid]; end
Выполните модуляцию OFDM в массиве ресурсов для указанной конфигурации несущей.
[waveform,info] = nrOFDMModulate(carrier,grid);
Формирование формы сигнала путем выполнения OFDM-модуляции массива ресурсов, который содержит физические символы опорного сигнала демодуляции (DM-RS) совместно используемого канала нисходящей линии связи (PDSCH).
Задайте параметры конфигурации несущей, задав интервал между поднесущими 60 кГц.
scs = 60;
carrier = nrCarrierConfig('SubcarrierSpacing',scs);Создайте символы и индексы PDSCH DM-RS.
p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);Создайте массив ресурсов несущей, содержащий символы PDSCH DM-RS.
grid = nrResourceGrid(carrier,p); grid(ind) = sym;
Формирование сигнала, модулированного OFDM, с указанием интервала между поднесущими, начального номера слота и типа циклического префикса. Отображение информации OFDM.
initialNSlot = carrier.NSlot; cpl = 'extended'; [waveform,info] = nrOFDMModulate(grid,scs,initialNSlot,'CyclicPrefix',cpl); disp(info)
Nfft: 1024
SampleRate: 61440000
CyclicPrefixLengths: [1x48 double]
SymbolLengths: [1x48 double]
Windowing: 36
SymbolPhases: [1x48 double]
SymbolsPerSlot: 12
SlotsPerSubframe: 4
SlotsPerFrame: 40
Формирование формы сигнала путем выполнения OFDM-модуляции массива ресурсов, который содержит символы PDSCH DM-RS.
Задайте параметры конфигурации несущей, указав 106 RB в массиве ресурсов несущей.
carrier = nrCarrierConfig('NSizeGrid',106);Сконфигурируйте PDSCH и создайте соответствующие символы и индексы.
p = 4;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);Создайте массив ресурсов несущей и сопоставьте символы PDSCH.
grid = nrResourceGrid(carrier,p,'OutputDataType','single'); grid(ind) = sym;
Формирование сигнала, модулированного OFDM, с заданием частоты дискретизации.
sr = 1e8;
[waveform,info] = nrOFDMModulate(carrier,grid,'SampleRate',sr);carrier - Параметры конфигурации несущейnrCarrierConfig объектПараметры конфигурации несущей для конкретной нумерации OFDM, определенные как nrCarrierConfig объект. Для этой функции релевантны только эти свойства объекта.
NSizeGrid - Количество БР в сетке ресурсов операторов связи52 (по умолчанию) | целое число от 1 до 275Количество RB в сетке ресурсов оператора связи, указанное как целое число от 1 до 275. Значение по умолчанию 52 соответствует максимальному количеству RB несущей 10 МГц с SCS 15 кГц.
Типы данных: double
SubcarrierSpacing - Интервал между поднесущими в кГц15 (по умолчанию) | 30 | 60 | 120 | 240Интервал между поднесущими в кГц для всех каналов и опорных сигналов несущей, указанный как 15, 30, 60, 120, или 240.
Типы данных: double
NSlot - Номер слота0 (по умолчанию) | неотрицательное целое числоНомер слота, заданный как неотрицательное целое число. Можно задать NSlot до значения, большего, чем количество слотов на кадр. Например, в моделировании MATLAB ® это значение можно задать с помощью счетчиков циклов передачи. В этом случае может потребоваться убедиться, что значение свойства по модулю соответствует количеству слотов на кадр в вызывающем коде.
Типы данных: double
CyclicPrefix - Длина циклического префикса'normal' (по умолчанию) | 'extended'Длина циклического префикса, указанная в качестве одной из этих опций.
'normal' - это значение используется для указания обычного циклического префикса. Эта опция соответствует 14 символам OFDM в слоте.
'extended' - это значение используется для указания расширенного циклического префикса. Эта опция соответствует 12 символам OFDM в слоте. Для нумерологии, указанной в TS 38.211 Раздел 4.2, расширенная длина циклического префикса применяется только для интервала поднесущих 60 кГц.
Типы данных: char | string
grid - Массив ресурсов несущейМассив ресурсов несущей, заданный как массив комплексных значений размера K-by-N-by-P.
K - количество поднесущих.
N - количество символов OFDM.
P - количество передающих антенн.
Типы данных: single | double
Поддержка комплексного номера: Да
scs - Интервал между поднесущими в кГц15 | 30 | 60 | 120 | 240Интервал между поднесущими в кГц, указанный как 15, 30, 60, 120, или 240.
Типы данных: double
initialNSlot - Начальный номер слотаНачальный номер слота в форме на основе 0, заданный как неотрицательное целое число. Функция выбирает соответствующие длины циклического префикса для модуляции OFDM, используя значение initialNSlot mod S, где S - количество временных интервалов на подкадр.
Типы данных: double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'CyclicPrefix','extended' указывает длину расширенного циклического префикса.'CyclicPrefix' - Длина циклического префикса'normal' (по умолчанию) | 'extended'Длина циклического префикса, заданная как разделенная запятыми пара, состоящая из 'CyclicPrefix' и одно из этих значений:
'normal' - это значение используется для указания обычного циклического префикса. Эта опция соответствует 14 символам OFDM в слоте.
'extended' - это значение используется для указания расширенного циклического префикса. Эта опция соответствует 12 символам OFDM в слоте. Для нумерологии, указанной в TS 38.211, раздел 4.2, расширенная длина циклического префикса применяется только к интервалу поднесущих 60 кГц.
Примечание
При указании carrier ввод, используйте CyclicPrefix имущества carrier для указания длины циклического префикса. Этот аргумент пары имя-значение нельзя использовать вместе с carrier вход.
Типы данных: char | string
'Nfft' - Количество точек БПФ[]Количество точек быстрого преобразования Фурье (БПФ), указанных как пара, разделенная запятыми, состоящая из 'Nfft' и неотрицательное целое число больше 127 или []. Указанное значение должно привести к целочисленным длинам циклических префиксов и максимальной занятости 100%. Заполняемость определяется как значение (12 × NRB )/Nfft, где NRB - количество блоков ресурсов.
Если этот ввод не указан, или если указан 'Nfft',[], функция устанавливает целочисленное значение больше 127 в качестве значения по умолчанию для этого ввода. Фактическое значение по умолчанию зависит от других входных значений.
Если не указать SampleRate ввод, или если вы указываете 'SampleRate',[], наборы функций Nfft удовлетворение этих условий.
Nfft является целочисленной степенью 2.
Nfft в результате максимальная заполняемость составляет 85%.
При указании SampleRate ввод, наборы функций Nfft удовлетворение этих условий.
Типы данных: double
'SampleRate' - Частота дискретизации формы сигнала[]Частота дискретизации формы сигнала, указанная как разделенная запятыми пара, состоящая из 'SampleRate' и либо положительный скаляр, либо [].
Если этот ввод не указан, или если указан 'SampleRate',[], то функция устанавливает этот вход на значение Nfft × SCS.
Типы данных: double
'Windowing' - Количество отсчетов временной области для оконной обработки символов OFDM и наложения[]Количество отсчетов временной области, над которыми функция применяет приподнятую косинусную оконную обработку и перекрытие символов OFDM, указанное как пара, разделенная запятыми, состоящая из 'Windowing' и либо неотрицательным целым числом, либо [].
Если этот ввод не указан, или если указан 'Windowing',[], функция устанавливает этот входной сигнал на максимальное значение E, которое не влияет на тесты на величину вектора ошибок (EVM), как указано в TS 38.101-1 Приложения F.5.3 и F.5.4, TS 38.101-2 Приложения F.5.3 и F.5.4 и TS 38.104 Приложения B.5.2 и C.5.2. E равно значению floor((NCP − W) × info.Nfft ⁄ NFFT, номинальный), где NCP, W и NFFT, номинальные - это значения в столбцах таблицы, помеченных как «Длина циклического префикса», «Длина окна EVM» и «Размер БПФ» соответственно.
Типы данных: double
'CarrierFrequency' - Несущая частота в Гц0 (по умолчанию) | вещественное числоНесущая частота в Гц, указанная как разделенная запятыми пара, состоящая из 'CarrierFrequency' и реальное число. Этот вход соответствует f0, определенному в TS 38.211 Раздел 5.4.
Типы данных: double
waveform - модулированный сигнал OFDMOFDM модулированный сигнал, возвращаемый в виде комплексной матрицы размера T-by-P.
T - количество отсчетов во временной области в форме сигнала.
P - количество передающих антенн.
Типы данных: single | double
Поддержка комплексного номера: Да
info - информация OFDMИнформация OFDM, возвращенная как структура, содержащая эти поля.
| Области | Ценности | Описание |
|---|---|---|
Nfft | Положительное целое число | Количество точек БПФ |
SampleRate | Положительный скаляр | Частота дискретизации формы сигнала |
CyclicPrefixLengths | 1-by-N вектор положительных целых чисел, где N - число символов OFDM в подкадре. | Длины циклического префикса каждого символа OFDM в выборках |
SymbolLengths | 1-by-N вектор положительных целых чисел | Длины символов OFDM в выборках |
Windowing | Положительное целое число | Количество отсчетов временной области, над которыми функция применяет приподнятую косинусную оконную обработку и перекрытие символов OFDM |
SymbolPhases | 1-by-N вектор скаляров в интервале [-δ, λ] | Фазовая компенсация каждого символа OFDM в радианах Функция применяет эту компенсацию во время модуляции для учета фазовых членов на символ OFDM, как указано в TS 38.211, раздел 5.4 [4]. |
SymbolsPerSlot | Положительное целое число | Количество символов OFDM в слоте |
SlotsPerSubframe | Положительное целое число | Количество слотов в субкадре 1 мс |
SlotsPerFrame | Положительное целое число | Количество слотов в кадре 10 мс |
Типы данных: struct
[1] 3GPP TS 38.101-1. "НР; радиопередача и прием пользовательского оборудования (UE); Часть 1: Автономный диапазон 1. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
[2] 3GPP TS 38.101-2. "НР; радиопередача и прием пользовательского оборудования (UE); Часть 2: Диапазон 2 Автономный. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
[3] 3GPP TS 38.104. "НР; радиопередача и прием базовой станции (BS). "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
[4] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
Примечания и ограничения по использованию:
Имена и значения в аргументах пары имя-значение должны быть константами времени компиляции. Например, при указании расширенного циклического префикса включить {coder.Constant('CyclicPrefix'),coder.Constant('extended')} в -args значение codegen функция. Дополнительные сведения см. в разделе coder.Constant (Кодер MATLAB) класс.
Входные аргументы scs и initialNSlot должны быть константами времени компиляции. Включать {coder.Constant(scs)} и {coder.Constant(initialNSlot)} в -args значение codegen функция.
'SampleRate' аргумент пары имя-значение не может использоваться вместе с carrier вход.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.