public void Init(SimulationContext context, List<User> users, ReportProgressDelegate reporter) { List<User> ulRsrpFailUserList; List<User> dlRsrpFailUserList; ICommonChannelMeasure measure = context.ProcessorFactory.BuildCommonChannelMeasure(); ITotalLossMatrix matrix = context.ProcessorFactory.BuildTotalLossMatrix(context.SimulationInfo.SubSysInterface, context.SimulationInfo.Coefficientabc); List<ISimulationUser> userList = this.InitSimulationUser(users); context.DataManager.SimulationUserList = userList; context.DataManager.UlUserNum = 0; context.DataManager.DlUserNum = 0; foreach (SimulationUser user in userList) { this.InitUserState(user, context.DataManager); } matrix.InitUserTotalLossList(userList, context.DataManager.SimulationCarrierList, reporter); context.ProcessorFactory.BuildBestServerCell().DetermineUserServerCell(userList, out dlRsrpFailUserList, out ulRsrpFailUserList); context.DataManager.DlRsrpFailUserList = dlRsrpFailUserList; context.DataManager.UlRsrpFailUserList = ulRsrpFailUserList; List<ISimulationUser> relayUserList = RCListHelp.GetRelayUserListFromSimuCarrierList(context.DataManager.SimulationCarrierList); context.ProcessorFactory.BuildBestServerCell().DetermineUserServerCell(relayUserList, out dlRsrpFailUserList, out ulRsrpFailUserList); //所有用户 List<ISimulationUser> userlist = new List<ISimulationUser>(); foreach (SimulationCarrier carrier in context.DataManager.SimulationCarrierList) { userlist.AddRange(carrier.UlUserList); userlist.AddRange(carrier.DlUserList); } this.InitUsersMIMOClutterGain(userlist, context); this.GetMinAndMaxSinrTarget(userlist); //计算用户的初始的RS sinr,即IntialDlRsSinr measure.CalculateIntialDlRsSinr(userlist); }
public void init(SimulationContext context) { this.m_context = context; this.m_AdmissionProcessor.Init(this.m_context.DataManager.SimulationCarrierList); if (this.m_nextProcessor != null) { this.m_nextProcessor.init(context); } }
public void init(SimulationContext context) { this.m_context = context; this.m_PowerControlProcessor = this.m_context.ProcessorFactory.BuildIDlPowerControl(); this.m_PowerControlProcessor.DlPowerControlInit(context.DataManager.SimulationCarrierList); if (this.m_NextPorcessor != null) { this.m_NextPorcessor.init(context); } }
public void init(SimulationContext context) { this.m_context = context; this.m_PdschMeasure = context.ProcessorFactory.BuildPDSCHMeasure(); this.m_PdschMeasure.DlPDSCHMeasureInit(context.DataManager.SimulationCarrierList); if (this.m_NextProcessor != null) { this.m_NextProcessor.init(context); } }
public void init(SimulationContext context) { this.m_context = context; this.m_DlIcicProcessor = context.ProcessorFactory.BuildDlIcicProcessor(); this.m_DlIcicProcessor.Init(context.DataManager.SimulationCarrierList); if (this.m_NextProcessor != null) { this.m_NextProcessor.init(context); } }
public void init(SimulationContext context) { this.m_context = context; this.m_AccessAction = context.ProcessorFactory.BuildAccessControlProcessor(); this.m_AccessAction.Exectue(this.m_context.DataManager.SimulationCarrierList); this.m_VoipAccessDispatch.init(this.m_context.DataManager.SimulationCarrierList); if (this.m_nextProc != null) { this.m_nextProc.init(context); } }
public void init(SimulationContext context) { this.m_context = context; if (SimulationConstant.FDD_ON) { this.m_PuschMeasure = context.ProcessorFactory.BuildPUSCHMeasure(); } if (this.m_NextProcessor != null) { this.m_NextProcessor.init(context); } }
private void InitUsersMIMOClutterGain(List<ISimulationUser> users, SimulationContext context) { foreach (SimulationUser user in users) { LTETerminal terminal = user.LTEUser.Terminal.NetTerminalList[0] as LTETerminal; if (user.LTEUser.LinkType == LinkType.Downlink) { user.IsSmSupported = terminal.DlSmSupported; } else { user.IsSmSupported = terminal.UlSmSupported; } UserManager.getInstance().IsUserAmsSupported(context.SimulationInfo.SubSysInterface, user); user.MIMOClutterGain = UserManager.getInstance().GetMIMOClutterGain(context.SimulationInfo.SubSysInterface, user, user.IsSmSupported); if (user.IsAmsSupported) { user.SfbcMimoClutterGain = UserManager.getInstance().GetMIMOClutterGain(context.SimulationInfo.SubSysInterface, user, false); } } }