Этот пример показывает, как сгенерировать PCFICH с LTE Toolbox™. Во-первых, создайте CFI на основе eNodeB настройки и закодируйте ее. Затем сгенерируйте PCFICH использование закодированного CFI и сопоставьте его с сеткой ресурса.
Настройте настройки всей ячейки. Создайте структуру и задайте настройки всей ячейки как ее поля.
enb.NDLRB = 9; enb.CyclicPrefix = 'Normal'; enb.PHICHDuration = 'Normal'; enb.CFI = 3; enb.CellRefP = 4; enb.NCellID = 1; enb.NSubframe = 0;
Многие функции, используемые в этом примере, требуют подмножества предыдущих заданных настроек.
Создайте пустую сетку ресурса для одного подкадра путем вызова lteDLResourceGrid
.
subframe = lteDLResourceGrid(enb);
Получившийся подкадр является 3 размерными матрицами. Количество строк представляет количество доступных поднесущих, 12× (enb.NDLRB
), поскольку существует 12 поднесущих на блок ресурса. Количество столбцов соответствует количеству символов OFDM в подкадре, 7×2, поскольку существует 7 символов OFDM на слот для нормального циклического префикса и в подкадре существует 2 слота. Третья размерность матрицы соответствует количеству используемых портов антенны передачи. В примере существует четыре заданных, таким образом, enb.CellRefP
равняется 4.
Используйте lteCFI
, чтобы закодировать канал CFI. Результатом, cfiCodedBits
, является набор 32 бита длиной закодированных битов.
cfiCodedBits = lteCFI(enb);
Как описано ранее, количество символов OFDM, используемых, чтобы передать управляющую информацию в подкадре, задано значением CFI. Конфигурационная структура eNodeB
присваивает CFI значение 3. Таким образом 4 символа OFDM используются для области управления, потому что количество используемых блоков ресурса является меньше чем 11, поскольку enb.NDLRB
равняется 9.
Используйте ltePCFICH
, чтобы сгенерировать символы комплекса PCFICH. Эта функция борется, CFI закодировал биты, QPSK модулирует символы, символы карт к слоям и предварительные коды, чтобы сформировать символы комплекса PCFICH.
pcfichSymbols = ltePCFICH(enb,cfiCodedBits);
Получившаяся матрица, pcfichSymbols
, имеет 4 столбца. Каждый столбец содержит символы комплекса PCFICH, которые сопоставляют с каждым из портов антенны.
Используйте ltePCFICHIndices
, чтобы сгенерировать PCFICH отображение индексов. Эти индексы сопоставляют символы комплекса PCFICH с сеткой ресурса подкадра.
pcfichIndices = ltePCFICHIndices(enb,'1based');
Получившаяся матрица, pcfichIndices
, имеет 4 столбца. Каждый столбец содержит индексы в линейной форме для каждого порта антенны. Эти индексы на основе 1, поскольку MATLAB® использует индексы на основе 1. Однако можно также сгенерировать индексы на основе 0.
Сопоставьте символы комплекса PCFICH с сеткой ресурса подкадра с помощью соответствующих индексов отображения. Линейный используемый стиль индексации делает процесс отображения прямым.
subframe(pcfichIndices) = pcfichSymbols;
Получившаяся матрица, subframe
, содержит комплексные символы в pcfichSymbols
в местоположениях, заданных pcfichIndices
.
Используйте ltePCFICHInfo
, чтобы просмотреть использование ресурсов. Эта функция возвращает количество элементов ресурса, NRE
, и количество групп элемента ресурса, NREG
, используемый PCFICH в структуре, info
.
info = ltePCFICHInfo;
Получившаяся структура, info
, содержит поля NRE
, количество элементов ресурса, и NREG
, количество групп элемента ресурса, используемых PHICH.
lteCFI
| lteDLDeprecode
| lteDLPrecode
| lteDLResourceGrid
| lteLayerDemap
| lteLayerMap
| ltePCFICH
| ltePCFICHIndices
| ltePCFICHInfo
| ltePCFICHPRBS
| lteSymbolDemodulate
| lteSymbolModulate