Main Content

gsmCheckTimeMask

Inspect GSM burst against time mask

Description

gsmCheckTimeMask(gsmCfg) plots the burst for the first time slot and the upper and lower time masks for the input GSM configuration object. The RiseTime, RiseDelay, FallTime, and FallDelay properties of the configuration object define the power level versus time characteristics. For more information, see Time Mask.

example

gsmCheckTimeMask(gsmCfg,tn) plots the burst for the specified time slot, tn.

example

pf = gsmCheckTimeMask(gsmCfg) returns a pass or fail result for the specified configuration object indicating compliance of the burst in the first time slot with the time mask defined in the GSM standard. For more information, see Time Mask.

example

pf = gsmCheckTimeMask(gsmCfg,tn) returns a pass or fail result indicating compliance of the burst in the specified time slot, tn.

example

Examples

collapse all

Create a GSM uplink TDMA frame configuration object with default settings. The GSM TDMA frame has eight time slots. Check the burst in the first time slot against the time mask specified by the GSM standard.

Create a GSM uplink TDMA frame configuration object with default settings.

cfggsmul = gsmUplinkConfig;

Use the gsmCheckTimeMask function to view the time mask and verify that the configured rise and fall characteristics of the burst comply with the time mask specified in the GSM standard. Plot the GSM burst and time mask. When no time slot number is provided, the gsmCheckTimeMask function shows the first time slot, TN=0.

pf = gsmCheckTimeMask(cfggsmul);
if pf
    disp('Time mask test passed.')
else
    disp('Time mask test failed.')
end
Time mask test passed.
gsmCheckTimeMask(cfggsmul);

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=0), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Adjust the rise time of the GSM uplink TDMA frame configuration object, specifying a value that causes a time mask failure.

cfggsmul.RiseTime = 5
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]
         PulseLength: 4
            RiseTime: 5
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Use the gsmCheckTimeMask function to inspect the time mask of cfggsmul. The pass or fail result shows that the cfggsmul configuration now fails the time mask and the plot shows the upper time mask fails.

pf = gsmCheckTimeMask(cfggsmul);
if pf
    disp('Time mask test passed.')
else
    disp('Time mask test failed.')
end
Time mask test passed.
gsmCheckTimeMask(cfggsmul);

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=0), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Create a GSM uplink TDMA frame configuration object with default settings. The GSM TDMA frame has eight time slots. Check the burst in the specified time slot against the time mask specified by the GSM standard.

Create a GSM downlink TDMA frame configuration object with default settings.

cfggsmul = gsmDownlinkConfig;

Use the gsmCheckTimeMask function to view the time mask and verify that the configured rise and fall characteristics of the burst in the specified time slot comply with the time mask specified by the GSM standard. Plot the GSM burst and time mask.

tn = 6; % Time slot number 6
pf = gsmCheckTimeMask(cfggsmul,tn);
if pf
    disp('Time mask test passed.')
else
    disp('Time mask test failed.')
end
Time mask test passed.
gsmCheckTimeMask(cfggsmul,tn);

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=6), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Adjust the fall delay of the GSM downlink TDMA frame configuration object, specifying a value that causes a time mask failure.

cfggsmul.FallDelay = 4
cfggsmul = 
  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]
         PulseLength: 4
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 4

Use the gsmCheckTimeMask function to inspect the time mask of cfggsmul. The pass or fail result shows that the cfggsmul configuration now fails the time mask and the plot shows the upper time mask fails.

pf = gsmCheckTimeMask(cfggsmul,tn);
if pf
    disp('Time mask test passed.')
else
    disp('Time mask test failed.')
end
Time mask test failed.
gsmCheckTimeMask(cfggsmul,tn);

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=6), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Create GSM downlink and uplink TDMA frame configuration objects that use the various burst types available.

  • Normal bursts and bursts with no data are valid for downlink and uplink frames.

  • Frequency correction, synchronization, and dummy bursts are valid in downlink frames only.

  • Access bursts are valid in uplink frames only.

View time masks for the different burst types against the time mask specified by the GSM standard for the downlink and uplink frames.

Create a GSM downlink TDMA frame configuration object that configures the times slot bursts as [NB FB SB Dummy Off Off Off Off].

cfggsmdl = gsmDownlinkConfig('BurstType', ...
    ["NB" "FB" "SB" "Dummy" "Off" "Off" "Off" "Off"])
cfggsmdl = 
  gsmDownlinkConfig with properties:

           BurstType: [NB    FB    SB    Dummy    Off    Off    Off    Off]
    SamplesPerSymbol: 16
                 TSC: [0 1 2 3 4 5 6 7]
         Attenuation: [0 0 0 0 0 0 0 0]
         PulseLength: 4
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Use the gsmCheckTimeMask function to view the time mask for the different time slot burst types. For downlink GSM TDMA frames the same time mask limits applies for all burst types.

for tn = 0:4
    [dlbt,dlbtVal] = enumeration(cfggsmdl.BurstType);
    dlBurstInfo = ...
    ['Downlink (TN=',num2str(tn),'), BurstType: ',dlbtVal{tn+1}];
    disp(dlBurstInfo)
    gsmCheckTimeMask(cfggsmdl,tn);
end
Downlink (TN=0), BurstType: NB

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=0), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Downlink (TN=1), BurstType: FB

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=1), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Downlink (TN=2), BurstType: SB

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=2), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Downlink (TN=3), BurstType: Dummy

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=3), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Downlink (TN=4), BurstType: Off

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=4), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Create a GSM uplink TDMA frame configuration object that configures the times slot bursts as [NB AB Off Off Off Off Off Off].

cfggsmul = gsmUplinkConfig('BurstType', ...
    ["NB" "AB" "Off" "Off" "Off" "Off" "Off" "Off"])
cfggsmul = 
  gsmUplinkConfig with properties:

           BurstType: [NB    AB    Off    Off    Off    Off    Off    Off]
    SamplesPerSymbol: 16
                 TSC: [0 1 2 3 4 5 6 7]
         Attenuation: [0 0 0 0 0 0 0 0]
         PulseLength: 4
            RiseTime: 2
           RiseDelay: 0
            FallTime: 2
           FallDelay: 0

Use the gsmCheckTimeMask function to view the time masks for the different time slot burst types. For uplink GSM TDMA frames the access burst has a shorter time mask than the normal burst or no data burst.

for tn = 0:2
    [ulbt,ulbtVal] = enumeration(cfggsmul.BurstType);
    ulBurstInfo = ...
        ['Uplink (TN=',num2str(tn),'), BurstType: ',ulbtVal{tn+1}];
    disp(ulBurstInfo)
    gsmCheckTimeMask(cfggsmul,tn);
end
Uplink (TN=0), BurstType: NB

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=0), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Uplink (TN=1), BurstType: AB

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=1), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Uplink (TN=2), BurstType: Off

Figure contains an axes object. The axes object with title Transmitted Power Level Versus Time (TN=2), xlabel Time ( mu sec), ylabel Power (dB) contains 5 objects of type line, patch.

Input Arguments

collapse all

GSM configuration, specified as a gsmUplinkConfig or gsmDownlinkConfig object.

Time slot number, specified as an integer in the range [0, 7].

Data Types: double

Output Arguments

collapse all

Pass or fail result, returned as:

  • 1 if the time mask passes

  • 0 if the time mask fails

For more information, see Time Mask.

More About

collapse all

Time Mask

The time mask defines the allowable transmitted power level versus time for time slot bursts in a GSM TDMA frame. This figure, from Annex B of TS 45.005, shows the upper and lower power limits for the time mask of a burst.

References

[1] 3GPP TS 45.005. "GSM/EDGE Radio transmission and reception." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Extended Capabilities

Version History

Introduced in R2019b