Генерация сигналов нисходящего канала NB-IoT

Этот пример показывает, как сгенерировать формы волны LTE-Advanced Pro Release 13 Narrowband IoT (NB-IoT) для тестовых и измерительных приложений, использующих LTE Toolbox™.

Введение

3GPP представил новый беспроводной интерфейс, Narrowband IoT (NB-IoT), оптимизированный для низкоскоростных коммуникаций типа машины в LTE-Advanced Pro Release 13. NB-IoT обеспечивает улучшение затрат и степени эффективности, поскольку избегает необходимости в сложных служебных данных сигнализации, необходимых для систем на основе LTE.

LTE Toolbox может использоваться, чтобы генерировать стандартные совместимые NB-IoT нисходящие комплексные формы волны основной полосы, представляющие узкополосную несущую с частотой 180 кГц, подходящую для тестирования и измерения. Форма волны состоит из отдельных каналов физического слоя и сигналов, и класс значений MATLAB NBIoTDownlinkWaveformGenerator может использоваться для генерации сигналов с полным ресурсным элементом (RE) и временной областью. LTE Toolbox поддерживает все режимы работы NB-IoT - автономный, guardband и внутриполосный.

  • Автономная: NB-IoT несущая, развернутая вне спектра LTE, например, спектр, используемый для GSM или спутниковой связи

  • Guardband: NB-IoT перевозчик развернут в полосе безопасности между двумя LTE перевозчиками

  • Внутриполосный: NB-IoT-носитель, развернутый в ресурсных блоках LTE-носителя

Внутриполосный режим может быть дополнительно сгруппирован в зависимости от используемых тождеств физических камер (PCI), Inband-SamePCI и Inband-DifferentPCI. Если Inband-SamePCI, тождества камеры физического слоя и PCI одинаковы, и UE может делать допущения относительно портов и канала из сигналов LTE. Режим работы индицируется в основном информационном блоке NB-IoT (MIB-NB), который обеспечивает необходимую информацию для пользовательского оборудования (UE). Сеть может использовать информацию управления радиоресурсами для выделения несущей без якоря для UE, работающей в якорной несущей, см. TS 36.331 6.7.3.2 [5] и раздел 7.3.2.4 в [9].

Этот пример создает нисходящий канал NB-IoT, где соответствующие каналы физического слоя и сигналы:

  • Узкополосный сигнал первичной синхронизации (NPSS)

  • Узкополосный вторичный сигнал синхронизации (NSSS)

  • Узкополосный опорный сигнал (NRS)

  • Узкополосный физический широковещательный канал (NPBCH)

  • Узкополосный физический совместно используемый нисходящий канал (NPDSCH)

  • Узкополосный физический нисходящий канал управления (NPDCCH)

NB-IoT поддерживает два строений несущей:

  • Якорь: Несущая, используемая UE для начального выбора камеры NB-IoT, получения информационных блоков master/system и произвольного доступа в режиме ожидания. NPSS, NSSS, NPBCH и системная информация передаются на несущей

  • Не-якорь: оператор связи используется только для фактического обмена данными в подключенном режиме. NPSS, NSSS, NPBCH и системная информация не передаются на несущей

В этом примере мы демонстрируем сетку RE нисходящего канала NB-IoT и генерацию сигналов. В приведенных ниже разделах объясняются физические сигналы и каналы, которые образуют сетку, вместе с ключевыми концепциями, включая повторение субкадров, логические и транспортные отображения каналов и соответствующие сетки для различных строений. Кроме того, показаны параметры, участвующие в генерации сигналов, чтобы создать формы волны в соответствии с требованиями пользователя.

Пример выводит сложную форму волны полосы модулирующих сигналов вместе с заполненной сеткой, содержащей все вышеупомянутые физические каналы и сигналы, а также информацию о типе данных, содержащихся в каждом подкадре. Форма волны может использоваться для области значений приложений от RF проверки до симуляции реализаций приемника.

Распределение субкадров NB-IoT нисходящего канала

В этом разделе поясняется, как каналы физического слоя и сигналы, упомянутые выше, преобразуются в нисходящие субкадры.

  • Нисходящая битовая карта: Логический вектор для конфигурирования нисходящих субкадров NB-IoT. Подкадры нисходящего канала NB-IoT заданы как подкадры, используемые для NPDCCH и NPDSCH, не несущие SIB1-NB, они не включают подкадры, несущие NPSS, NSSS, NPBCH и NB-Iot Подкадры нисходящего канала NB-IoT могут быть сконфигурированы с помощью параметра Config.DownlinkBitmap в классе NBIoTDownlinkWaveformGenerator.

  • NPSS и NSSS: Как показано на рисунке ниже, NPSS передается в подкадре 5 в каждой системе координат, а NSSS передается в подкадре 9 в системах координат с номером системы координат nf выполнение nf mod 2 = 0. NPSS и NSSS позволяют UE синхронизироваться с камерой NB-IoT.

  • NPBCH: NPBCH используется для переноса 34-разрядного MIB-NB (TS 36.212 6.4.1 [2]). MIB-NB кодируется для формирования 1600-битного кодового слова (TS 36.211 10.2.4.1 [1]). Кодовое слово равномерно сегментировано на 8 подблоков, каждый из которых имеет 200 биты, которые передаются на подкадре 0 и повторяются в 7 последующих последовательных системах координат (TS 36.211 10.2.4.4 [1]). Отображение бит кодового слова показано на рисунке ниже.

  • NPDSCH: Ключевая возможность NPDSCH является повторением субкадров. NB-IoT определяет две схемы повторения случая, когда NPDSCH несет канал контроля вещания (BCCH) или нет. BCCH - логический канал, чтобы нести SIB1-NB, сообщения информации о системе, и т.д. Не несущий BCCH подразумевает, что NPDSCH может нести канал управления пейджингом (PCCH), общий канал управления (CCCH), выделенный канал управления (DCCH), выделенный канал трафика (DTCH) и т.д. (TS 36,300 6,1,3,2 и 5,3 .1a [6] Две схемы повторения проиллюстрированы на рисунке ниже. Параметры повторения NPDSCH включают в себя количество подкадров в кодовом слове NSF и количество повторений NRep. Пример на рисунке показывает шаблон повторения с NRep = 4 для случая, когда NPDSCH несет BCCH и NRep = 8 для случая, когда NPDSCH не несет BCCH и NSF = 3 для обоих случаев. В случае, когда передается BCCH, все подкадры кодового слова передаются перед повторением кодового слова. Для случая, когда не несет BCCH, подкадр в кодовом слове повторяется min(NRep,4) перед выполнением того же повторения для других подкадров. После того, как кодовое слово повторяется min(NRep,4) раз, та же процедура выполняется до тех пор, пока полное повторение не будет завершено, т.е. повторяется NRep времени. Подробную спецификацию схемы повторения можно найти в TS 36.211 10.2.3 [1].

Повторные подкадры, показанные на приведенном выше рисунке, преобразуются в доступные подкадры, выделенные для передачи NPDSCH. Как типичный пример, следующий рисунок иллюстрирует, как выполнить отображение для подкадров несущего SIB1-NB NPDSCH, который содержит наиболее важную системную информацию для UE (TS 36.331 6.7.2 [5]).

A SIB1-NB переносится в 8 подкадрах (NSF = 8) и преобразуется в подкадр 4 в каждой другой системе координат в 16 непрерывных системах координат, которые повторяются NRep время (NRep = 4, 8 или 16, см. ТС 36.213 16.4.1.3 Таблица 16.4.1.3-3 [3]). Повторения равномерно разнесены за период 256 систем координат (TS 36.331 5.2.1.2a [5]). Номер начальной системы координат для первой передачи NPDSCH в периоде зависит от узкополосных тождеств физической камеры NNCellID а также количество повторений NRep (ТС 36.213 16.4.1.3 Таблица 16.4.1.3-4 [3]).

Сетка нисходящего канала NB-IoT

В дополнение к описанному выше выделению подкадров сгенерированные сетки ниже дополнительно объясняют распределение RE в подкадре. Сетка предназначена для двух систем координат якорной несущей, содержащей NPSS, NSSS, NRS, NPBCH, SIB1-NB и NB-IoT нисходящих субкадров, несущих NPDSCH и NPDCCH. Сетки сравниваются в Standalone и Inband-SamePCI операции. Сетка может быть сгенерирована с помощью метода отображения сетки в классе NBIoTDownlinkWaveformGenerator, т.е. создания объекта ngen типа NBIoTDownlinkWaveformGenerator и вызывающего ngen.displayResourceGrid.

  • NRS: Положения RE могут быть сконфигурированы по количеству портов NRS и узкополосным тождествам физической камеры, т.е. полям параметров NBRefP и NNCellID в структуре ngen.Config, соответственно.

  • NPSS&NSSS: Первые 11 поднесущих используются для NPSS, все 12 поднесущих в блоке физического ресурса используются для NSSS. Первые 3 символа OFDM в подкадре не используются для NPSS/NSSS. NRS не передается ни в одном субкадре, содержащем NPSS/NSSS. RE NPSS/NSSS прокалываются специфическим для LTE опорного сигнала (CRS) только в внутриполосных режимах. Количество портов CRS, которые влияют на прокалывание, может быть сконфигурировано полем параметра CellRefP в структуре ngen.Config (TS 36.211 10.2.6 и 10.2.7 [1]).

  • NPBCH: RE прокалываются NRS и CRS с помощью максимального количества портов антенны NRS и CRS (2 и 4, соответственно) для обоих режимов работы (TS 36.211 10.2.4 [1]). Это связано с тем, что UE не знает о количестве используемых портов антенны и режиме работы.

  • NPDSCH: Для рабочих режимов Standalone и GuardbandRE прокалываются только NRS; для внутриполосных режимов работы RE прокалываются как NRS, так и CRS. Когда операция является внутриполосным, первые 3 символа OFDM в подкадре не используются для SIB1-NB переноса NPDSCH, первый ControlRegionSize Символы OFDM в подкадре не используются, когда NPDSCH передается подкадром нисходящего канала NB-IoT. ControlRegionSize является полем параметра в структуре ngen.Config конфигурирование размера области управления LTE для распределения RE NPDSCH (TS 36.211 10.2.3.4 [1], TS 36.213 16.4.1.4 [3] и TS 36.331 6.7.2 [5]). Размер области управления LTE конфигурирует начальное положение символа OFDM в подкадре нисходящего канала NB-IoT, несущем внутриполосные режимы операции NPDSCH и NPDCCH.

  • NPDCCH: прокалывание NRS и CRS те же самые, что и в NPDSCH, описанном выше. Когда операция в диапазоне, первый ControlRegionSize Символы OFDM в подрамнике не используются для NPDCCH. То же, что и для NPDSCH, ControlRegionSize используется для конфигурирования распределения RE NPDCCH (TS 36.211 10.2.3.4 [1], TS 36.213 16.4.1.4 [3] и TS 36.331 6.7.2 [5]).

ngen = NBIoTDownlinkWaveformGenerator;

figure;
% Display the resource grid with default 'Standalone' operation mode
ngen.displayResourceGrid;
figure;
% Change the operation mode to 'Inband-SamePCI'
ngen.Config.OperationMode = 'Inband-SamePCI';
ngen.displayResourceGrid;
0
0

Объект ngen содержит следующее:

  • Таблицы распределения ресурсов и размера транспортных блоков (TBS) для NPDSCH (см. TS 36.213 16.4.1.3 и 16.4.1.5 [3])

  • Структурные ngen.Config с помощью NB-IoT eNodeB строения где поля параметров NPBCH, SIB1NPDSCH, NPDCCH и NPDSCH сконфигурируйте NPBCH, NPDSCH, несущий SIB1-NB, NPDCCH и NPDSCH, не несущий SIB1-NB (т.е. NPDSCH, переносимый подкадрами нисходящего канала NB-IoT), соответственно.

ngen                                      % Show all available properties
nsfTable = ngen.NSFTable                  % Display number of subframe table in TS 36.213 16.4.1.3
enbConfig = ngen.Config                   % Display NB-IoT eNodeB configuration
npbchConfig = ngen.Config.NPBCH           % Display NPBCH configuration
sib1npdschConfig = ngen.Config.SIB1NPDSCH % Display the configuration of NPDSCH when carrying SIB1-NB
ngen = 

  NBIoTDownlinkWaveformGenerator with properties:

           Config: [1x1 struct]
         NSFTable: [8x2 table]
        NRepTable: [16x2 table]
         TBSTable: [112x3 table]
    NRepTableSIB1: [12x2 table]
     TBSTableSIB1: [12x2 table]


nsfTable =

  8x2 table

    ISF    NSF
    ___    ___

     0      1 
     1      2 
     2      3 
     3      4 
     4      5 
     5      6 
     6      8 
     7     10 


enbConfig = 

  struct with fields:

          TotSubframes: 20
              NNCellID: 0
                NBRefP: 1
              CellRefP: 4
     ControlRegionSize: 3
                NFrame: 0
         OperationMode: 'Inband-SamePCI'
        DownlinkBitmap: [1 1 1 1 1 1 1 1 1 1]
           CarrierType: 'Anchor'
        DLGapThreshold: 32
      DLGapPeriodicity: 64
    DLGapDurationCoeff: 0.1250
             NPSSPower: 0
             NSSSPower: 0
                 NPBCH: [1x1 struct]
            SIB1NPDSCH: [1x1 struct]
                NPDCCH: [1x1 struct]
                NPDSCH: [1x1 struct]


npbchConfig = 

  struct with fields:

           Power: 0
    EnableCoding: 'On'
     DataBlkSize: 34
      DataSource: 'PN9'


sib1npdschConfig = 

  struct with fields:

          Enable: 'On'
           Power: 0
            NRep: 4
    EnableCoding: 'On'
     DataBlkSize: 208
      DataSource: 'PN9'

NPDCCH/NPDSCH Строения

Сгенерированная сетка RE ниже объясняет, как сконфигурировать субкадры, используемые для нисходящих субкадров NB-IoT, с использованием нисходящей битовой карты, и как сконфигурировать параметры NPDCCH/NPDSCH, переносимых NB-IoT нисходящих подкадкадов. Подкадры нисходящего канала NB-IoT могут быть сконфигурированы полем параметра DownlinkBitmap в структуре ngen.Config. В этом примере несущая без якоря используется для отключения NPSS, NSSS, NPBCH и SIB1-NB в сетке.

Генератор формы волны поддерживает несколько NPDCCH и NPDSCH. Каждый NPDSCH и NPDCCH содержат один транспортный блок и сообщение управления нисходящей линией связи (DCI), соответственно. Параметры NPDCCH/NPDSCH заданы структурой, и несколько NPDCCH/NPDSCH выражены как вектор структуры.

NPDCCH конфигурируется следующими параметрами в структуре ngen.Config.NPDCCH:

  • Enable: Включение или отключение NPDCCH (' on ', ' off ').

  • Power: Относительная степень для символов NPDCCH в частотный диапазон с учетом того, что степень NRS равна 1.

  • NCCE: Выбранные узкополосные элементы канала управления (NCCE) для переноса NDPCCH. Значение может быть либо скаляром, либо вектором двух записей. Скаляр или вектор указывает формат NPDCCH 0 или 1, соответственно. Значение входа 0 (или 1) указывает на NCCE 0 (или NCCE 1). NCCE 0 занимает поднесущие 0-5, и NCCE 1 занимает поднесущие 6-11, соответственно. (ТС 36.211 10.2.5.1 [1]).

  • NRep: Количество повторений для кандидата NPDCCH (TS 36.213 16.6 [3]). Допустимые значения, $2^n$где n = 1... 10.

  • Rmax: Максимальное количество повторений для NPDCCH (TS 36.213 16.6 [3]). Это влияет на разрыв передачи NPDCCH. Допустимые значения, $2^n$где n = 1... 10.

  • RNTI: Временный идентификатор радиосети, используемый для скремблирования.

  • StartSubframe: 0 - начальный индекс подкадра NPDCCH в сгенерированной сетке RE.

  • DataBlkSize: Длина информационных бит DCI.

  • DataSource: Информационные биты DCI. Параметр может быть определен непосредственно как битовый вектор или с использованием случайного типа данных, например, 'PN9-ITU', 'PN9', 'PN11', 'PN15', 'PN23'. В последнем случае для выбранного типа генерируется вектор случайных битов.

NPDSCH конфигурируется следующими параметрами в структуре ngen.Config.NPDSCH:

  • Enable: Включение или отключение NPDSCH (' on ', ' off ').

  • Power: Относительная степень для символов NPDSCH в частотный диапазон с учетом того, что степень NRS равна 1.

  • NPDSCHDataType: Тип данных, которые несет NPDSCH, допустимые значения: BCCHNotSIB1NB 'или NotBCCH'. Это значение влияет на схему повторения, как описано выше.

  • NRepКоличество повторений (TS 36.211 16.4.1.3 [1]).

  • NSF: Количество подкадров в кодовом слове NPDSCH (TS 36.211 16.4.1.3 [1]).

  • Rmax: Максимальное количество повторений для NPDCCH, сопоставленного с NPDSCH, его значение должно быть равно значению того же поля в соответствующем NPDCCH.

  • StartSubframe: 0 - начальный индекс подкадра NPDSCH в сгенерированной сетке RE.

  • DataBlkSize: Размер транспортного блока.

  • DataSource: Информационные биты транспортного блока. Использование совпадает с тем же полем в структуре ngen.Config.NPDCCH.

ngen = NBIoTDownlinkWaveformGenerator;
ngen.Config.CarrierType = 'NonAnchor'; % Anchor or NonAnchor
ngen.Config.DownlinkBitmap = [1 0 1 1 1 1 1 1 0 1];
ngen.Config.TotSubframes = 30;

% Configure the parameters of the first NPDCCH
npdcch1.Enable = 'On';
npdcch1.Power = 0;
npdcch1.NCCE = 1;  % NPDCCH format 0 with NCCE 1
npdcch1.NRep = 2;
npdcch1.Rmax = 16;
npdcch1.RNTI = 0;
npdcch1.StartSubframe = 0;
npdcch1.DataBlkSize = 23;
npdcch1.DataSource = randi([0 1],npdcch1.DataBlkSize,1); % Users can define their own information bits

% Configure the parameters of the second NPDCCH
npdcch2.Enable = 'On';
npdcch2.Power = 0;
npdcch2.NCCE = 0;  % NPDCCH format 0 with NCCE 0
npdcch2.NRep = 4;
npdcch2.Rmax = 16;
npdcch2.RNTI = 1;
npdcch2.StartSubframe = 3;
npdcch2.DataBlkSize = 23;
npdcch2.DataSource = 'PN9';

% Configure the parameters of the first NPDSCH
npdsch1.Enable = 'On';
npdsch1.Power = 0;
npdsch1.NPDSCHDataType = 'BCCHNotSIB1NB';
npdsch1.NSF = 3;
npdsch1.NRep = 2;
npdsch1.Rmax = npdcch1.Rmax;
npdsch1.RNTI = 0;
npdsch1.StartSubframe = 10;
npdsch1.DataBlkSize = 616;
npdsch1.DataSource = 'PN15';

% Configure the parameters of the second NPDSCH
npdsch2.Enable = 'On';
npdsch2.Power = 0;
npdsch2.NPDSCHDataType = 'NotBCCH';
npdsch2.NSF = 2;
npdsch2.NRep = 4;
npdsch2.Rmax = npdcch2.Rmax;
npdsch2.RNTI = 1;
npdsch2.StartSubframe = 20;
npdsch2.DataBlkSize = 616;
npdsch2.DataSource = 'PN23';

% Prepare NPDSCH and NPDCCH structure vectors
ngen.Config.NPDCCH = [npdcch1 npdcch2];
ngen.Config.NPDSCH = [npdsch1 npdsch2];

figure;
ngen.displayResourceGrid;
0

Сгенерированная сетка RE ниже объясняет, как сконфигурировать погрешность передачи для NPDSCH/NPDCCH в соответствии с TS 36.211 10.2.3.4 и 10.2.5.5 [1]. Зазор определяется полем параметра Rmax упомянутые выше, а также следующие параметры в структуре ngen.Config:

  • DLGapThreshold: Порог для запуска погрешности передачи, то есть в коробке передач NPDSCH нет погрешностей, если Rmax <DLGapThreshold. Допустимые значения: 32, 64, 128, 256 (TS 36.331 6.7.1 [5]).

  • DLGapPeriodicity: Периодичность разрыва в количестве подкадров. Он также задает стартовый подкадр зазора, т.е. начальный номер подкадра sf удовлетворяющее условие (sf mod DLGapPeriodicity) = 0. Допустимые значения: 64, 128, 256, 512 (TS 36.331 6.7.1 [5]).

  • DLGapDurationCoeff: Используется для вычисления длительности погрешности в количестве подкадров, вместе с DLGapPeriodicity. Длительность разрыва задается DLGapPeriodicity $\times$ DLGapDurationCoeff. Допустимые значения: 1/8, 1/4, 3/8, 1/2 (TS 36.331 6.7.1 [5]).

В следующем примере используются параметры по умолчанию DLGapThreshold = 32, DLGapPeriodicity = 64 и DLGapDurationCoeff = 1/8, чтобы объяснить разрыв передачи NPDSCH. Рисунок ниже иллюстрирует, что 96 (NRep $\times$ NSF) Субкадры NPDSCH прерываются двумя погрешностями с длительностью 8 подкадров, и две погрешности начинаются с подкадра 0 и подкадра 64, соответственно.

ngen = NBIoTDownlinkWaveformGenerator;
ngen.Config.CarrierType = 'NonAnchor'; % Anchor or NonAnchor
ngen.Config.TotSubframes = 150;
ngen.Config.NPDCCH.Enable = 'Off';     % Disable the NPDCCH
ngen.Config.NPDSCH.StartSubframe = 0;
ngen.Config.NPDSCH.Rmax = ngen.Config.DLGapThreshold; % Minimum value to trigger the transmission gap based on given DLGapThreshold
ngen.Config.NPDSCH.NRep = 32;
ngen.Config.NPDSCH.NSF = 3;

figure;
ngen.displayResourceGrid;
0

Генерация сигналов нисходящего канала NB-IoT

Сгенерируйте форму волны во временной области опорного канала измерения (RMC) для требований к эффективности NPDSCH, согласно TS 36.101 A.3.12 [7] или тестовой модели NB (N-TM), определенной в разделах 6.1.3-6.1.6 TS 36.141 [8]. Форма волны может быть сгенерирована с помощью метода генерации сигналов в классе NBIoTDownlinkWaveformGenerator, чтобы вызвать метод, объект ngen создается, и метод может быть вызван при помощи ngen.generateWaveform.

rc = 'R.NB.5-1'; % Allowed values are 'R.NB.5','R.NB.5-1','R.NB.6','R.NB.6-1','R.NB.7','N-TM'
ngen = NBIoTDownlinkWaveformGenerator(rc);
[waveform,grid,ofdmInfo] = ngen.generateWaveform;
ofdmInfo         % Display OFDM configuration
spectrumAnalyzer = dsp.SpectrumAnalyzer(ngen.Config.NBRefP);
spectrumAnalyzer.ShowLegend = true;
spectrumAnalyzer.SampleRate = ofdmInfo.SamplingRate;
if ngen.Config.NBRefP == 1
    spectrumAnalyzer.ChannelNames = {['Signal for RMC ' rc ' (Port 2000)']};
    spectrumAnalyzer(waveform);
else % NBRefP == 2
    spectrumAnalyzer.ChannelNames = {['Signal for RMC ' rc ' (Port 2000)'], ...
        ['Signal for RMC ' rc ' (Port 2001)']};
    spectrumAnalyzer(waveform(:,1),waveform(:,2));
end
ofdmInfo = 

  struct with fields:

            SamplingRate: 1920000
                    Nfft: 128
               Windowing: 6
     CyclicPrefixLengths: [10 9 9 9 9 9 9 10 9 9 9 9 9 9]
    SubframeChannelTypes: [1x20 string]

Следующие рисунки сравнивают спектры сигналов для сгенерированной формы волны временной области. Как показано на анализаторе спектра, сигнал с желтым цветом имеет более сильную степень, чем сигнал с синим цветом. Это связано с тем, что процент использования RE желтого больше.

% Set up a standalone, non-anchor carrier, disable the NPDCCH and make the
% REs grid fully occupied by NPDSCH/NRS.
ngen = NBIoTDownlinkWaveformGenerator;
ngen.Config.CarrierType = 'NonAnchor';
ngen.Config.NPDCCH.Enable = 'Off'; % Disable the NPDCCH
ngen.Config.NPDSCH.StartSubframe = 0;
ngen.Config.NPDSCH.NRep = 8;
ngen.Config.NPDSCH.NSF = 5;

% Display the grid and generate the time-domain signal
figure;
ngen.displayResourceGrid;
[waveform1,~,ofdmInfo1] = ngen.generateWaveform;

% Set up a standalone, anchor carrier, disable the NPDSCH and NPDCCH so
% that it contains NPSS/NSSS/NPBCH/SIB1-NB/NRS only.
ngen = NBIoTDownlinkWaveformGenerator;
ngen.Config.NPDCCH.Enable = 'Off'; % Disable the NPDCCH
ngen.Config.NPDSCH.Enable = 'Off'; % Disable the NPDSCH

% Display the grid and generate the time-domain signal
figure;
ngen.displayResourceGrid;
waveform2 = ngen.generateWaveform;

% Plot the signal spectrums of the generated two waveforms.
spectrumAnalyzer = dsp.SpectrumAnalyzer(2);
spectrumAnalyzer.ShowLegend = true;
spectrumAnalyzer.ChannelNames = {'Non-Anchor carrier fully occupied by NPDSCH/NRS (Port 2000)', ...
    'Anchor carrier with NPSS/NSSS/NPBCH/SIB1-NB/NRS only (Port 2000)'};
spectrumAnalyzer.SampleRate = ofdmInfo1.SamplingRate;
spectrumAnalyzer(waveform1,waveform2);
0
0

Приложение

В этом примере используется класс helper:

Избранная библиография

  1. 3GPP ТС 36.211 «Физические каналы и модуляция»

  2. 3GPP TS 36.212 «Мультиплексирование и канальное кодирование»

  3. 3GPP TS 36.213 «Процедуры физического слоя»

  4. 3GPP TS 36.321 "Управление доступом к среде (MAC); Спецификация протокола "

  5. 3GPP TS 36.331 "Управление радиоресурсами (RRC); Спецификация протокола "

  6. 3GPP TS 36.300 "Общее описание; Этап 2 "

  7. 3GPP TS 36.101 «Радиопередача и прием пользовательского оборудования (UE)»

  8. 3GPP TS 36.141 «Соответствие базовой станции (BS) проверки»

  9. О. Либерг, М. Сундберг, Я.-П. Wang, J. Bergman and J. Sachs, Cellular Internet of Things: Technologies, Standards and Performance, Elsevier, 2018.