gsmDownlinkConfig

Создайте объект настройки системы координат TDMA нисходящего канала GSM

Описание

gsmDownlinkConfig объект является нисходящим каналом GSM объект настройки системы координат TDMA. Используйте gsmDownlinkConfig объекты создать GSM передают в нисходящем направлении формы волны.

Создание

Описание

пример

cfggsmdl = gsmDownlinkConfig создает объект настройки системы координат TDMA нисходящего канала GSM.

пример

cfggsmdl = gsmDownlinkConfig(sps) устанавливает SamplesPerSymbol свойство к sps.

пример

cfggsmdl = gsmDownlinkConfig(___,Name,Value) наборы один или несколько аргументов пары "имя-значение" с помощью любого из предыдущих синтаксисов. Например, 'RiseTime',4 устанавливает пакетное время нарастания на 4 символы. Заключите каждое свойство в кавычки. Задайте аргументы пары "имя-значение" после всех других входных параметров.

Свойства

развернуть все

Выборки на символ, заданный как положительное целочисленное кратное 4.

Типы данных: double

Разорвите типы в течение многих временных интервалов 0–7 в системе координат TDMA, заданной как одна из этих опций:

  • Вектор-строка с восемью элементами, где каждым значением является "NB", "FB", "SB", "Dummy", или "Off" — Каждый элемент задает пакетный тип в течение соответствующего временного интервала.

  • "NB" — Передайте данные с помощью нормального пакета в течение каждого временного интервала.

  • "FB" — Передайте данные с помощью пакета коррекции частоты в течение каждого временного интервала.

  • "SB" — Передайте данные с помощью пакета синхронизации времени в течение каждого временного интервала.

  • "Dummy" — Передайте данные с помощью фиктивного пакета в течение каждого временного интервала.

  • "Off" — Все восемь временных интервалов не содержат данных.

Для получения дополнительной информации смотрите Системы координат GSM, Временные интервалы и Пакеты.

Примечание

BurstType свойство является перечислением. Чтобы выполнить генерацию кода, смотрите Генерацию кода и Генерацию MEX для примера Формы волны Нисходящего канала GSM.

Пример: ["NB" "AB" "AB" "NB" "Off" "NB" "AB" "Off"] конфигурирует систему координат, чтобы использовать нормальные пакеты во временные интервалы 0, 3, и 5, использовать пакеты доступа во временные интервалы 1, 2, и 6, и не передать данные во временные интервалы 4 и 7.

Код обучающей последовательности (TSC) для нормальных пакетов во временные интервалы 0–7 в системе координат TDMA, заданной как одна из этих опций:

  • Вектор-строка с восемью элементами из целых чисел в области значений [0, 7] — Каждый элемент задает значение TSC в течение соответствующего нормального пакетного временного интервала.

  • Целое число в области значений [0, 7] — Задает значение TSC в течение каждого нормального пакетного временного интервала.

Для получения дополнительной информации см. Код обучающей последовательности (TSC).

Пример: [5 7 0 0 0 0 0 0] конфигурирует систему координат, чтобы использовать обучающую последовательность 5 во временной интервал 0, обучающая последовательность 7 во временной интервал 1, и обучающая последовательность 0 во временные интервалы 2 - 7.

Зависимости

Чтобы включить этому свойству какое-то время паз, установите соответствующий элемент BurstType к "NB".

Типы данных: double

Затухание степени в дБ в течение многих временных интервалов 0–7 в системе координат TDMA, заданной как одна из этих опций:

  • Вектор-строка с восемью элементами из неотрицательных целых чисел — Каждый элемент задает значение степени затухания в течение соответствующего временного интервала.

  • Неотрицательное целое число — Задает значение затухания степени в течение каждого временного интервала.

Пример: [0 0 0 0 0 0 0 3] конфигурирует систему координат, чтобы применить затухание на 0 дБ к пакетной степени сигнала во временной интервал 0 через 6 и 3 дБ затухания к пакетной степени сигнала во временной интервал 7.

Типы данных: double

Разорвите время нарастания в символах, заданных как положительная скалярная величина в области значений [1/SamplesPerSymbol, 29], где инкрементное разрешение является 1/SamplesPerSymbol. Общее наращивание и длительность пандуса вниз (RiseTime - RiseDelay + FallTime + FallDelay) должен быть меньше 9,25 символов. Характеристическая форма возрастающего ребра пакета является синусоидальной.

Для получения дополнительной информации смотрите Системы координат GSM, Временные интервалы и Пакеты.

Типы данных: double

Разорвите задержку повышения символов, заданных как положительная скалярная величина в области значений [–10, 10], где инкрементное разрешение является 1/SamplesPerSymbol. Общее наращивание и длительность пандуса вниз (RiseTime - RiseDelay + FallTime + FallDelay) должен быть меньше 9,25 символов. Пакетная задержка повышения измеряется относительно запуска полезной части пакета. Для получения дополнительной информации смотрите Системы координат GSM, Временные интервалы и Пакеты.

Когда пакетной задержкой повышения является 0, пакет достигает полной амплитуды в начале полезной части пакета. Когда пакетная задержка повышения положительна, пакет достигает полного амплитудного RiseDelay символы после запуска полезной части. Когда пакетная задержка повышения отрицательна, пакет достигает полного амплитудного RiseDelay символы перед запуском полезной части.

Типы данных: double

Разорвите время спада в символах, заданных как положительная скалярная величина в области значений [1/SamplesPerSymbol, 29], где инкрементное разрешение является 1/SamplesPerSymbol. Общее наращивание и длительность пандуса вниз (RiseTime - RiseDelay + FallTime + FallDelay) должен быть меньше 9,25 символов. Характеристическая форма падающего ребра пакета является синусоидальной.

Для получения дополнительной информации смотрите Системы координат GSM, Временные интервалы и Пакеты.

Типы данных: double

Разорвите осеннюю задержку символов, заданных как положительная скалярная величина в области значений [–10, 10], где инкрементное разрешение является 1/SamplesPerSymbol. Общее наращивание и длительность пандуса вниз (RiseTime - RiseDelay + FallTime + FallDelay) должен быть меньше 9,25 символов. Пакетная осенняя задержка измеряется относительно конца полезной части пакета. Для получения дополнительной информации смотрите Системы координат GSM, Временные интервалы и Пакеты.

Когда пакетной осенней задержкой является 0, пакет начинает уменьшаться с полной амплитуды в конце полезной части пакета. Когда пакетная осенняя задержка положительна, пакет начинает уменьшаться с полного амплитудного FallDelay символы после конца полезной части. Когда пакетная осенняя задержка отрицательна, пакет начинает уменьшаться с полного амплитудного FallDelay символы перед концом полезной части.

Типы данных: double

Примеры

свернуть все

Создайте GSM, передают в нисходящем направлении объект настройки системы координат TDMA с настройками по умолчанию, и затем создают форму волны GSM, содержащую одну систему координат TDMA. Система координат TDMA GSM имеет восемь временных интервалов, каждый разделенный защитным периодом 8,25 символов или о 30.46x10e-3 мс. Постройте форму волны GSM.

Создайте объект настройки системы координат TDMA нисходящего канала GSM с настройками по умолчанию.

cfggsmdl = gsmDownlinkConfig
cfggsmdl = 
  gsmDownlinkConfig with properties:

           BurstType: [NB    NB    NB    NB    NB    NB    NB    NB]
    SamplesPerSymbol: 16
                 TSC: [0 1 2 3 4 5 6 7]
         Attenuation: [0 0 0 0 0 0 0 0]
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Отобразите информацию о сконфигурированном gsmDownlinkConfig объект при помощи gsmInfo функция. Присвойте частоту дискретизации переменной, Rs, для использования в вычислении масштаба времени графика.

wfInfo = gsmInfo(cfggsmdl)
wfInfo = struct with fields:
              SymbolRate: 2.7083e+05
              SampleRate: 4.3333e+06
    BandwidthTimeProduct: 0.3000
    BurstLengthInSymbols: 156.2500
       NumBurstsPerFrame: 8
    BurstLengthInSamples: 2500
    FrameLengthInSamples: 20000

Rs = wfInfo.SampleRate;

Создайте форму волны GSM при помощи gsmFrame функция, и затем строит форму волны GSM.

waveform = gsmFrame(cfggsmdl);

t = (0:length(waveform)-1)/Rs*1e3;
subplot(2,1,1)
plot(t,abs(waveform))
grid on
axis([0 5 0 1.2])
title('GSM Downlink Waveform - Amplitude')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,unwrap(angle(waveform)))
grid on
title('GSM Downlink Waveform - Phase')
xlabel('Time (ms)')
ylabel('Phase (rad)')

Создайте объект настройки системы координат TDMA нисходящего канала GSM, который задает 8 выборок на символ, и затем создайте форму волны GSM, содержащую одну систему координат TDMA нисходящего канала GSM. Система координат TDMA GSM составляет восемь временных интервалов, каждый разделенный защитным периодом 8,25 символов или о 30.46x10e-3 мс разделяет каждый временной интервал. Постройте форму волны GSM.

Создайте объект настройки системы координат TDMA нисходящего канала GSM, задав 8 выборок на символы.

sps = 8;
cfggsmdl = gsmDownlinkConfig(sps)
cfggsmdl = 
  gsmDownlinkConfig with properties:

           BurstType: [NB    NB    NB    NB    NB    NB    NB    NB]
    SamplesPerSymbol: 8
                 TSC: [0 1 2 3 4 5 6 7]
         Attenuation: [0 0 0 0 0 0 0 0]
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Отобразите информацию о сконфигурированном gsmDownlinkConfig объект при помощи gsmInfo функция. Присвойте частоту дискретизации переменной, Rs, для использования в вычислении масштаба времени графика.

wfInfo = gsmInfo(cfggsmdl)
wfInfo = struct with fields:
              SymbolRate: 2.7083e+05
              SampleRate: 2.1667e+06
    BandwidthTimeProduct: 0.3000
    BurstLengthInSymbols: 156.2500
       NumBurstsPerFrame: 8
    BurstLengthInSamples: 1250
    FrameLengthInSamples: 10000

Rs = wfInfo.SampleRate;

Создайте форму волны GSM при помощи gsmFrame функция, и затем строит форму волны GSM.

waveform = gsmFrame(cfggsmdl);

t = (0:length(waveform)-1)/Rs*1e3;
subplot(2,1,1)
plot(t,abs(waveform))
grid on
axis([0 5 0 1.2])
title('GSM Downlink Waveform - Amplitude')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,unwrap(angle(waveform)))
grid on
title('GSM Downlink Waveform - Phase')
xlabel('Time (ms)')
ylabel('Phase (rad)')

Создайте два нисходящих канала GSM объекты настройки системы координат TDMA. Задайте настройки по умолчанию для первого gsmDownlinkConfig возразите и настройте степень сигнала во временной интервал для второго. Сгенерируйте формы волны GSM для обеих настроек. Постройте формы волны, чтобы показать затухание сигнала во временной интервал во второй форме волны.

Создайте объект настройки системы координат TDMA нисходящего канала GSM с настройками по умолчанию.

cfggsmdl = gsmDownlinkConfig
cfggsmdl = 
  gsmDownlinkConfig with properties:

           BurstType: [NB    NB    NB    NB    NB    NB    NB    NB]
    SamplesPerSymbol: 16
                 TSC: [0 1 2 3 4 5 6 7]
         Attenuation: [0 0 0 0 0 0 0 0]
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Создайте другой объект настройки системы координат TDMA нисходящего канала GSM, настроив настройки затухания сигнала во временной интервал.

cfggsmdl2 = gsmDownlinkConfig('Attenuation',[1 0 3 4 5 6 4 2])
cfggsmdl2 = 
  gsmDownlinkConfig with properties:

           BurstType: [NB    NB    NB    NB    NB    NB    NB    NB]
    SamplesPerSymbol: 16
                 TSC: [0 1 2 3 4 5 6 7]
         Attenuation: [1 0 3 4 5 6 4 2]
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Отобразите информацию о сконфигурированном gsmDownlinkConfig объект при помощи gsmInfo функция. Присвойте частоту дискретизации переменной, Rs, для использования в вычислении масштаба времени графика.

wfInfo = gsmInfo(cfggsmdl)
wfInfo = struct with fields:
              SymbolRate: 2.7083e+05
              SampleRate: 4.3333e+06
    BandwidthTimeProduct: 0.3000
    BurstLengthInSymbols: 156.2500
       NumBurstsPerFrame: 8
    BurstLengthInSamples: 2500
    FrameLengthInSamples: 20000

Rs = wfInfo.SampleRate;

Создайте формы волны GSM, содержа одну систему координат TDMA, при помощи gsmFrame функция. GSM, который имеют системы координат TDMA, составляет восемь временных интервалов, каждый разделенный защитным периодом 8,25 символов или о 30.46x10e-3 мс разделяет каждый временной интервал. Постройте каждую форму волны GSM.

waveform = gsmFrame(cfggsmdl);
waveform2 = gsmFrame(cfggsmdl2);

t = (0:length(waveform)-1)/Rs*1e3;
subplot(2,1,1)
plot(t,[abs(waveform),abs(waveform2)])
grid on
axis([0 5 0 1.2])
title('GSM Downlink Waveform - Amplitude')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,[unwrap(angle(waveform)),unwrap(angle(waveform2))])
grid on
title('GSM Downlink Waveform - Phase')
xlabel('Time (ms)')
ylabel('Phase (rad)')

Сгенерируйте и запустите MEX-функцию формы волны GSM от функции помощника createDownlinkWaveform. createDownlinkWaveform функция помощника создает форму волны нисходящего канала GSM.

Запишите функцию MATLAB

Откройте createDownlinkWaveform.m, чтобы видеть код. createDownlinkWaveform функция помощника генерирует форму волны нисходящего канала GSM при помощи gsmDownlinkConfig возразите и gsmInfo и gsmFrame функции.

Сгенерируйте форму волны GSM

Используйте createDownlinkWaveform функция помощника, чтобы создать форму волны GSM, содержащую две системы координат TDMA, и затем построить форму волны.

[x,t] = createDownlinkWaveform(2);

figure
subplot(2,1,1);
plot(t,abs(x));
grid on;
title('GSM Downlink Waveform - Amplitude');
xlabel('Time (ms)');
ylabel('Amplitude')
subplot(2,1,2);
plot(t,unwrap(angle(x)));
grid on;
title('GSM Downlink Waveform - Phase');
xlabel('Time (ms)');
ylabel('Phase (rad)')

Сгенерируйте MEX-функцию

Значения по умолчанию генерации кода генерации кода MEX, когда вы не задаете цель сборки. По умолчанию, codegen называет сгенерированную MEX-функцию createDownlinkWaveform_mex. Сгенерируйте MEX-функцию от createDownlinkWaveform функция помощника, и затем запускает MEX-функцию, чтобы создать две системы координат TDMA.

codegen createDownlinkWaveform -args 3

Сгенерируйте форму волны Используя MEX-функцию

Запустите MEX-функцию и постройте результаты. Поскольку форма волны создается с помощью случайных данных, график фазы изменяется каждый раз, когда вы запускаете generateDownlinkFrame функция помощника или createDownlinkWaveform_mex функция.

[x,t] = createDownlinkWaveform_mex(2);

figure
subplot(2,1,1);
plot(t,abs(x));
grid on;
title('MEX - GSM Downlink Waveform - Amplitude');
xlabel('Time (ms)');
ylabel('Amplitude')
subplot(2,1,2);
plot(t,unwrap(angle(x)));
grid on;
title('MEX - GSM Downlink Waveform - Phase');
xlabel('Time (ms)');
ylabel('Phase (rad)')

Смоделируйте генератор формы волны GSM® в Simulink® при помощи функций Communications Toolbox™ и блока MATLAB function.

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

Блок MATLAB function содержит gsmDownlinkWaveform функциональный код. Код в блоке MATLAB function создает форму волны GSM при помощи gsmDownlinkConfig возразите и gsmFrame функция.

gsmDownlinkConfig объект указывает, что 16 выборок на символ и настройку временного интервала для GSM передают в нисходящем направлении показанную систему координат TDMA, эта таблица.

Выходная форма волны имеет 16 выборок для каждого символа GMSK. gsmFrame функция генерирует выборки формы волны.

Исследуйте модель

В соответствии со стандартами GSM 3GPP TS 45.001 и 3GPP TS 45.002, шаг расчета блока MATLAB function, который содержит gsmDownlinkWaveform функциональный код установлен в уровень символа GSM 1625e3/6 символов в секунду. Отобразите текущий gsmDownlinkConfig параметры объекта при помощи gsmInfo функция.

wfInfo = 

  struct with fields:

              SymbolRate: 2.7083e+05
              SampleRate: 4.3333e+06
    BandwidthTimeProduct: 0.3000
    BurstLengthInSymbols: 156.2500
       NumBurstsPerFrame: 8
    BurstLengthInSamples: 2500
    FrameLengthInSamples: 20000

Шаг расчета модели блока MATLAB function установлен в wfInfo.FrameLengthInSamples/wfInfo.SampleRate. Чтобы просмотреть параметр Шага расчета, откройте диалоговое окно Block Parameters путем щелчка правой кнопкой по блоку MATLAB function и выбора Block Parameters (Subsystem).

Перед запусками симуляции необходимо сконфигурировать частоту дискретизации блока MATLAB function. PreLoadFcn и InitFcn функции обратного вызова конфигурируют блок MATLAB function путем создания gsmDownlinkConfig объект и wfInfo структура. Чтобы просмотреть функции обратного вызова, на вкладке Modeling, в разделе Setup, выбирают Model Settings> Model Properties. Затем на вкладке Callbacks выберите PreLoadFcn или InitFcn функция обратного вызова в панели коллбэков Модели.

Результаты

Отобразите сигнал области времени и спектрограмму путем выполнения симуляции.

Больше о

развернуть все

Ссылки

[1] 3GPP TS 45.001. "Физический уровень GSM/EDGE на радио-пути. Общее описание". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[2] 3GPP TS 45.002. "Мультиплексирование GSM/EDGE и несколько получают доступ на радио-пути". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[3] 3GPP TS 45.004. "Модуляция GSM/EDGE". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

Расширенные возможности

Введенный в R2019b