Этот пример показывает, как моделировать каналы распространения. Это демонстрирует, как сгенерировать специфические для ячейки опорные сигналы, сопоставить их с ресурсной сеткой, выполнить модуляцию OFDM и передать результат через канал с замираниями.
Задайте параметры всей ячейки как поля в структуре enb
. Многие функции, используемые в этом примере, требуют подмножества этих полей.
enb.NDLRB = 9; enb.CyclicPrefix = 'Normal'; enb.PHICHDuration = 'Normal'; enb.CFI = 3; enb.Ng = 'Sixth'; enb.CellRefP = 1; enb.NCellID = 10; enb.NSubframe = 0; enb.DuplexMode = 'FDD'; antennaPort = 0;
Сгенерируйте подрамник ресурсной сетки. Чтобы создать ресурсную сетку, вызовите lteDLResourceGrid
функция. Эта функция создает пустую ресурсную сетку для одного подкадра.
subframe = lteDLResourceGrid(enb);
Сгенерируйте специфичные для ячеек опорные символы (CellRS) и сопоставьте их с ресурсными элементами (RE) ресурсной сетки с помощью линейных индексов.
cellRSsymbols = lteCellRS(enb,antennaPort);
cellRSindices = lteCellRSIndices(enb,antennaPort,{'1based'});
subframe(cellRSindices) = cellRSsymbols;
Выполните OFDM-модуляцию комплексных символов в подкадре, subframe
, с использованием структуры параметров всей ячейки enb
.
[txWaveform,info] = lteOFDMModulate(enb,subframe);
Первый выходной аргумент, txWaveform
, содержит переданные модулированные OFDM символы. Второй выходной аргумент, info
, является структурой, которая содержит детали о процессе модуляции. Полевые info.SamplingRate
обеспечивает частоту дискретизации, , из временного интервала формы волны:
где - размер обратного преобразования Фурье (IFT) OFDM.
Создайте канал LTE многолучевого распространения с замираниями. Во-первых, настройте параметры канала путем создания структуры, channel
.
channel.Seed = 1; channel.NRxAnts = 1; channel.DelayProfile = 'EVA'; channel.DopplerFreq = 5; channel.MIMOCorrelation = 'Low'; channel.SamplingRate = info.SamplingRate; channel.InitTime = 0;
Частота дискретизации в модели канала, channel.SamplingRate
, должен быть установлен в info
поле SamplingRate
возвращен lteOFDMModulate
функция.
Передайте данные через канал LTE с замираниями путем вызова lteFadingChannel
функция. Эта функция генерирует канал с многолучевым распространением LTE, как указано в TS 36.101 (см. ссылку [1]). Первый входной параметр, txWaveform
, является массивом переданных LTE выборок. Каждая строка содержит выборки формы волны для каждой из передающих антенн. Эти формы волны фильтруются профилями задержки, как задано в структуре параметра channel
.
rxWaveform = lteFadingChannel(channel,txWaveform);
Выходной аргумент, rxWaveform
, - матрица выходного сигнала канала. Каждая строка соответствует форме волны в каждой из приемных антенн. Поскольку вы определили одну приемную антенну, количество строк в rxWaveform
матрица - единица.
size(rxWaveform)
ans = 1×2
1920 1
Отобразите анализатор спектра с формами волны перед и после канала. Используйте SpectralAverages = 10, чтобы уменьшить шум в нанесенных на график сигналах
title = 'Waveform Before and After Fading Channel'; saScope = dsp.SpectrumAnalyzer('SampleRate',info.SamplingRate,'ShowLegend',true,... 'SpectralAverages',10,'Title',title,'ChannelNames',{'Before','After'}); saScope([txWaveform,rxWaveform]);
3GPP TS 36.101 «Радиопередача и прием пользовательского оборудования (UE)».
lteFadingChannel
| lteHSTChannel
| lteMovingChannel