Main Content

GSM Multiframe Generation in Simulink

This example shows how to model a GSM® waveform generator to generate a 51-frame multiframe in Simulink®. For more information see GSM TDMA Frame Parameterization for Waveform Generation Example.

Introduction

This model generates a 51-frame GSM downlink multiframe with the following configuration. Downlink frames can carry normal burst (NB), frequency correction burst (FB), synchronization burst (SB) and dummy burst. The first frame is [FB NB NB NB NB Dummy NB NB], the second frame is [SB NB NB NB NB Dummy NB NB], and the next 49 frames are [NB NB NB NB NB Dummy NB NB]. Repeat this structure 3 times.

cfg1 = 

  gsmDownlinkConfig with properties:

           BurstType: [FB    NB    NB    NB    NB    Dummy    NB    NB]
    SamplesPerSymbol: 8
                 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


cfg2 = 

  gsmDownlinkConfig with properties:

           BurstType: [SB    NB    NB    NB    NB    Dummy    NB    NB]
    SamplesPerSymbol: 8
                 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


cfg3 = 

  gsmDownlinkConfig with properties:

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

GSM 51-frame Multiframe Generation

Double click the TDMA Frame 0 block. The gsmDownlinkFrame0 function uses the gsmDownlinkConfig function to configure the GSM downlink TDMA frame for the first frame. The gsmFrame function generates the samples of the frame. Double click the TDMA Frame 2 to 50 block. This block generates 49 frames at once using the y = gsmFrame(cfg,49) function call.

Setup Model

The GSM standard [1] specifies the symbol rate as R = 1625e3/6 symbols per second. Set the gsmDownlinkWaveform blocks' sample time to match the GSM specifications. Use the gsmInfo function to get information on the generated waveform based on the configuration object, cfg.

wfInfo = 

  struct with fields:

              SymbolRate: 2.7083e+05
              SampleRate: 2.1667e+06
    BandwidthTimeProduct: 0.3000
    BurstLengthInSymbols: 156.2500
       NumBurstsPerFrame: 8
    BurstLengthInSamples: 1250
    FrameLengthInSamples: 10000

Setup MATLAB Function Block

Select each MATLAB Function block and open the Property Inspector. In the Modeling tab, expand the Design group and click on the Property Inspector under the General category. In the Properties tab, make sure that Update method is set to Discrete and Sample Time is set to 51*wfInfo.FrameLengthInSamples/Rs. Close the Property Inspector.

Results

Running the simulation displays the time domain signal and the spectrogram.

Selected Bibliography

  1. 3GPP TS 45.001, Radio Access Network; Physical layer on the radio path; General description (Release 8)

  2. 3GPP TS 45.002, Radio Access Network; Multiplexing and multiple access on the radio path (Release 8)