예제 #1
0
 public UlLoadBalancingService(int currentTTI, LBThresholdParam lbTh)
 {
     base.m_CurrentTTI = currentTTI;
     base.m_LBThresholdParam = lbTh;
     base.m_NgbList = new List<ISimulationCarrier>();
     base.m_LBUserList = new List<ISimulationUser>();
     this.m_sameFreNgbList = new List<ISimulationCarrier>();
     this.m_diffFreNgbList = new List<ISimulationCarrier>();
 }
예제 #2
0
 /// <summary>
 /// 上行准入控制的初始化
 /// </summary>
 /// <param name="iSimulationCarrierList"></param>
 public void Init(List<ISimulationCarrier> iSimulationCarrierList)
 {
     foreach (IAdmissionCarrier carrier in iSimulationCarrierList)
     {
         this.InitUserTag(carrier.UlUserList);
         carrier.AdmissionCarrierTag = new AdmissionCellTag();
     }
     this.m_OfflineThresholdParam = new OfflineThresholdParam();
     this.m_LBThresholdParam = new LBThresholdParam();
     this.m_LCTHresholdParam = new LCThresholdParam();
     this.m_SatisficationThParam = new SatisficationThParam();
     this.SetULParam(this.m_OfflineThresholdParam, this.m_LBThresholdParam, this.m_LCTHresholdParam, this.m_SatisficationThParam);
 }
예제 #3
0
 /// <summary>
 /// 设置诸多门限参数
 /// </summary>
 /// <param name="offlineTh"></param>
 /// <param name="lbTh"></param>
 /// <param name="lcTh"></param>
 /// <param name="sfCalTh"></param>
 private void SetULParam(OfflineThresholdParam offlineTh, LBThresholdParam lbTh, LCThresholdParam lcTh,
     SatisficationThParam sfCalTh)
 {
     offlineTh.DataDropThreshold = SimulationConstant.UL_DATA_DROP_THRESHOLD_NONSERVICED;
     offlineTh.DataSdThreshold = SimulationConstant.UL_DATA_DROP_SDTHRESHOLD;
     offlineTh.VoiceDropLossThrshold = SimulationConstant.UL_VOICE_DROP_LOSSCOUNT_THRESHOLD;
     offlineTh.VoiceDropThreshold = SimulationConstant.UL_VOICE_DROP_THRESHOLD_NONSERVICED;
     lbTh.LbBalanceTime = SimulationConstant.UL_LoadBalanceTime;
     lbTh.FirstLbTime = SimulationConstant.MLB_START_TIME;
     lbTh.LbPeriod = SimulationConstant.MLB_EXECUTE_PERIOD;
     lbTh.MLBEdgeLoadTh = SimulationConstant.MLBEdgeLoadTh;
     lbTh.MLBERSRPDiffTh = SimulationConstant.MLBRSRPDiffTh;
     lbTh.MlbRationTh = SimulationConstant.MLBRatioTh;
     lbTh.NoMLBRatioTh = SimulationConstant.NoMLBRatioTh;
     lcTh.FirstLCTime = SimulationConstant.UL_FirstLCTime;
     lcTh.LcGBRSatisfyTh = SimulationConstant.LCGBRSatisfyTh;
     lcTh.LcNonGBRSatisfyTh = SimulationConstant.LCNonGBRSatisfyTh;
     lcTh.LcPeriod = SimulationConstant.LOADCONTROL_EXECUTE_PERIOD;
     lcTh.LcVoiceSatisfyTh = SimulationConstant.LCVoiceSatisfyTh;
     lcTh.LcLoadRatioTh = SimulationConstant.LCRatioTh;
     lcTh.LcGBRRbTh = SimulationConstant.LCGBRRbTh;
     sfCalTh.VOICE_SD_THRESHOLD = SimulationConstant.VOICEOFFLINE_SD_THRESHOLD;
 }
        public void MyTestInitialize()
        {
            m_NgbCarrierList = new List<ISimulationCarrier>();
            m_AdCarrier1 = new SimulationCarrier();
            m_AdCarrier2 = new SimulationCarrier();
            m_AdCarrier1.AdmissionCarrierTag = new AdmissionCellTag();
            m_AdCarrier2.AdmissionCarrierTag = new AdmissionCellTag();
            m_LbThresHoldParam = new LBThresholdParam();
                       
            m_SUser1 = new SimulationUser();
            m_SUser2 = new SimulationUser();
            m_SUser1.AdmissionUserTag = new SimulationUser();
            m_SUser2.AdmissionUserTag = new SimulationUser();
            
            m_AdmissionCarrier = new SimulationCarrier();
            LTECell ltecarrier = new LTECell();
            m_AdmissionCarrier.Carrier = ltecarrier;
            m_AdCarrier1.Carrier = ltecarrier;
            m_AdCarrier2.Carrier = ltecarrier;

            FrequencyBand freband = new FrequencyBand();
            freband.BandWidth = 100;
            ltecarrier.FreqBand = freband;
            m_AdmissionCarrier.AdmissionCarrierTag = new AdmissionCellTag();

            m_Lbth = new LBThresholdParam();
            m_DLLB = new DlLoadBalancingService(m_CurrentTTI, m_Lbth);

            m_LbUserList = new List<ISimulationUser>();
            m_User1 = new SimulationUser();
            m_User2 = new SimulationUser();
            m_LbUserList.Add(m_User1);
            m_LbUserList.Add(m_User2);

            m_DlDataWaitUserList = new List<ISimulationUser>();
            m_DlDataWaitUserList.Add(m_SUser1);
            m_DlDataWaitUserList.Add(m_SUser2);
            m_AdmissionCarrier.DlDataWaitUserList = m_DlDataWaitUserList;

            m_DlVoiceWaitUserList = new List<ISimulationUser>();
            m_DlVoiceWaitUserList.Add(m_SUser1);
            m_DlVoiceWaitUserList.Add(m_SUser2);
            m_AdmissionCarrier.DlVoiceWaitUserList = m_DlVoiceWaitUserList;
            
            m_NgbList = new List<ISimulationCarrier>();


            RelayCell relaycarrier = new RelayCell();
            LteAlgParam ltealgparam = new LteAlgParam();
            m_AdmissionCarrier.Carrier = relaycarrier;
            m_AdCarrier1.Carrier = relaycarrier;
            m_AdCarrier2.Carrier = relaycarrier;

            m_DlUserList = new List<ISimulationUser>();
            m_DlUserList.Add(m_SUser1);
            m_DlUserList.Add(m_SUser2);
            m_AdmissionCarrier.DlUserList = m_DlUserList;

            m_CarrierListInComputerArea = new CarrierTotalLoss();
            List<CarrierTotalLoss> listcarrier1 = new List<CarrierTotalLoss>();
            CarrierTotalLoss a = new CarrierTotalLoss();
            CarrierTotalLoss b = new CarrierTotalLoss();
            listcarrier1.Add(a);
            listcarrier1.Add(b);
            
            SimulationCarrier carrier = new SimulationCarrier();
            ((SimulationUser)m_SUser1).CarrierListInComputeArea = listcarrier1.ToArray();
            ((SimulationUser)m_SUser2).CarrierListInComputeArea = listcarrier1.ToArray();

            ((SimulationUser)m_SUser1).CarrierListInComputeArea[0].Carrier = carrier;
            ((SimulationUser)m_SUser2).CarrierListInComputeArea[0].Carrier = carrier;
            ((SimulationUser)m_SUser1).CarrierListInComputeArea[1].Carrier = carrier;
            ((SimulationUser)m_SUser2).CarrierListInComputeArea[1].Carrier = carrier;

            ((SimulationUser)m_SUser1).CarrierListInComputeArea[0].Carrier.Carrier = relaycarrier;
            ((SimulationUser)m_SUser2).CarrierListInComputeArea[0].Carrier.Carrier = relaycarrier;
            ((SimulationUser)m_SUser1).CarrierListInComputeArea[1].Carrier.Carrier = relaycarrier;
            ((SimulationUser)m_SUser2).CarrierListInComputeArea[1].Carrier.Carrier = relaycarrier;

            m_User1.CarrierListInComputeArea = listcarrier1.ToArray();
            m_User2.CarrierListInComputeArea = listcarrier1.ToArray();

            m_User1.CarrierListInComputeArea[0].Carrier = carrier;
            m_User2.CarrierListInComputeArea[0].Carrier = carrier;
            m_User1.CarrierListInComputeArea[1].Carrier = carrier;
            m_User2.CarrierListInComputeArea[1].Carrier = carrier;

            m_User1.CarrierListInComputeArea[0].Carrier.Carrier = relaycarrier;
            m_User2.CarrierListInComputeArea[0].Carrier.Carrier = relaycarrier;
            m_User1.CarrierListInComputeArea[1].Carrier.Carrier = relaycarrier;
            m_User2.CarrierListInComputeArea[1].Carrier.Carrier = relaycarrier;



            m_User1.BestServiceCellBeforeHandOver = a;
            m_User1.StroNbrBeforeHandOver = b;
            m_User2.BestServiceCellBeforeHandOver = a;
            m_User2.StroNbrBeforeHandOver = b;


            m_CarrierListInComputerArea.Carrier = carrier;
            relaycarrier.RSPower = 100;

            

        }