Сгенерируйте пустую сетку ресурсов паза поставщика услуг
Сгенерируйте форму волны путем выполнения 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.
Установите параметры конфигурации поставщика услуг, задав 106 ресурсных блоков (RB) в массиве ресурсов поставщика услуг.
carrier = nrCarrierConfig('NSizeGrid',106);
Сгенерируйте символы и индексы опорного сигнала демодуляции (DM-RS) физического нисходящего общего канала (PDSCH).
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 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
- Количество RB в ресурсной сетке поставщика услуг52
(по умолчанию) | целое число от 1 до 275Количество RB в ресурсной сетке поставщика услуг, заданное в виде целого числа от 1 до 275. Значение по умолчанию 52
соответствует максимальному количеству RB несущей 10 МГц с 15 кГц SCS.
Типы данных: 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
Поддержка комплексного числа: Да
Указания и ограничения по применению:
The datatype
входной параметр должен быть константой времени компиляции. Для примера при указании 'single'
в качестве типа выходных данных включите {coder.Constant('OutputDataType'),coder.Constant('single')}
в -args
значение codegen
функция. Для получения дополнительной информации смотрите coder.Constant
(MATLAB Coder) класс.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.