exponenta event banner

gsmFrame

Создание формы сигнала GSM

Описание

пример

gsmWaveform = gsmFrame(gsmCfg) создает форму сигнала GSM с одним кадром TDMA на основе входного объекта конфигурации GSM. Зашифрованное битовое поле пакетов данных передачи заполняется случайными данными. Дополнительные сведения см. в разделах Кадры GSM, Временные интервалы и Пакеты.

пример

gsmWaveform = gsmFrame(gsmCfg,numFrames) создает сигнал GSM, с numFrames идентично сконфигурированные кадры TDMA. В каждом кадре зашифрованное битовое поле пакетов данных передачи заполняется случайными данными. Дополнительные сведения см. в разделах Кадры GSM, Временные интервалы и Пакеты.

Примеры

свернуть все

Создайте объект конфигурации кадра 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)')

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

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

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

cfggsmul = gsmUplinkConfig('Attenuation',[0 0 0 0 0 0 0 3])
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 3]
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

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

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

spf = wfInfo.FrameLengthInSamples;

Создайте форму сигнала GSM с помощью gsmFrame и затем постройте график формы сигнала GSM. Последний временной интервал каждого кадра на 3 дБ меньше, чем остальные временные интервалы в этом кадре.

numFrames = 5;
waveform = gsmFrame(cfggsmul,numFrames);

t = 8*(0:length(waveform)-1)/spf;

numTS = 8*numFrames;
subplot(2,1,1)
plot(t,abs(waveform))
grid on
axis([0 numTS 0 1.2])
title('GSM Uplink Waveform - Amplitude')
xlabel('Time Slots')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,unwrap(angle(waveform)))
grid on
title('GSM Uplink Waveform - Phase')
xlabel('Time Slots')
ylabel('Phase (rad)')

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

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

Создайте объект конфигурации кадра 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)')

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

Входные аргументы

свернуть все

Конфигурация GSM, заданная как gsmUplinkConfig или gsmDownlinkConfig объект.

Количество кадров TDMA в форме сигнала, указанное как положительное целое число.

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

Выходные аргументы

свернуть все

Выходной сигнал во временной области, возвращаемый как вектор столбца с комплексными значениями длины Ns, где Ns представляет количество выборок во временной области. Функция генерирует этот сигнал в виде комплексных синфазных квадратурных (IQ) выборок.

Подробнее

свернуть все

Кадры GSM, временные интервалы и пакеты

В 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)

Нормальные пакеты включают в себя поле битов обучающей последовательности, назначенное битовой комбинации на основе указанного 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.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b