Предварительное кодирование SC-FDMA
выполняет предварительное кодирование SC-FDMA комплексных символов модуляции out
= lteULPrecode(in
,n
,resourceType
)in
для PUSCH или настройки NPUSCH с полосой пропускания n
блоки ресурса или поднесущие.
Предварительное кодирование UL является шагом в PUSCH обработка цепи. Цепь включает скремблирование, отображение символа, предварительное кодирование UL, отображение RE и модуляцию SC-FDMA.
Создайте конфигурационную структуру UE-specific, получите индексы PUSCH и сгенерируйте немного потока, измеренного согласно конфигурационной структуре.
ue = lteRMCUL('A3-2');
[puschInd, info] = ltePUSCHIndices(ue,ue.PUSCH);
ueDim = lteULResourceGridSize(ue);
bits = randi([0,1],info.G,ue.PUSCH.NLayers);
Выполните скремблирование, модуляцию символа и предварительное кодирование UL.
scrBits = lteULScramble(ue,bits); symbols = lteSymbolModulate(scrBits,ue.PUSCH.Modulation); precodedSymbols = lteULPrecode(symbols,ue.NULRB);
Сгенерируйте сетку отображения ресурса, заполните сетку с предварительно закодированными символами и выполните модуляцию SC-FDMA.
grid = lteULResourceGrid(ue); grid(puschInd) = precodedSymbols; [timeDomainSig,infoScfdma] = lteSCFDMAModulate(ue,grid);
Сгенерируйте модулируемую форму волны SC-FDMA для настройки восходящего канала NB-IoT с тремя тонами путем применения цепи обработки SC-FDMA, включив отображение символа, предварительное кодирование UL и модуляцию SC-FDMA.
Задайте настройку NB-IoT с десятью пазами и расстоянием между поднесущими 15 кГц.
NSlots = 10;
ue.NBULSubcarrierSpacing = '15kHz';
Установите местоположения поднесущей и сгенерируйте случайные биты для передачи.
chs.NBULSubcarrierSet = 0:2; bits = randi([0,1],7*NSlots*length(chs.NBULSubcarrierSet)*2,1);
Выполните модуляцию символа и сгенерируйте предварительно закодированные символы.
symbols = lteSymbolModulate(bits,'QPSK'); precodedSymbols = lteULPrecode(symbols,length(chs.NBULSubcarrierSet),'Subcarrier');
Сгенерируйте узкополосный массив ресурса
grid = repmat(lteNBResourceGrid(ue),1,NSlots); grid(chs.NBULSubcarrierSet + 1,:) = reshape(precodedSymbols,length(chs.NBULSubcarrierSet),7*NSlots);
Сгенерируйте модулируемую форму волны SC-FDMA для заданной настройки и отобразите ее размер.
waveform = lteSCFDMAModulate(ue,chs,grid); size(waveform)
ans = 1×2
9600 1
Сгенерируйте модулируемую форму волны SC-FDMA для одно тона настройка восходящего канала NB-IoT путем применения цепи обработки SC-FDMA, включив отображение символа, предварительное кодирование UL и модуляцию SC-FDMA.
Задайте настройку NB-IoT с 16 пазами и расстоянием между поднесущими 3,75 кГц.
NSlots = 16;
ue.NBULSubcarrierSpacing = '3.75kHz';
Задайте настройку передачи канала.
chs = struct('NULSlots',4,'NRU',1,'NRep',4,'SlotIdx',0, ... 'Modulation','BPSK','NBULSubcarrierSet',41);
Сгенерируйте случайные биты для передачи, выполните модуляцию символа и сгенерируйте предварительно закодированные символы.
bits = randi([0,1],7*NSlots*length(chs.NBULSubcarrierSet),1);
symbols = lteSymbolModulate(bits,chs.Modulation);
precodedSymbols = lteULPrecode(symbols,length(chs.NBULSubcarrierSet),'Subcarrier');
Сгенерируйте узкополосный массив ресурса
grid = repmat(lteNBResourceGrid(ue),1,NSlots); grid(chs.NBULSubcarrierSet+1,:) = reshape(precodedSymbols,length(chs.NBULSubcarrierSet),7*NSlots);
Сгенерируйте модулируемую форму волны SC-FDMA для заданной настройки и отобразите ее размер.
waveform = lteSCFDMAModulate(ue,chs,grid); size(waveform)
ans = 1×2
61440 1
in
— Комплексные символы модуляцииКомплексные символы модуляции в виде N Sym-by-NL матрица с комплексным знаком. N Sym является количеством символов и N L, является количеством слоев.
Типы данных: double
Поддержка комплексного числа: Да
nrb
— Количество блоков ресурсаКоличество ресурса блокируется в виде неотрицательного целого числа.
Типы данных: double
n
— Количество блоков ресурса или поднесущихКоличество блоков ресурса или поднесущих в виде неотрицательного целого числа.
Если resourceType
входом является 'PRB'
, затем n
количество блоков ресурса. Если resourceType
'Subcarrier'
, затем n
количество поднесущих.
Типы данных: double
resourceType
— Тип ресурса'PRB'
| 'Subcarrier'
Тип ресурса в виде 'PRB'
или 'Subcarrier'
.
Типы данных: char |
string
out
— Предварительно закодированные символы PUSCHПредварительно закодированные символы PUSCH, возвращенные как N Sym-by-NL матрица с комплексным знаком. N Sym является количеством символов и N L, является количеством слоев.
Размерность и размер матриц символа ввода и вывода являются тем же самым.
Типы данных: double
Поддержка комплексного числа: Да
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.