Sidelink демодуляция SC-FDMA
выполняет непрямую демодуляцию SC-FDMA входной формы волны временного интервала для заданной структуры настроек UE. Для получения дополнительной информации смотрите Демодуляцию Sidelink SC-FDMA.grid
= lteSLSCFDMADemodulate(ue
,waveform
)
позволяет спецификацию стартовой выборки формы волны для демодуляции как часть циклического префикса.grid
= lteSLSCFDMADemodulate(ue
,waveform
,cpfraction
)
Выполните непрямую модуляцию SC-FDMA одного подкадра, содержащего непрямые сигналы синхронизации, и добавьте шум в ОСШ 3,0 дБ. Нули демодулятора элементы ресурса в последнем символе SC-FDMA. Это поведение сопоставимо с работой модулятора SC-FDMA, который не модулирует последний символ SC-FDMA подкадра. Постройте принятую форму волны и демодулируемую величину сетки ресурса.
Создайте структуру настроек UE.
ue.NSLRB = 15;
ue.CyclicPrefixSL = 'Normal';
ue.NSLID = 17;
Заполните сетку ресурса с PSSS и SSSS. Модулируйте PSSS и SSSS.
txgrid = lteSLResourceGrid(ue); txgrid(ltePSSSIndices(ue)) = ltePSSS(ue); txgrid(lteSSSSIndices(ue)) = lteSSSS(ue); [txwaveform,info] = lteSLSCFDMAModulate(ue,txgrid);
Добавьте AWGN с ОСШ 3,0 дБ.
rxwaveform = awgn(txwaveform,3.0,'measured');
Выполните непрямую демодуляцию SC-FDMA.
rxgrid = lteSLSCFDMADemodulate(ue,rxwaveform);
Вычислите RMS каждого символа SC-FDMA в полученной сетке ресурса.
rms = sqrt(sum(abs((rxgrid./double(info.Nfft)).^2)));
Постройте величину получившейся формы волны временного интервала, наложив RMS для каждого символа SC-FDMA после демодуляции. Постройте демодулируемую величину сетки ресурса.
t = (0:size(rxwaveform,1))/info.SamplingRate; figure subplot(2,1,1) plot(t(1:end-1),abs(rxwaveform),'r') hold on n = cumsum([1 info.CyclicPrefixLengths + info.Nfft]); n = [n(1:end-1); n(2:end)]; rmsplot = repmat(rms,[2 1]); plot(t(n(:)),rmsplot(:),'b') xlabel('time (s)') ylabel('magnitude') title('RX Waveform vs. Time') legend('RX waveform magnitude','RMS per demodulated SC-FDMA symbol') subplot(2,1,2) imagesc(abs(rxgrid)) title('Demodulated Resource Grid Magnitude') xlabel('SC-FDMA symbol index') ylabel('subcarrier index')
ue
— Настройки оборудования пользователяНастройки оборудования пользователя в виде структуры параметра, содержащей эти поля:
NSLRB
— Количество непрямых блоков ресурсаКоличество непрямого ресурса блокируется в виде целочисленного скаляра от 6 до 110.
Пример 6, который соответствует полосе пропускания канала 1,4 МГц.
Типы данных: double
CyclicPrefixSL
— Длина циклического префикса'Normal'
(значение по умолчанию) | 'Extended'
| дополнительныйДлина циклического префикса в виде 'Normal'
или 'Extended'
.
Типы данных: char |
string
Типы данных: struct
waveform
— Sidelink SC-FDMA модулировал форму волныSidelink SC-FDMA модулировал форму волны в виде S-by-NT N числовая матрица, где N S является количеством выборок временного интервала и N T, является количеством антенн передачи. N S = K × 30720 / 2 048 × N fft, где N fft является размером БПФ и K, является количеством подкадров в waveform
.
Для получения дополнительной информации о размере БПФ, смотрите lteSLSCFDMAInfo
.
Типы данных: double
Поддержка комплексного числа: Да
cpfraction
— Часть циклического префикса
(значение по умолчанию) | числовой скаляр от 0 до 1Часть циклического префикса в виде числового скаляра от 0 до 1. Значение 0
представляет запуск циклического префикса и значение 1
представляет конец циклического префикса. Значением по умолчанию является 0.55
который принимает для уровня по умолчанию работы с окнами в lteSLSCFDMAModulate
функция.
Типы данных: double
grid
— Сетка элемента ресурсаСетка элемента ресурса, возвращенная как SC N NSYM NT числовым массивом. SC N является 12 × NSLRB
поднесущие. N SYM является кратным количеству символов SC-FDMA в подкадре (14 для нормального циклического префикса и 12 для расширенного циклического префикса). N T является количеством портов антенны. grid
задает выделение RE через один или несколько подкадров. Несколько подкадров заданы конкатенацией через столбцы (второе измерение).
Каждая плоскость антенны в grid
модулируемый SC-FDMA, приводя к столбцам waveform
, как описано в Представляют Сетки Ресурса.
Типы данных: double
Поддержка комплексного числа: Да
Sidelink демодуляция SC-FDMA восстанавливает полученные значения поднесущей путем выполнения одной операции FFT на полученный непрямой символ SC-FDMA. Восстановленные значения поднесущей используются, чтобы создать каждый столбец выходной сетки ресурса массивов. БПФ расположен отчасти через циклический префикс, с учетом некоторого распространения задержки канала при предотвращении перекрытия между смежными символами SC-FDMA. Вход FFT также смещен половиной одной поднесущей. Положение БПФ, выбранного в функции, избегает наложения символа SC-FDMA, используемого в lteSLSCFDMAModulate
функция. Поскольку БПФ выполняется далеко от исходной точки нулевой фазы на переданных поднесущих, lteSLSCFDMADemodulate
применяет коррекцию фазы к каждой поднесущей после БПФ.
Примечание
TS 36.211 указывает, что для PSSCH (Раздел 9.3.6), PSCCH (9.4.6), PSDCH (9.5.6) и PSBCH (9.6.6), элементы ресурса в последнем символе SC-FDMA в подкадре должны считаться в процессе отображения, но не передаваться. Элементы ресурса последнего символа SC-FDMA в каждом подкадре выходной сетки ресурса массивов обнуляются lteSLSCFDMADemodulate
. Это поведение сопоставимо с модуляцией SC-FDMA, выполняемой lteSLSCFDMAModulate
.
Частота дискретизации временного интервала непрямая форма волны должна совпасть с уровнем, используемым в lteSLSCFDMAModulate
функция, для конкретного количества блоков ресурса, NRB.
Вход waveform
должно быть время, выровненное, такое, что первая выборка является первой выборкой циклического префикса первого непрямого символа SC-FDMA в подкадре.
[1] 3GPP TS 36.211. “Развитый Универсальный Наземный Радио-доступ (к E-UTRA); Физические Каналы и Модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group. URL: https://www.3gpp.org.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.