示例#1
0
 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++;
     }
 }
示例#2
0
 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++;
     }
 }
示例#3
0
 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);
     }
 }
示例#4
0
 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;
 }
示例#5
0
 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;
 }