Создайте объект строения системы координат TDMA восходящего канала GSM
The 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, Временные пазы и Пакеты
Примечание
The BurstType
свойство является перечислением. Для выполнения генерации кода смотрите Code Generation и MEX Generation for GSM Uplink Waveform пример.
Пример: ["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. GSM TDMA систем координат иметь восемь временных пазы, каждый из которых разделен периодом защиты 8,25 символов или приблизительно 30,46x10e-3 ms.
Создайте объект строения системы координат 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 из функции helper createUplinkWaveform
. The createUplinkWaveform
Функция helper создает сигнал восходящего канала GSM.
Запись функции MATLAB
Откройте createUplinkWaveform.m, чтобы увидеть код. The createUplinkWaveform
функция helper генерирует сигнал восходящего канала 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
helper, а затем запустите 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 function и Communications Toolbox™.
Генерация сигналов восходящего канала GSM
Блок Функция MATLAB (Simulink) содержит gsmUplinkWaveform
код функции. Код в блоке MATLAB Function создает сигнал GSM при помощи gsmUplinkConfig
объект и gsmFrame
функция.
The gsmUplinkConfig
объект задает 16 выборок на символ, и строение временного паза для кадра TDMA восходящего канала GSM является этой таблицей.
Сигнал выхода имеет 16 выборок для каждого символа GMSK. The 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 (Simulink) задано значение wfInfo.FrameLengthInSamples/wfInfo.SampleRate
. Чтобы просмотреть параметр Шага расчета, откройте диалоговое окно Параметров блоков, щелкнув правой кнопкой мыши блок MATLAB Function и выбрав Параметры блоков (Подсистема).
Перед запусками симуляции необходимо сконфигурировать частоту дискретизации блока MATLAB Function. The PreLoadFcn
и InitFcn
функции обратного вызова конфигурируют блок MATLAB Function путем создания gsmUplinkConfig
объект и wfInfo
структура. Чтобы просмотреть функции обратного вызова, на вкладке Моделирование, в разделе Setup, выберите Настройки модели > Свойства модели. Затем на вкладке Callbacks выберите PreLoadFcn
или InitFcn
функция обратного вызова на панели обратных коллбэков Model.
Результаты
Отображает сигнал временного интервала и спектрограмму путем выполнения симуляции.
В GSM передачи состоят из систем координат TDMA. Каждая система координат TDMA GSM состоит из восьми временных пазов. Содержимое данных передачи временного паза называется burst. Как описано в разделе 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 и окончание полубита периода перед началом защитного периода. Этот guard period является периодом между пакетами в последовательных временных пазах. Этот рисунок, из раздела 2.2 3GPP TS 45.004, показывает начальное и конечное различие ½ битах между полезной и активной частями пакета.
Для получения дополнительной информации смотрите GSM TDMA Frame Parameterization для генерации сигналов.
Нормальные пакеты включают в себя поле бит обучающей последовательности, присвоенное битовому шаблону на основе заданного 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 Physical слоя на радио- путь. Общее описание "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.
[2] 3GPP TS 45.002. «GSM/EDGE Multiplexing and multiple access on the radio пути». 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.
[3] 3GPP TS 45.004. «GSM/EDGE Modulation». 3-ья Генерация проект партнерства; Группа технических спецификаций Радиосеть доступ.
Указания и ограничения по применению:
The SamplesPerSymbol
, RiseTime
, RiseDelay
, FallTime
, и FallDelay
свойства должны быть заданы при создании объекта, и их настройки статичны в сгенерированном коде.
The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.