private void StatisticStateUserNum(StatSimuUserResult user, StatSimuCarrierResult staSimulationCarrierResult) { FailReason failReason = user.FailReason; if (failReason == FailReason.Satisfied) { staSimulationCarrierResult.SatisfiedUserNum++; } else if (failReason == FailReason.DlRsSinrFail) { staSimulationCarrierResult.DlRsSinrFailUserNum++; } else { staSimulationCarrierResult.OfflineUserNum++; } }
private void StatisticStateUserNum(StatSimuUserResult user, StatSimuCarrierResult staSimulationCarrierResult) { FailReason failReason = user.FailReason; if (failReason == FailReason.Satisfied && !(user.UlAvgThroughput<user.ulMacMinThroughputdemand)) { staSimulationCarrierResult.SatisfiedUserNum++; } else if (failReason == FailReason.DlRsSinrFail) { staSimulationCarrierResult.DlRsSinrFailUserNum++; } else if (failReason == FailReason.UlRsSinrFail) { staSimulationCarrierResult.UlRsSinrFailUserNum++; } else { staSimulationCarrierResult.OfflineUserNum++; } }
private void getUserResult(User user, SnapShotStatData snapData, out StatSimuUserResult userResult, out StatSimuCarrierResult carrier) { userResult = null; carrier = null; if (user.Tag != null) { string tag = (string) user.Tag; carrier = this.GetStatSimuCarrierResultByName(snapData, tag); if (carrier == null) { throw new Exception(SimulationResource.SIMULATION_FIND_BESTSERVER_FAILED); } foreach (StatSimuUserResult result in carrier.StatSimuUserResultList) { if (user.Id == result.LTEUser.Id) { userResult = result; break; } } } else { userResult = new StatSimuUserResult(user); } }
private StatSimuUserResult StatisticUserData(SimulationUser user, int endStaTime, int beginStaTime, int accessTime, OtherSubSysInterface subSysInterface) { StatSimuUserResult result = new StatSimuUserResult(user.LTEUser); UnionPsService service = user.LTEUser.Service as UnionPsService; LTEService service2 = service.PSServiceDic[NetWorkType.LTE] as LTEService; if (user.LTEUser.LinkType == LinkType.Uplink) { result.UlServiceTime = this.CalculateUserServiceTime(user, SimulationConstant.UL_VIOCE_SERVICE_PERIOD); result.UlAvgThroughput = this.CalculateUserAvgThroughput(endStaTime, beginStaTime, accessTime, service2, user.UserUlTotalThroughput, user.VoicePacketSize); result.UlAppAvgThroughput = this.CalculateUserAvgThroughput(endStaTime, beginStaTime, accessTime, service2, user.UserUlAppTotalThroughput, user.VoicePacketSize - SimulationConstant.VOICE_MAC_TO_APP); result.TotalLoss = SimulationTools.ConvertLineTodB(user.CarrierListInComputeArea[0].UlTotalLoss); result.ulMacMinThroughputdemand = user.UlMacMinThroughputDemand; if (user.UlActualAveRate < user.UlMacMinThroughputDemand) { user.State = State.OffLine; user.FailReason = FailReason.CallDrop; } if (user.State == State.OffLine) { result.IsOffLine = true; } else { result.IsOffLine = false; } //result.IsOffLine = true; result.DLRsSinr = user.DlRsSinr; result.UeTxPower = user.WarmUpTotalUeTxPower / user.UlSinrCounter; result.DlRsrp = user.DlRsrp; result.PuschSinr = this.GetUserPuschSinr(user); result.UlMcsModulation = this.GetUlUserMcsModulation(user, result.PuschSinr); result.UlMcsEff = user.WarmUpTotalUlMcs / user.UlSinrCounter; } else { result.DlServiceTime = this.CalculateUserServiceTime(user, SimulationConstant.DL_VOICE_SERVICE_PERIOD); result.DlAvgThroughput = this.CalculateUserAvgThroughput(endStaTime, beginStaTime, accessTime, service2, user.UserDlTotalThroughput, user.VoicePacketSize); result.DlAppAvgThroughput = this.CalculateUserAvgThroughput(endStaTime, beginStaTime, accessTime, service2, user.UserDlAppTotalThroughput, user.VoicePacketSize - SimulationConstant.VOICE_MAC_TO_APP); result.TotalLoss = SimulationTools.ConvertLineTodB(user.CarrierListInComputeArea[0].DlTotalLoss); result.DLRsSinr = user.WarmUpTotalDlRsSinr / ((float) user.DlIoTCount); result.DlIot = user.DlIoT; result.PdschSinr = this.GetUserPdschSinr(user); result.DlMcsModulation = this.GetDlUserMcsModulation(user, result.PdschSinr); result.DlMcsEff = user.WarmUpTotalDlMcs / ((float) user.DlIoTCount); } result.DlIot = user.DlIoT; result.DlRsrp = user.DlRsrp; result.Geometry = user.Geometry; result.IsEdge = user.IsEdgeUser; result.UeTxPower = user.UeTxPower; result.MIMOType = this.GetUserMIMOType(user, subSysInterface); result.DLRsSinr = user.DlRsSinr; result.FailReason = user.FailReason; int num = Math.Max(beginStaTime, user.AccessTti); int num2 = (endStaTime - num) + 1; result.AvgUsedRbNum = ((float) user.UsedRbNum) / ((float) num2); return result; }
private List<DisplayUser> GetSymbolChangedNode(TreeNode snapShotNode, SnapShotStatData snapShotResult, string GroupName, string snapShotName) { DisplayUser user; string name = Enum.GetName(typeof(DisplayType), this.DT); string str2 = Enum.GetName(typeof(FieldType), this.FT); List<string> list = new List<string>(); List<DisplayUser> groupDisplayUser = new List<DisplayUser>(); foreach (StaSimuSiteResult result in snapShotResult.StatSimuSiteResultList) { foreach (StatSimuCarrierResult result2 in result.StatSimuCarrierResultList) { foreach (StatSimuUserResult result3 in result2.StatSimuUserResultList) { user = new DisplayUser(); user.LTEUser = result3; user.BestServer = result2.CarrierName; user.UserState = result3.FailReason.ToString(); groupDisplayUser.Add(user); } } } foreach (User user2 in snapShotResult.DlRsrpFailList) { user = new DisplayUser(); StatSimuUserResult result4 = new StatSimuUserResult(user2); user.LTEUser = result4; user.UserState = FailReason.DlRsrpFail.ToString(); user.BestServer = ""; groupDisplayUser.Add(user); } this.RebuildSnapshotNode(this.m_CurrentSetProperty, groupDisplayUser, snapShotNode); return groupDisplayUser; }