Пример #1
0
            public InterFreqNeighCellInfo Decode(BitArrayInputStream input)
            {
                InterFreqNeighCellInfo info = new InterFreqNeighCellInfo();

                info.InitDefaults();
                info.physCellId = input.readBits(9);
                int nBits = 5;

                info.q_OffsetCell = (Q_OffsetRange)input.readBits(nBits);
                return(info);
            }
Пример #2
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);
            }
Пример #3
0
 public InterFreqNeighCellInfo Decode(BitArrayInputStream input)
 {
     InterFreqNeighCellInfo info = new InterFreqNeighCellInfo();
     info.InitDefaults();
     info.physCellId = input.readBits(9);
     int nBits = 5;
     info.q_OffsetCell = (Q_OffsetRange)input.readBits(nBits);
     return info;
 }