Main Content

gsmInfo

View GSM waveform information

Description

example

infostruct= gsmInfo(gsmCfg) returns a structure containing characteristic waveform information for the input GSM configuration object.

Examples

collapse all

View information from downlink and uplink GSM configuration objects.

Create a GSM downlink configuration object with default settings and use gsmInfo to view the waveform information structure.

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

Create a GSM uplink configuration object with default settings and use gsmInfo to view the waveform information structure.

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

Create a GSM downlink TDMA frame configuration object with default settings, and then create a GSM waveform containing five TDMA frames. GSM TDMA frames have eight time slots, each separated by a guard period of 8.25 symbols or about 30.46x10e-3 ms. Plot the GSM waveform.

Create a GSM uplink TDMA frame configuration object, specifying 3 dB of attenuation in the last time slot to help identify the end of each frame.

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

Display information about the configured gsmUplinkConfig object by using the gsmInfo function. Assign the frame length in samples to a variable, spf, for use in computing the plot timescale.

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;

Create the GSM waveform by using the gsmFrame function, and then plot the GSM waveform. The last time slot of each frame is 3 dB less than the other time slots in that frame.

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

Input Arguments

collapse all

GSM configuration, specified as a gsmUplinkConfig or gsmDownlinkConfig object.

Output Arguments

collapse all

Structure containing these fields with information about the characteristic GSM waveform based on the input configuration object.

GSM symbol rate in symbols per second, returned as a positive integer.

GSM sample rate in samples per second, returned as a positive integer.

Product of bandwidth and symbol time of Gaussian pulse for the GMSK modulator, returned as a positive integer.

GSM burst length in symbols, returned as a positive scalar.

Number of bursts in a GSM TDMA frame, returned as a positive integer.

GSM burst length in samples, returned as a positive integer.

GSM frame length in samples, returned as a positive integer.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2019b