gsmUplinkConfig

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

Описание

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

Создание

Описание

пример

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

пример

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

пример

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

Свойства

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

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

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

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

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

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

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

  • "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. GSM системы координат TDMA имеет восемь временных интервалов, каждый разделенный защитным периодом 8,25 символов или о 30.46x10e-3 мс. Постройте форму волны GSM.

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

cfggsmul = gsmUplinkConfig
cfggsmul = 
  gsmUplinkConfig 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

   Read-only properties:
    No properties.

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

wfInfo = gsmInfo(cfggsmul)
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(cfggsmul);

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 Uplink Waveform - Amplitude')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,unwrap(angle(waveform)))
grid on
title('GSM Uplink Waveform - Phase')
xlabel('Time (ms)')
ylabel('Phase (rad)')

Figure contains 2 axes objects. Axes object 1 with title GSM Uplink Waveform - Amplitude contains an object of type line. Axes object 2 with title GSM Uplink Waveform - Phase contains an object of type line.

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

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

sps = 4;
cfggsmul = gsmUplinkConfig(sps)
cfggsmul = 
  gsmUplinkConfig with properties:

           BurstType: [NB    NB    NB    NB    NB    NB    NB    NB]
    SamplesPerSymbol: 4
                 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

   Read-only properties:
    No properties.

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

wfInfo = gsmInfo(cfggsmul)
wfInfo = struct with fields:
              SymbolRate: 2.7083e+05
              SampleRate: 1.0833e+06
    BandwidthTimeProduct: 0.3000
    BurstLengthInSymbols: 156.2500
       NumBurstsPerFrame: 8
    BurstLengthInSamples: 625
    FrameLengthInSamples: 5000

Rs = wfInfo.SampleRate;

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

waveform = gsmFrame(cfggsmul);

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 Uplink Waveform - Amplitude')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,unwrap(angle(waveform)))
grid on
title('GSM Uplink Waveform - Phase')
xlabel('Time (ms)')
ylabel('Phase (rad)')

Figure contains 2 axes objects. Axes object 1 with title GSM Uplink Waveform - Amplitude contains an object of type line. Axes object 2 with title GSM Uplink Waveform - Phase contains an object of type line.

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

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

cfggsmul = gsmUplinkConfig
cfggsmul = 
  gsmUplinkConfig 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

   Read-only properties:
    No properties.

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

cfggsmul2 = gsmUplinkConfig('Attenuation',[1 2 3 4 5 4 3 2])
cfggsmul2 = 
  gsmUplinkConfig with properties:

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

   Read-only properties:
    No properties.

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

wfInfo = gsmInfo(cfggsmul)
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(cfggsmul);
waveform2 = gsmFrame(cfggsmul2);

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 Uplink Waveform - Amplitude')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,[unwrap(angle(waveform)),unwrap(angle(waveform2))])
grid on
title('GSM Uplink Waveform - Phase')
xlabel('Time (ms)')
ylabel('Phase (rad)')

Figure contains 2 axes objects. Axes object 1 with title GSM Uplink Waveform - Amplitude contains 2 objects of type line. Axes object 2 with title GSM Uplink Waveform - Phase contains 2 objects of type line.

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

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

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

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

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

[x,t] = createUplinkWaveform(3);

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

Figure contains 2 axes objects. Axes object 1 with title GSM Uplink Waveform - Amplitude contains an object of type line. Axes object 2 with title GSM Uplink Waveform - Phase contains an object of type line.

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

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

codegen createUplinkWaveform -args 3
Code generation successful.

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

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

[x,t] = createUplinkWaveform_mex(3);

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

Figure contains 2 axes objects. Axes object 1 with title MEX - GSM Uplink Waveform - Amplitude contains an object of type line. Axes object 2 with title MEX - GSM Uplink Waveform - Phase contains an object of type line.

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

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

Блок MATLAB Function (Simulink) содержит gsmUplinkWaveform код функции. Код в блоке MATLAB function создает форму волны GSM при помощи gsmUplinkConfig возразите и gsmFrame функция.

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

$$ \begin{array}{|c|l|c|}
\hline\vphantom{\displaystyle\int}\mathbf{Timeslot}&\begin{array}{l}\mathbf{Burst\ Type}\end{array}&\mathbf{Attenuation}\\
\hline0&\begin{array}{l}\mathrm{Normal\ burst}\end{array}&\begin{array}{l}\mathrm{0\ dB}\end{array}\\
\hline1&\begin{array}{l}\mathrm{Access\ burst}\end{array}&\begin{array}{l}\mathrm{0\ dB}\end{array}\\
\hline2&\begin{array}{l}\mathrm{Normal\ burst}\end{array}&\begin{array}{l}\mathrm{3\ dB}\end{array}\\
\hline3&\begin{array}{l}\mathrm{Normal\ burst}\end{array}&\begin{array}{l}\mathrm{0\ dB}\end{array}\\
\hline4&\begin{array}{l}\mathrm{No\ data}\end{array}&\begin{array}{l}\mathrm{0\ dB}\end{array}\\
\hline5&\begin{array}{l}\mathrm{Normal\ burst}\end{array}&\begin{array}{l}\mathrm{6\ dB}\end{array}\\
\hline6&\begin{array}{l}\mathrm{Normal\ burst}\end{array}&\begin{array}{l}\mathrm{0\ dB}\end{array}\\
\hline7&\begin{array}{l}\mathrm{Normal\ burst}\end{array}&\begin{array}{l}\mathrm{3\ dB}\end{array}\\
\hline\end{array} $$

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

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

В соответствии со стандартами GSM 3GPP TS 45.001 и 3GPP TS 45.002, шаг расчета блока MATLAB function, который содержит gsmUplinkWaveform функциональный код установлен в уровень символа GSM 1625e3/6 символов в секунду. Отобразите текущий gsmUplinkConfig параметры объекта при помощи 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 (Simulink) установлен в wfInfo.FrameLengthInSamples/wfInfo.SampleRate. Чтобы просмотреть параметр Шага расчета, откройте диалоговое окно Block Parameters путем щелчка правой кнопкой по блоку MATLAB function и выбора Block Parameters (Subsystem).

Перед запусками симуляции необходимо сконфигурировать частоту дискретизации блока MATLAB function. PreLoadFcn и InitFcn функции обратного вызова конфигурируют блок MATLAB function путем создания gsmUplinkConfig объект и 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