예제 #1
0
 public P_C_AndCBSR_r11 Decode(BitArrayInputStream input)
 {
     P_C_AndCBSR_r11 _r = new P_C_AndCBSR_r11();
     _r.InitDefaults();
     _r.p_C_r11 = input.ReadBits(5) + -8;
     int nBits = input.ReadBits(8);
     _r.codebookSubsetRestriction_r11 = input.ReadBitString(nBits);
     return _r;
 }
예제 #2
0
            public P_C_AndCBSR_r11 Decode(BitArrayInputStream input)
            {
                P_C_AndCBSR_r11 _r = new P_C_AndCBSR_r11();

                _r.InitDefaults();
                _r.p_C_r11 = input.ReadBits(5) + -8;
                int nBits = input.ReadBits(8);

                _r.codebookSubsetRestriction_r11 = input.ReadBitString(nBits);
                return(_r);
            }
예제 #3
0
파일: CSI.cs 프로젝트: xuhaoa/LtePlatform
            public CSI_Process_r11 Decode(BitArrayInputStream input)
            {
                CSI_Process_r11 _r = new CSI_Process_r11();

                _r.InitDefaults();
                bool          flag   = input.ReadBit() != 0;
                BitMaskStream stream = new BitMaskStream(input, 3);

                _r.csi_ProcessId_r11      = input.ReadBits(2) + 1;
                _r.csi_RS_ConfigNZPId_r11 = input.ReadBits(2) + 1;
                _r.csi_IM_ConfigId_r11    = input.ReadBits(2) + 1;
                _r.p_C_AndCBSRList_r11    = new List <P_C_AndCBSR_r11>();
                int nBits = 1;
                int num3  = input.ReadBits(nBits) + 1;

                for (int i = 0; i < num3; i++)
                {
                    P_C_AndCBSR_r11 item = P_C_AndCBSR_r11.PerDecoder.Instance.Decode(input);
                    _r.p_C_AndCBSRList_r11.Add(item);
                }
                if (stream.Read())
                {
                    _r.cqi_ReportBothProc_r11 = CQI_ReportBothProc_r11.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    _r.cqi_ReportPeriodicProcId_r11 = input.ReadBits(2);
                }
                if (stream.Read())
                {
                    _r.cqi_ReportAperiodicProc_r11 = CQI_ReportAperiodicProc_r11.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    BitMaskStream stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        nBits = 1;
                        _r.alternativeCodebookEnabledFor4TXProc_r12 = (alternativeCodebookEnabledFor4TXProc_r12_Enum)input.ReadBits(nBits);
                    }
                }
                return(_r);
            }