Сгенерируйте пустую сетку ресурса паза поставщика услуг
Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит звучащие опорные сигналы (SRSs). Массив ресурса охватывает целую систему координат.
Установите параметры конфигурации поставщика услуг, задав интервал поднесущей 30 кГц и 24 блока ресурса (RBS) в массиве ресурса поставщика услуг.
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.
Установите параметры конфигурации поставщика услуг, задав 106 блоков ресурса (RBS) в массиве ресурса поставщика услуг.
carrier = nrCarrierConfig('NSizeGrid',106);
Сгенерируйте физический нисходящий канал совместно использованный канал (PDSCH) опорный сигнал демодуляции (DM-RS) символы и индексы.
p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);
Создайте массив ресурса поставщика услуг, содержащий символы PDSCH DM-RS.
txGrid = nrResourceGrid(carrier,p); txGrid(ind) = sym;
Сгенерируйте модулируемую форму волны OFDM.
[txWaveform,~] = nrOFDMModulate(carrier,txGrid);
Передайте форму волны через простое, 2 1 образовывают канал.
H = [0.6; 0.4]; waveform = txWaveform*H;
Восстановите массив ресурса поставщика услуг путем демодуляции полученной формы волны OFDM.
grid = nrOFDMDemodulate(carrier,waveform);
Сгенерируйте форму волны путем выполнения модуляции OFDM массива ресурса, который содержит символы PDSCH DM-RS.
Установите параметры конфигурации поставщика услуг, задав 106 RBS в массиве ресурса поставщика услуг.
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
— Количество RBS в сетке ресурса поставщика услуг
(значение по умолчанию) | целое число от 1 до 275Количество RBS в сетке ресурса поставщика услуг в виде целого числа от 1 до 275. Значение по умолчанию 52
соответствует максимальному количеству RBS поставщика услуг на 10 МГц с SCS на 15 кГц.
Типы данных: double
CyclicPrefix
— Длина циклического префикса'normal'
(значение по умолчанию) | 'extended'
Длина циклического префикса в виде одной из этих опций.
'normal'
— Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.
'extended'
— Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса запрашивает интервал поднесущей на только 60 кГц.
Типы данных: char |
string
p
— Количество антеннКоличество антенн в виде положительного целого числа.
Типы данных: double
datatype
— Тип данных выходных символов'double'
(значение по умолчанию) | 'single'
Тип данных выходных символов в виде 'double'
или 'single'
.
Типы данных: char |
string
grid
— Пустая сетка ресурса паза поставщика услугПустой массив ресурса паза поставщика услуг, возвращенный как массив с комплексным знаком размера K-by-L-by-p
.
K является количеством поднесущих.
L является количеством символов OFDM.
Типы данных: single
| double
Поддержка комплексного числа: Да
Указания и ограничения по применению:
datatype
входной параметр должен быть постоянным временем компиляции. Например, при определении 'single'
когда выходные данные вводят, включают {coder.Constant('OutputDataType'),coder.Constant('single')}
в -args
значение codegen
функция. Для получения дополнительной информации смотрите coder.Constant
(MATLAB Coder) класс.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.