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>(); }
/// <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); }
/// <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; }