Beispiel #1
0
 public PhysCellIdRange Decode(BitArrayInputStream input)
 {
     PhysCellIdRange range = new PhysCellIdRange();
     range.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 1);
     range.start = input.ReadBits(9);
     if (stream.Read())
     {
         const int nBits = 4;
         range.range = (range_Enum)input.ReadBits(nBits);
     }
     return range;
 }
Beispiel #2
0
            public PhysCellIdRange Decode(BitArrayInputStream input)
            {
                PhysCellIdRange range = new PhysCellIdRange();

                range.InitDefaults();
                BitMaskStream stream = new BitMaskStream(input, 1);

                range.start = input.ReadBits(9);
                if (stream.Read())
                {
                    const int nBits = 4;
                    range.range = (range_Enum)input.ReadBits(nBits);
                }
                return(range);
            }
 public setup_Type Decode(BitArrayInputStream input)
 {
     setup_Type type = new setup_Type();
     type.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 1);
     type.measSubframePatternNeigh_r10 = MeasSubframePattern_r10.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         type.measSubframeCellList_r10 = new List<PhysCellIdRange>();
         const int nBits = 5;
         int num3 = input.readBits(nBits) + 1;
         for (int i = 0; i < num3; i++)
         {
             PhysCellIdRange item = PhysCellIdRange.PerDecoder.Instance.Decode(input);
             type.measSubframeCellList_r10.Add(item);
         }
     }
     return type;
 }
Beispiel #4
0
            public InterFreqCarrierFreqInfo Decode(BitArrayInputStream input)
            {
                BitMaskStream            stream3;
                InterFreqCarrierFreqInfo info = new InterFreqCarrierFreqInfo();

                info.InitDefaults();
                bool          flag    = input.readBit() != 0;
                BitMaskStream stream  = new BitMaskStream(input, 1);
                BitMaskStream stream2 = new BitMaskStream(input, 5);

                info.dl_CarrierFreq = input.readBits(0x10);
                info.q_RxLevMin     = input.readBits(6) + -70;
                if (stream2.Read())
                {
                    info.p_Max = input.readBits(6) + -30;
                }
                info.t_ReselectionEUTRA = input.readBits(3);
                if (stream2.Read())
                {
                    info.t_ReselectionEUTRA_SF = SpeedStateScaleFactors.PerDecoder.Instance.Decode(input);
                }
                info.threshX_High = input.readBits(5);
                info.threshX_Low  = input.readBits(5);
                int nBits = 3;

                info.allowedMeasBandwidth = (AllowedMeasBandwidth)input.readBits(nBits);
                info.presenceAntennaPort1 = input.readBit() == 1;
                if (stream2.Read())
                {
                    info.cellReselectionPriority = input.readBits(3);
                }
                info.neighCellConfig = input.readBitString(2);
                if (stream.Read())
                {
                    nBits             = 5;
                    info.q_OffsetFreq = (Q_OffsetRange)input.readBits(nBits);
                }
                if (stream2.Read())
                {
                    info.interFreqNeighCellList = new List <InterFreqNeighCellInfo>();
                    nBits = 4;
                    int num3 = input.readBits(nBits) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        InterFreqNeighCellInfo item = InterFreqNeighCellInfo.PerDecoder.Instance.Decode(input);
                        info.interFreqNeighCellList.Add(item);
                    }
                }
                if (stream2.Read())
                {
                    info.interFreqBlackCellList = new List <PhysCellIdRange>();
                    nBits = 4;
                    int num5 = input.readBits(nBits) + 1;
                    for (int j = 0; j < num5; j++)
                    {
                        PhysCellIdRange range = PhysCellIdRange.PerDecoder.Instance.Decode(input);
                        info.interFreqBlackCellList.Add(range);
                    }
                }
                if (flag)
                {
                    stream3 = new BitMaskStream(input, 2);
                    if (stream3.Read())
                    {
                        info.q_QualMin_r9 = input.readBits(5) + -34;
                    }
                    if (stream3.Read())
                    {
                        info.threshX_Q_r9 = threshX_Q_r9_Type.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream3 = new BitMaskStream(input, 1);
                    if (stream3.Read())
                    {
                        info.q_QualMinWB_r11 = input.readBits(5) + -34;
                    }
                }
                return(info);
            }