WiMAX Solution


Overview

The WiMAX solution provides the TSN.1 message definitions for the MAC management messages of the IEEE 802.16d and IEEE 802.16e standard (OFDMA PHY) as well as the WiMAX ASN messages (R4, R6, and R8 etc.).

What You Can Do

Generate message parsers in C/C++/Java TSN.1 Compiler
Generate Wireshark dissectors TSN.1 Compiler
Implement Java based custom message diagnostic/analysis tools TSN.1 Compiler/TSN.1 Server
Implement Microsoft .NET based custom message diagnostic/analysis tools TSN.1 Server
Create test vectors TSN.1 Editor
Decode and diagnose message raw data TSN.1 Editor

Example

DL-MAP Message

wimax_mac_DL_MAP_IE
(
   var INC_CID  1,
   InSUB_MAP    1,
   RCIDType     2
) ::=
{
   DIUC  4;

   if(DIUC == 14)
   {
      // Extended-2 DIUC dependent IE
      Extended2DIUC  4;
      Length         8;

      Data2  Length * 8  : case Extended2DIUC of
      {
         0 =>
            MBS_MAP_IE  :
            {
               MBSZoneIdentifier       7;
               MacroDiversityEnhanced  1;

               if(MacroDiversityEnhanced == 1)
               {
                  Permutation           2;
                  DLPermBase            5;
                  PRBS_ID               2;
                  OFDMASymbolOffset     7;
                  DIUCChangeIndication  1;
                  reserve               3;

                  if(DIUCChangeIndication == 1)
                  {
                     reserve                     3;
                     Boosting                    3;
                     DIUC                        4;
                     NumSubchannels              6;
                     NumOFDMASymbols             6;
                     RepetitionCodingIndication  2;
                  }
               }
               else
               {
                  DIUC                        4;
                  CID                         16;
                  OFDMASymbolOffset           8;
                  SubchannelOffset            6;
                  Boosting                    3;
                  SLC3Indication              1;
                  NumOFDMASymbols             6;
                  NumSubchannels              6;
                  RepetitionCodingIndication  2;

                  if(SLC3Indication == 1)
                  {
                     NextMBS_MAP_IEFrameOffset  8;
                  }
               }
            }
         1 =>
            HO_Active_Anchor_DL_MAP_IE  :
            {
               Bursts[]  :
               {
                  ActivePreamble              8;
                  AnchorCID                   16;
                  DIUC                        4;
                  OFDMASymbolOffset           8;
                  RepetitionCodingIndication  2;
                  SubchannelOffset            6;
                  NumOFDMASymbols             7;
                  NumSubchannels              6;
                  Boosting                    3;
               }
            }
         2 =>
            HO_Anchor_Active_DL_MAP_IE  :
            {
               Bursts[]  :
               {
                  AnchorPreamble              8;
                  AnchorCID                   16;
                  DIUC                        4;
                  OFDMASymbolOffset           8;
                  SubchannelOffset            6;
                  RepetitionCodingIndication  2;
               }
            }
         3 =>
            HO_CID_Translation_MAP_IE  :
            {
               Bursts[]  :
               {
                  AnchorPreamble  8;
                  AnchorCID       16;
                  ActiveCID       16;
               }
            }
         6 =>
            Skip_IE  :
            {
               Mode     1;
               reserve  7;
            }
         9 =>
            Enhanced_DL_MAP_IE  :
            {
               NumAssignment  4;

               Assignments[NumAssignment]  :
               {
                  if(INC_CID == 1)
                  {
                     NumCID  8;

                     CIDs[NumCID]  16;
                  }

                  DIUC                        4;
                  Boosting                    3;
                  RepetitionCodingIndication  2;
                  RegionID                    8;
                  reserve                     3;
               }
            }
      }
   }
   else if(DIUC == 15)
   {
      // Extended DIUC dependent IE
      ExtendedDIUC  4;
      Length        4;

      Data  Length * 8  : case ExtendedDIUC of
      {
         0 =>
            Channel_Measurement_IE  :
            {
               ChannelNr          8;
               OFDMASymbolOffset  8;
               CID                16;
            }
         1 =>
            STC_DL_ZONE_IE  :
            {
               OFDMASymbolOffset  8;
               Permutation        2;
               UseAllSCIndicator  1;
               STC                2;
               MatrixIndicator    2;
               DL_PermBase        5;
               PRBS_ID            2;
               AMCType            2;
               MidamblePresence   1;
               MidambleBoosting   1;
               AntennasSelect     1;
               DedicatedPilots    1;
               reserve            4;
            }
         2 =>
            AAS_DL_IE  :
            {
               OFDMASymbolOffset  8;
               Permutation        3;
               DLPermBase         6;
               DLPreambleConfig   2;
               PreambleType       1;
               PRBS_ID            2;
               DiversityMap       1;
               reserve            1;
            }
         3 =>
            Data_location_in_another_BS_IE  :
            {
               Segment                     2;
               UsedSubchannels             6;
               DIUC                        4;
               FrameAdvance                3;
               reserve                     1;
               OFDMASymbolOffset           8;
               SubchannelOffset            6;
               Boosting                    3;
               PreambleIndex               7;
               NumOFDMSymbols              8;
               NumSubchannels              6;
               RepetitionCodingIndication  2;
               CID                         16;
            }
         4 =>
            CID_Switch_IE  :
            {
               if(INC_CID == 0)
               {
                  INC_CID = 1;
               }
               else
               {
                  INC_CID = 0;
               }
            }
         8 =>
            PHYMOD_DL_IE  :
            {
               PreambleModifierType  1;

               if(PreambleModifierType == 0)
               {
                  PreambleFrequencyShiftIndex  4;
               }
               else
               {
                  PreambleTimeShiftIndex  4;
               }

               PilotPatternModifier  1;
               PilotPatternIndex     2;
               reserve               3;
            }
         10 =>
            Broadcast_ControL_Pointer_IE  :
            {
               DCD_UCDConfigurationChangeCounter  4;
               DCD_UCDTransmissionFrame           8;
               SkipBroadcastSysmteUpdate          1;

               if(SkipBroadcastSysmteUpdate == 0)
               {
                  BroadcastSysmteUpdateType               3;
                  BroadcastSysmteUpdateTransmissionFrame  8;
               }
               else
               {
                  reserve  3;
               }
            }
         11 =>
            DL_PUSC_Burst_Allocatin_in_Other_Segment_IE  :
            {
               CID                         16;
               DIUC                        4;
               Segment                     2;
               Boosting                    3;
               IDcell                      5;
               DLPermBase                  5;
               PRBS_ID                     2;
               RepetitioncodingIndication  2;
               UsedSubchannels             6;
               OFDMASymbolOffset           8;
               reserve                     1;
               NumOFDMASymbols             7;
               SubchannelOffset            6;
               NumSubchannels              6;
               reserve                     7;
            }
         15 =>
            UL_interference_and_noise_level_IE  :
            {
               Bitmap  8;

               if((Bitmap & 0x1) == 1)
               {
                  CQI_ACKPeriodicRangingRegionNI  8;
               }

               if((Bitmap & 0x2) == 1)
               {
                  PUSCRegionNI  8;
               }

               if((Bitmap & 0x4) == 1)
               {
                  OptionalPUSCRegionNI  8;
               }

               if((Bitmap & 0x8) == 1)
               {
                  AMCRegionNI  8;
               }

               if((Bitmap & 0x10) == 1)
               {
                  AASRegionNI  8;
               }

               if((Bitmap & 0x20) == 1)
               {
                  PeriodicRangingRegionNI  8;
               }

               if((Bitmap & 0x40) == 1)
               {
                  SoundingRegionNI  8;
               }

               if((Bitmap & 0x80) == 1)
               {
                  MIMORegionNI  8;
               }
            }
      }
   }
   else
   {
      if(INC_CID == 1)
      {
         NumCID  8;

         if(InSUB_MAP == 1)
         {
            RCID[NumCID]  : wimax_mac_RCID_IE(RCIDType);
         }
         else
         {
            CID[NumCID]  16;
         }
      }

      OFDMASymbolOffset  8;

      SubchannelOffset  6;
      Boosting          3;
      NumOFDMASymbols   7;
      NumSubchannels    6;

      RepetitionCodingIndication  2;
   }
}

wimax_mac_DL_MAP() ::=
{
   var INC_CID  1;

   MessageType  8 = WIMAX_MAC_DL_MAP;

   // PHY Synchronization Field
   FrameDurationCode  8;
   FrameNumber        24;

   DCDCount       8;
   BaseStationID  48;

   // PHY Specific Section
   NumOFDMASymbols  8;

   IEs[]  : wimax_mac_DL_MAP_IE(INC_CID, 0, 0);

   align(8);
}