Создание объекта конфигурации кадра TDMA восходящего канала GSM
gsmUplinkConfig объект является объектом конфигурации кадра TDMA восходящей линии связи GSM. Использовать gsmUplinkConfig объекты для создания сигналов восходящей линии связи GSM.
создает объект конфигурации кадра TDMA восходящей линии связи GSM.cfggsmul = gsmUplinkConfig
устанавливает cfggsmul = gsmUplinkConfig(sps)SamplesPerSymbol свойство для sps.
задает один или несколько аргументов пары имя-значение, используя любой из предыдущих синтаксисов. Например, cfggsmul = gsmUplinkConfig(___,Name,Value)'RiseTime',4 устанавливает время нарастания пачки на 4 символы. Заключите каждое свойство в кавычки. Укажите аргументы пары имя-значение после всех других входных аргументов.
SamplesPerSymbol - Образцы на символ16 (по умолчанию) | положительное целое число, кратное 4Выборка на символ, заданная как положительное целое число, кратное 4.
Типы данных: double
BurstType - Типы пакетов["NB" "NB" "NB" "NB" "NB" "NB" "NB" "NB"] (по умолчанию) | строковый вектор строки с 8 элементами | "NB" | "AB" | "Off"Типы пакетов для временных интервалов 0-7 в кадре TDMA, указанные как одна из следующих опций:
Восьмиэлементный вектор строки, где каждое значение "NB", "AB", или "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 1 2 3 4 5 6 7] (по умолчанию) | восьмиэлементный вектор строки | целое число в диапазоне [0, 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
Attenuation - Ослабление мощности[0 0 0 0 0 0 0 0] (по умолчанию) | восьмиэлементный вектор строки | неотрицательное целое числоОслабление мощности в дБ для временных интервалов 0-7 в кадре TDMA, указанное как одна из следующих опций:
Восьмиэлементный вектор строк неотрицательных целых чисел - каждый элемент задает значение мощности ослабления для соответствующего временного интервала.
Неотрицательное целое число - указывает значение ослабления мощности для каждого временного интервала.
Пример: [0 0 0 0 0 0 0 3] конфигурирует кадр для применения 0 дБ ослабления к мощности сигнала синхронизации во временном интервале от 0 до 6 и 3 дБ ослабления к мощности сигнала синхронизации во временном интервале 7.
Типы данных: double
RiseTime - Время нарастания разрыва2 (по умолчанию) | положительный скалярВремя нарастания пакета в символах, указанное как положительный скаляр в диапазоне [1/SamplesPerSymbol, 29], где разрешение приращения равно 1/SamplesPerSymbol. Общая продолжительность клина вверх и клина вниз (RiseTime - RiseDelay + FallTime + FallDelay) должно быть меньше 9,25 символов. Характерная форма переднего края пачки является синусоидальной.
Дополнительные сведения см. в разделах Кадры GSM, Временные интервалы и Пакеты.
Типы данных: double
RiseDelay - Задержка нарастания разрыва0 (по умолчанию) | положительный скалярЗадержка нарастания пакета в символах, заданная как положительный скаляр в диапазоне [-10, 10], где разрешение приращения равно 1/SamplesPerSymbol. Общая продолжительность клина вверх и клина вниз (RiseTime - RiseDelay + FallTime + FallDelay) должно быть меньше 9,25 символов. Задержка нарастания пачки измеряется относительно начала полезной части пачки. Дополнительные сведения см. в разделах Кадры GSM, Временные интервалы и Пакеты.
Когда задержка нарастания пачки равна 0, пачка достигает полной амплитуды в начале полезной части пачки. Когда задержка нарастания пачки положительна, пачки достигают полной амплитуды. RiseDelay Символы после начала полезной части. Когда задержка нарастания пакета отрицательна, пакет достигает полной амплитуды. RiseDelay символы перед началом полезной детали.
Типы данных: double
FallTime - Время падения разрыва2 (по умолчанию) | положительный скалярВремя падения пакета в символах, указанное как положительный скаляр в диапазоне [1/SamplesPerSymbol, 29], где разрешение приращения равно 1/SamplesPerSymbol. Общая продолжительность клина вверх и клина вниз (RiseTime - RiseDelay + FallTime + FallDelay) должно быть меньше 9,25 символов. Характерная форма заднего края пачки является синусоидальной.
Дополнительные сведения см. в разделах Кадры GSM, Временные интервалы и Пакеты.
Типы данных: double
FallDelay - Задержка падения пачки0 (по умолчанию) | положительный скалярЗадержка пачки в символах, заданная как положительный скаляр в диапазоне [-10, 10], где разрешение приращения равно 1/SamplesPerSymbol. Общая продолжительность клина вверх и клина вниз (RiseTime - RiseDelay + FallTime + FallDelay) должно быть меньше 9,25 символов. Задержка падения пачки измеряется относительно конца полезной части пачки. Дополнительные сведения см. в разделах Кадры GSM, Временные интервалы и Пакеты.
Когда задержка падения пачки равна 0, пачка начинает уменьшаться от полной амплитуды в конце полезной части пачки. Когда задержка падения пачки положительна, пачка начинает уменьшаться с полной амплитуды. FallDelay Символы после окончания полезной части. Когда задержка падения пакета отрицательна, пакет начинает уменьшаться с полной амплитуды FallDelay символы перед концом полезной детали.
Типы данных: double
Создайте объект конфигурации кадра TDMA восходящей линии связи GSM с настройками по умолчанию, а затем создайте форму сигнала GSM, содержащую один кадр TDMA. Кадры TDMA GSM имеют восемь временных интервалов, каждый из которых разделен защитным периодом из 8,25 символов или приблизительно 30 46x10e-3.
Создайте объект конфигурации кадра TDMA восходящей линии связи GSM с настройками по умолчанию.
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
Отображение информации о настроенном 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)')

Создайте объект конфигурации кадра TDMA восходящей линии связи GSM, который задает 4 выборки на символ, а затем создайте форму сигнала GSM, содержащую один кадр TDMA нисходящей линии связи GSM. Кадр TDMA GSM представляет собой восемь временных интервалов, каждый из которых отделен защитным периодом в 8,25 символа или примерно 30,46x10e-3 мс отделяет каждый временной интервал. Постройте график формы сигнала GSM.
Создайте объект конфигурации кадра TDMA восходящей линии связи GSM, указав 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
Отображение информации о настроенном 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)')

Создайте два объекта конфигурации кадров TDMA восходящего канала GSM. Укажите параметры по умолчанию для первого gsmUplinkConfig и регулируют мощность сигнала за временной интервал для второго. Генерация сигналов GSM для обеих конфигураций. Постройте график сигналов, чтобы показать ослабление сигнала за временной интервал во втором сигнале.
Создайте объект конфигурации кадра TDMA восходящей линии связи GSM с настройками по умолчанию.
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
Создайте другой объект конфигурации кадра TDMA восходящей линии связи GSM, регулируя настройки ослабления сигнала для временного интервала.
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
Отображение информации о настроенном 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 функция. Кадры TDMA GSM представляют собой восемь временных интервалов, каждый из которых разделен защитным периодом из 8,25 символов или приблизительно 30,46x10e-3 мс.
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)')

Создание и выполнение функции 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)')

Создание функции 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)')

Моделирование генератора сигналов GSM ® в Simulink ® с использованием функциональных блоков MATLAB и функций Communications Toolbox™.
Генерация сигнала восходящей линии связи GSM
Блок функции MATLAB (Simulink) содержит gsmUplinkWaveform код функции. Код в функциональном блоке MATLAB создает сигнал GSM с помощью gsmUplinkConfig объект и gsmFrame функция.

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

Выходной сигнал имеет 16 выборок для каждого символа GMSK. gsmFrame функция генерирует выборки формы сигнала.
Изучение модели
В соответствии со стандартами GSM 3GPP TS 45.001 и 3GPP TS 45.002 время выборки функционального блока MATLAB, содержащего 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. Для просмотра параметра Sample time откройте диалоговое окно Block Parameters, щелкнув правой кнопкой мыши функциональный блок MATLAB и выбрав Block Parameters (Subsystem).
Перед запуском моделирования необходимо сконфигурировать частоту дискретизации функционального блока MATLAB. PreLoadFcn и InitFcn функции обратного вызова конфигурируют функциональный блок MATLAB путем создания gsmUplinkConfig объект и wfInfo структура. Чтобы просмотреть функции обратного вызова, на вкладке Моделирование (Modeling) в разделе Настройка (Setup) выберите Параметры модели (Model Settings) > Свойства модели (Model Properties). Затем на вкладке Callbacks выберите PreLoadFcn или InitFcn функция обратного вызова на панели Обратные вызовы модели.
Результаты
Отображение сигнала временной области и спектрограммы путем выполнения моделирования.


В GSM передачи состоят из кадров TDMA. Каждый кадр TDMA GSM состоит из восьми временных интервалов. Содержимое данных передачи временного интервала называется пакетом. Как описано в разделе 5.2 3GPP TS 45.011, временной интервал GSM имеет 156,25-символьную длительность при использовании нормального периода символа, который является временным интервалом 15/26 мс или приблизительно 576,9 микросекунд. Защитный период в 8,25 символов или около 30,46 микросекунд отделяет каждый временной интервал. Стандарты GSM описывают символ как один битовый период. Поскольку GSM использует модуляцию GMSK, имеется один бит на битовый период. Синхронизация передачи пакета в пределах временного интервала определяется в терминах номера бита (BN). BN относится к конкретному периоду битов в пределах временного интервала. Бит с наименьшим BN передается первым. BN0 - первый битовый период, а BN156 - последний четвертьбитовый период.
Это изображение из 3GPP TS 45.011 показывает взаимосвязь между различными типами кадров и взаимосвязь между различными типами пакетов.

В этой таблице показаны поддерживаемые типы пакетов и их характеристики.
| Тип пакета | Описание | Направление связи | Полезная продолжительность |
|---|---|---|---|
NB | Нормальный всплеск | Восходящий/нисходящий канал | 147 |
FB | Пакет коррекции частоты | Передача информации из космоса | 147 |
SB | Пакет синхронизации | Передача информации из космоса | 147 |
Dummy | Пустышка лопнула | Передача информации из космоса | 147 |
AB | Пакет доступа | Канал восходящей связи | 87 |
Off | Пакет не отправлен | Восходящий/нисходящий канал | 0 |
Полезная продолжительность, описанная в разделе 5,2,2 3GPP TS 45,002, является характеристикой пакетов GSM. Полезная продолжительность или полезная часть пакета определяется как начинающаяся на полпути BN0 и заканчивающаяся на полбитового периода перед началом защитного периода. Защитный период - это период между пакетами в последовательных временных интервалах. На этом рисунке, показанном в разделе 2,2 3GPP TS 45,004, показана разница между передними и задними ½ битами полезной и активной частей пакета.

Дополнительные сведения см. в разделе Параметризация кадров TDMA GSM для генерации формы сигнала.
Нормальные пакеты включают в себя поле битов обучающей последовательности, назначенное битовой комбинации на основе указанного TSC. Для GSM можно выбрать одну из этих восьми обучающих последовательностей для стандартных временных интервалов пакетного типа.
Код последовательности обучения (TSC) | Биты обучающей последовательности (BN61, BN62,..., BN86) |
|---|---|
0 | (0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1) |
1 | (0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1) |
2 | (0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0) |
3 | (0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0) |
4 | (0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1) |
5 | (0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0) |
6 | (1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1) |
7 | (1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0) |
Дополнительные сведения см. в разделе 5,2,3 документа 3GPP TS 45,002.
[1] 3GPP TS 45.001. "Физический уровень GSM/EDGE на радиотракте. Общее описание. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
[2] 3GPP TS 45.002. «Мультиплексирование GSM/EDGE и множественный доступ по радиотракту». Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
[3] 3GPP TS 45.004. «Модуляция GSM/EDGE». Проект партнерства третьего поколения; Техническая спецификация на сеть радиодоступа группы.
Примечания и ограничения по использованию:
SamplesPerSymbol, RiseTime, RiseDelay, FallTime, и FallDelay свойства должны быть заданы при создании объекта, а их параметры являются статическими в созданном коде.
BurstType свойство должно быть установлено с использованием типа перечисления вместо строкового представления. Используйте эти gsmDownlinkBurstType перечисления: gsmDownlinkBurstType.NB, gsmDownlinkBurstType.AB, и gsmUplinkBurstType.Off. Например, этот код назначает пакет доступа во временных интервалах 2 и 5.
cfg = gsmUplinkConfig
cfg =
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
cfg.BurstType([2 5] +1) = gsmUplinkBurstType.AB
cfg =
gsmUplinkConfig with properties:
BurstType: [NB NB AB NB NB AB 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
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.