Example #1
0
 //add by zy
 private void StatisticRelayUsers(List<SimulationUser> relayUsers, List<StatSimuUserResult> userResult, StaSimulationUser statisticProcessor)
 {
     foreach (SimulationUser user in relayUsers)
     {
         userResult.Add(statisticProcessor.StatisticRelayUserData(user));
     }
 }
Example #2
0
        public List<StatSimuCarrierResult> Statistic(int beginStaTime, int endStaTime, List<ISimulationCarrier> simulationCarrierList, OtherSubSysInterface subSysInterface)
        {
            List<StatSimuCarrierResult> list = new List<StatSimuCarrierResult>();
            StaSimulationUser statisticProcessor = new StaSimulationUser();
            foreach (SimulationCarrier carrier in simulationCarrierList)
            {
                int num = (endStaTime - beginStaTime) + 1;
                StatSimuCarrierResult staSimulationCarrierResult = new StatSimuCarrierResult();
                staSimulationCarrierResult.TxPower = SimulationTools.ConvertLineTodB(this.CalculateAvgTxPower(beginStaTime, endStaTime, carrier));
                staSimulationCarrierResult.UlScheduleUserNum = ((float) carrier.UlWarmupTotalScheduleUserNum) / ((float) ((endStaTime - beginStaTime) + 1));
                staSimulationCarrierResult.UlAvgVMIMOUsedRbRate = (((float) carrier.UlWarmupTotalVMIMOUsedRB) / ((float) num)) / ((float) carrier.PuschRbNum);
                staSimulationCarrierResult.UlIoT = carrier.UlIoT;
                staSimulationCarrierResult.UlAvgUsedRbNum = this.CalculateUlAvgUsedRbNum(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.DlAvgUsedRbNum = this.CalculateDlAvgUsedRbNum(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.UlAvgLoad = this.CalculateUlAvgLoad(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.DlAvgLoad = this.CalculateDlAvgLoad(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.UlAvgThroughput = this.CalculateUlCarrierAvgThroughput(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.DlAvgThroughput = this.CalculateDlCarrierThroughput(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.UlAppAvgThroughput = carrier.WarmupTotalTh.UlAppThroughput / ((float) num);
                staSimulationCarrierResult.DlAppAvgThroughput = carrier.WarmupTotalTh.DlAppThroughput / ((float) num);
                staSimulationCarrierResult.DlPeakThroughput = carrier.CarrierPeakThr.DlMacThroughput;
                staSimulationCarrierResult.UlPeakThroughput = carrier.CarrierPeakThr.UlMacThroughput;
                staSimulationCarrierResult.DlPeakAplThroughput = carrier.CarrierPeakThr.DlAppThroughput;
                staSimulationCarrierResult.UlPeakAplThroughput = carrier.CarrierPeakThr.UlAppThroughput;
                //add by zy 2011.04.28
                staSimulationCarrierResult.UlBackhaulThroughput = this.CalculateUlBackhualAvgThroughput(beginStaTime, endStaTime, carrier);
                staSimulationCarrierResult.DlBackhaulThroughput = this.CalculateDlBackhualAvgThroughput(beginStaTime, endStaTime, carrier);
                //add by zy 2011.5.11
                //staSimulationCarrierResult.UlBackhaulAppThroughput = this.CalculateUlBackhualAppAvgThroughput(beginStaTime, endStaTime, carrier);
                //staSimulationCarrierResult.DlBackhaulAppThroughput = this.CalculateDlBackhualAppAvgThroughput(beginStaTime, endStaTime, carrier);

                staSimulationCarrierResult.ServicePeakThDic = carrier.ServicePeakThDic;
                staSimulationCarrierResult.ServiceAvgThDic.Clear();
                foreach (string str in carrier.ServiceWarmUpTotalThDic.Keys)
                {
                    float ulmac = carrier.ServiceWarmUpTotalThDic[str].UlMacThroughput / ((float) num);
                    float dlmac = carrier.ServiceWarmUpTotalThDic[str].DlMacThroughput / ((float) num);
                    float ulapl = carrier.ServiceWarmUpTotalThDic[str].UlAppThroughput / ((float) num);
                    float dlapl = carrier.ServiceWarmUpTotalThDic[str].DlAppThroughput / ((float) num);
                    ThroughputGroup group = new ThroughputGroup(ulmac, dlmac, ulapl, dlapl);
                    staSimulationCarrierResult.ServiceAvgThDic.Add(str, group);
                }
                staSimulationCarrierResult.UlScheduleTh = (carrier.UlScheduleTh * 1000f) / ((float) ((endStaTime - beginStaTime) + 1));
                staSimulationCarrierResult.CarrierID = carrier.Carrier.ID;
                staSimulationCarrierResult.CellName = SimulationTools.GetTransName(carrier);
                staSimulationCarrierResult.CarrierName = carrier.Carrier.Name;
                List<StatSimuUserResult> userResult = new List<StatSimuUserResult>();
                this.UpdateUserFailReason(carrier.DlUserList);
                this.UpdateUserFailReason(carrier.UlUserList);
                this.StatisticUsers(carrier.DlUserList, userResult, statisticProcessor, beginStaTime, endStaTime, subSysInterface);
                this.StatisticUsers(carrier.UlUserList, userResult, statisticProcessor, beginStaTime, endStaTime, subSysInterface);
                this.StatisticUsers(carrier.FailUserList, userResult, statisticProcessor, beginStaTime, endStaTime, subSysInterface);
                //add by zy
                this.StatisticRelayUsers(carrier.UlRelayUserList, userResult, statisticProcessor);
                this.StatisticRelayUsers(carrier.DlRelayUserList, userResult, statisticProcessor);
                staSimulationCarrierResult.StatSimuUserResultList = userResult;
                this.StatisticStateUserNum(userResult, staSimulationCarrierResult);
                list.Add(staSimulationCarrierResult);
            }
            return list;
        }
Example #3
0
 private void StatisticUsers(List<ISimulationUser> users, List<StatSimuUserResult> userResult, StaSimulationUser statisticProcessor, int beginStaTime, int endStaTime, OtherSubSysInterface subSysInterface)
 {
     foreach (SimulationUser user in users)
     {
         userResult.Add(statisticProcessor.Statistic(beginStaTime, endStaTime, user, subSysInterface));
     }
 }