Vous êtes sur la page 1sur 5

#The formulas below are taken from the CPI DOCUMENT: 37/1553-HSC10550/1 and

47/1553-HSC10550/1.
#Also the document http://cdmweb.ericsson.se/WEBLINK/ViewDocs?DocumentName=EAB
%2FFJL-10%3A0850&Latest=true
#0) More information on formula syntax:
http://utran01.epa.ericsson.se/itkwiki/ViewWritersGuide/AppendixII
#1) Any text starting with a '#' is treated as a comment and discarded
#2) Each formula is split into the formula result variable name (part before the
'=' sign) and the formula expression (the part after the '=' sign).
#3) Any reference in the formula expression to a counter name of other formula name
is replaced by a perl variable reference
#4) The special names sum_<countername>, sum_time_<countername> and
sum_mo_<countername> are replaced by a perl reference to variable containing
counter aggregates
#5) Each formula expression is then evaluated using perl 'eval'. This means that
the syntax of the expressions is the same as that of perl - you can use any perl
operators & functions.
#6) The order in which the formulas are defined does not have any importance, a
formula can refer to other formulas defined further down in the file
#7) The formula names should not start with "pm"

# 2.1 Accessibility (EUtranCellFDD/TDD)


Acc_RrcConnSetupSuccRate = 100 * pmRrcConnEstabSucc / (pmRrcConnEstabAtt -
pmRrcConnEstabAttReatt)
Acc_S1SigEstabSuccRate = 100 * pmS1SigConnEstabSucc / pmS1SigConnEstabAtt
Acc_InitialErabSetupSuccRate = 100 * pmErabEstabSuccInit / pmErabEstabAttInit
Acc_InitialERabEstabSuccRate = Acc_RrcConnSetupSuccRate * Acc_S1SigEstabSuccRate *
Acc_InitialErabSetupSuccRate / 10000
Acc_AddedERabEstabSuccRate = 100 * pmErabEstabSuccAdded / pmErabEstabAttAdded
Acc_AddedERabEstabFailRateDueToMultipleLicense = 100 * pmErabEstabFailAddedLic /
pmErabEstabAttAdded
Acc_RrcConnSetupFailureRateDueToLackOfConnectedUsersLicense = 100 *
pmRrcConnEstabFailLic / pmRrcConnEstabAtt
Acc_RrcConnSetupRatioForMOData = 100 * pmRrcConnEstabAttMod/ pmRrcConnEstabAtt
Acc_RrcConnSetupRatioForMOSignalling = 100 * pmRrcConnEstabAttMos/
pmRrcConnEstabAtt
Acc_RrcConnSetupRatioForEmergency = 100 * pmRrcConnEstabAttEm/ pmRrcConnEstabAtt
Acc_RrcConnSetupRatioForMobileTerminating = 100 * pmRrcConnEstabAttMta/
pmRrcConnEstabAtt
Acc_RrcConnSetupRatioForHighPrioAccess = 100 * pmRrcConnEstabAttHpa/
pmRrcConnEstabAtt
Acc_InitialERabEstabFailureRateDueToMultipleLicense = 100 *
pmErabEstabFailInitLic / pmErabEstabAttInit
Acc_InitialUEContextEstabSuccRate = 100 * pmUeCtxtEstabSucc/ pmUeCtxtEstabAtt
Acc_PagingDiscardRate = 100 * pmPagDiscarded / pmPagReceived
Acc_RandomAccessDecodingRate = 100 * pmRaSuccCbra / pmRaAttCbra
Acc_RandomAccessMSG2Congestion = 100 * pmRaFailCbraMsg2Disc / pmRaAttCbra

# 2.2 Retainability (EUtranCellFDD/TDD)


Ret_ERabRelNormalENB = pmErabRelNormalEnbAct / pmSessionTimeUe
Ret_ERabRelMME = pmErabRelMmeAct/pmSessionTimeUe
Ret_ERabRelAbnormalENB = pmErabRelAbnormalEnbAct / pmSessionTimeUe
Ret_ERabRelAbnormalENBHoExec = pmErabRelAbnormalEnbActHo / pmSessionTimeUe
Ret_ERabRelAbnormalENBHoPrep = pmErabRelAbnormalEnbActHpr / pmSessionTimeUe
Ret_ERabRelAbnormalENBUeLost = pmErabRelAbnormalEnbActUeLost / pmSessionTimeUe
Ret_ERabRelAbnormalENBTnFail = pmErabRelAbnormalEnbActTnFail / pmSessionTimeUe
Ret_ERabRelAbnormalENBCdt = pmErabRelAbnormalEnbActCdt / pmSessionTimeUe
Ret_ErabRelAbnormal = Ret_ERabRelMME + Ret_ERabRelAbnormalENB
Ret_ERabRetainability = Ret_ERabRelAbnormalENB + Ret_ERabRelMME +
Ret_ERabRelNormalENB
Ret_MinPerDrop = 60 / Ret_ERabRetainability
Ret_ERabRetainabilityRate = 100 * (pmErabRelAbnormalEnbAct +
pmErabRelAbnormalMmeAct) / (pmErabRelMme + pmErabRelNormalEnb +
pmErabRelAbnormalEnb)

Ret_UeCtxtRelAbnormal = (pmUeCtxtRelAbnormalEnbAct + pmUeCtxtRelMmeAct) /


pmSessionTimeUe
Ret_UeCtxtRelAbnormal_2 = 100 * pmUeCtxtRelAbnormalEnbAct / (pmUeCtxtRelMme
+ pmUeCtxtRelNormalEnb + pmUeCtxtRelAbnormalEnb)
Ret_UeCtxtRelMME = pmUeCtxtRelMmeAct / pmSessionTimeUe
Ret_UeCtxtRelAbnormalENB = pmUeCtxtRelAbnormalEnbAct / pmSessionTimeUe
Ret_UeCtxtRelAbnormalENBHoExec = pmUeCtxtRelAbnormalEnbActHo / pmSessionTimeUe
Ret_UeCtxtRelAbnormalENBUeLost = pmUeCtxtRelAbnormalEnbActUeLost / pmSessionTimeUe
Ret_UeCtxtRelAbnormalENBTnFail = pmUeCtxtRelAbnormalEnbActTnFail / pmSessionTimeUe
Ret_UeCtxtRelAbnormalENBCdt = pmUeCtxtRelAbnormalEnbActCdt / pmSessionTimeUe

Ret_ERabDrop = 100 * (pmErabRelAbnormalEnbAct + pmErabRelMmeAct) /


(pmErabEstabSuccInit + pmErabEstabSuccAdded)
Ret_ERabDropENB = 100 * pmErabRelAbnormalEnbAct / (pmErabEstabSuccInit +
pmErabEstabSuccAdded)
Ret_ERabDropMME = 100 * pmErabRelMmeAct / (pmErabEstabSuccInit +
pmErabEstabSuccAdded)

#Ratio of UE Ctxt Drop per Handover failures pmUeCtxtRelAbnormalEnbActHo/


(pmHoExecAttLteIntraF - pmHoExecSuccLteIntraF) How many of the failed handovers
lead to a UE Context drop.
#Ratio of UE Context drops and Abnormal UE Context Releases
(pmUeCtxtRelAbnormalEnbAct+pmUeCtxtMmeAct)/(pmUeCtxtRelAbnormalEnb+pmUeCtxtMme)
#Ratio of eNB initated UE Context drops and Abnormal UE Context Releases
(pmUeCtxtRelAbnormalEnbAct)/(pmUeCtxtRelAbnormalEnb)
#Ratio of MME initated UE Context drops and Abnormal UE Context Releases
(pmUeCtxtMmeAct)/(pmUeCtxtMme)

# 2.3 Integrity (EUtranCellFDD/TDD)


Int_DlThroughput_kbps = 1000 * (pmPdcpVolDlDrb - pmPdcpVolDlDrbLastTTI +
pmPdcpVolDlDrbTransUm) / pmUeThpTimeDl
Int_UlThroughput_kbps = 1000 * pmUeThpVolUl / pmUeThpTimeUl
Int_DlLatency = pmPdcpLatTimeDl / pmPdcpLatPktTransDl
Int_DlPacketErrorLoss = 100 * (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlPelrUu +
pmPdcpPktDiscDlHo + pmPdcpPktDiscDlEth) / (pmPdcpPktReceivedDl - pmPdcpPktFwdDl +
pmPdcpPktDiscDlEth)
Int_UlPacketLoss = 100 * pmPdcpPktLostUl / ( pmPdcpPktLostUl +
pmPdcpPktReceivedUl)

Int_ActiveUEsDl = pmActiveUeDlSum / pmSchedActivityCellDl


Int_ActiveDRBsDl = pmActiveDrbDlSum / pmSchedActivityCellDl
Int_ActiveUEsUl = pmActiveUeUlSum / pmSchedActivityCellUl
Int_ActiveDRBsUl = pmActiveDrbUlSum / pmSchedActivityCellUl
Int_MacHarqDlSuccRate = 100 * (pmMacHarqDlAckQpsk +
pmMacHarqDlAck16qam + pmMacHarqDlAck64qam) / (pmMacHarqDlAckQpsk +
pmMacHarqDlNackQpsk + pmMacHarqDlAck16qam + pmMacHarqDlNack16qam +
pmMacHarqDlAck64qam + pmMacHarqDlNack64qam )
Int_MacHarqUlSuccRate = 100 * (pmMacHarqUlSuccQpsk +
pmMacHarqUlSucc16qam ) / (pmMacHarqUlSuccQpsk + pmMacHarqUlSucc16qam +
pmMacHarqUlFailQpsk + pmMacHarqUlFail16qam)
Int_RlcArqDlSuccRate = 100 * pmRlcArqDlAck / (pmRlcArqDlAck +
pmRlcArqDlNack)
Int_RlcArqUlSuccRate = 100 * pmRlcArqUlAck /
(pmRlcArqUlAck+pmRlcArqUlNack)
Int_DlRadioThroughput = pmRadioThpVolDl / pmRadioThpResDl
Int_UlRadioThroughput = pmRadioThpVolUl / pmRadioThpResUl
Int_DlRadioMeasCqiDistr = pmRadioUeRepCqiDistr
Int_DlRadioMeasTxRankDistr = pmRadioTxRankDistr
Int_DlRadioMeasUeReportedTxRankDistr = pmRadioUeRepRankDistr
Int_AverageDlRlcDelay = pmRlcDelayTimeDl / pmRlcDelayPktTransDl
Int_AverageDlMacDelay = pmMacDelayTimeDl / (pmMacHarqDlAckQpsk +
pmMacHarqDlAck16qam + pmMacHarqDlAck64qam)
Int_DlPacketLossDueToHo = pmPdcpPktDiscDlHo/ pmPdcpPktReceivedDl
Int_RadioRecInterferencePwr_fW = WeightedAverage(pmRadioRecInterferencePwr,
[0.39716,0.89716,1.12946,1.42191,1.79008,2.25357,2.83708,3.57167,4.49647,5.66072,11
.07925,27.82982,69.90536,175.59432,441.07,1107.92])
Int_RadioRecInterferencePwr = 10*log10(Int_RadioRecInterferencePwr_fW /
1000000000000)
Int_RadioRecInterferencePucchPwr_fW =
WeightedAverage(pmRadioRecInterferencePwrPucch,
[0.39716,0.89716,1.12946,1.42191,1.79008,2.25357,2.83708,3.57167,4.49647,5.66072,11
.07925,27.82982,69.90536,175.59432,441.07,1107.92])
Int_RadioRecInterferencePucchPwr = 10*log10(Int_RadioRecInterferencePucchPwr_fW /
1000000000000)

#Packet Error Loss rate in RLC/PDCP for packets where no transmission have started
pmPdcpPktDiscDlPelr/ pmPdcpPktReceivedDl
#Packet Uu Loss rate in RLC/PDCP for packets where transmission have started
pmPdcpPktDiscDlPelrUu/ pmPdcpPktReceivedDl
#UL radio measurement, N+I distribution pmRadioRecInterferencePwr
#UL radio measurement, Power restriction ratio for uplink transport blocks
pmRadioTbsPwrRestricted /pmRadioTbsPwrUnrestricted

# 2.4 Mobility (EUtranRelation)


Mob_HoPrepSuccRate = 100 * (pmHoPrepSuccLteIntraF + pmHoPrepSuccLteInterF) /
(pmHoPrepAttLteIntraF + pmHoPrepAttLteInterF)
Mob_HoExecSuccRate = 100 * (pmHoExeSuccLteIntraF + pmHoExeSuccLteInterF) /
(pmHoExeAttLteIntraF + pmHoExeAttLteInterF)
Mob_MobilitySuccRate = Mob_HoPrepSuccRate * Mob_HoExecSuccRate / 100
Mob_HoPrepRejInLicConnUsers = pmHoPrepRejInLicConnUsers
Mob_HoPrepRejInLicMob = pmHoPrepRejInLicMob
Mob_HoPrepRejInLicMultiErab = pmHoPrepRejInLicMultiErab
Mob_AnrNeighbrelAdd = pmAnrNeighbrelAdd
Mob_AnrNeighbrelRemove = pmAnrNeighbrelRem
Mob_SessionContinuityRel = pmUeCtxtRelSCCdma + pmUeCtxtRelSCEUtra +
pmUeCtxtRelSCWcdma
#Mob_RatioOfReceivedMeasurementReportsThatLeadToHandoverPreparation =
pmBestCellEvalReport / pmHoPrepAttLteIntraF

Mob_IRAT_Redirect = 100 * (pmUeCtxtRelSCCdma + pmUeCtxtRelSCGsm +


pmUeCtxtRelSCWcdma) / pmUeCtxtEstabSucc

# 2.5 Availability (EUtranCellFDD/TDD)


Av_CellAvail = 100 * ( 900 - ( pmCellDowntimeAuto + pmCellDowntimeMan ) ) / 900
Av_CellDownMan = 100 * pmCellDowntimeMan / 900
Av_CellDownAuto = 100 * pmCellDowntimeAuto / 900

# Resource usage
Res_AvgNrOfRrcConnectedUsers = pmRrcConnLevSum / pmRrcConnLevSamp
Res_PeakNrOfRrcConnectedUsers = pmRrcConnMax / pmRopCounter
Res_LicConnectedUsersDistr = pmLicConnectedUsersDistr
Res_AverageLicConnectedUsers = pmLicConnectedUsersActual
Res_TimeCongestionLicConnectedUsers = pmLicConnectedUsersTimeCong
Res_LicConnectedUsersCapacityRatio = pmLicConnectedUsersLicense /
pmLicConnectedUsersHardLimit
#Res_AvgDlVolPerCell = (pmPdcpVolDlDrb + pmPdcpVolDlSrb) / M
#Res_AvgDlVolPerCell = (pmPdcpVolUlDrb + pmPdcpVolUlSrb) / M
#Res_AvgNrERabs = pmErabLevSum / pmErabLevSamp
#Res_AvgUeSessionTime = pmSessionTimeUe / M
#Res_AvgDrbSessionTime = pmSessionTimeDrb / M

# Other
Oth_RrcSecFailIntegrity = pmRrcSecFailIntegrity
Oth_RrcSecFailUnexptectedMsg = pmRrcSecFailUnexpectedMsg
Oth_DrbVsUeSessionTimeRatio = pmSessionTimeDrb / pmSessionTimeUe
Oth_Msg3RachRrcConsistencyCheck = pmRrcConnEstabAtt / pmRaSuccCbra
Oth_UeCtxtEstablishmentAndReleaseConsistency = (pmUeCtxtRelMme +
pmUeCtxtRelNormalEnb + pmUeCtxtRelAbnormalEnb + pmUeCtxtRelSCCdma +
pmUeCtxtRelSCEUtra + pmUeCtxtRelSCWcdma) / pmUeCtxtEstabSucc

# IP TransportNetwork
Ip_GigaPortIn = 8 * ((pmIfInOctetsLink1Hi* 2147483648 + pmIfInOctetsLink1Lo +
pmIfInOctetsLink2Hi * 2147483648 + pmIfInOctetsLink2Lo ) / (pmRopCounter * 900 *
1000000 ))
Ip_GigaPortOut = 8 * ((pmIfOutOctetsLink1Hi* 2147483648 + pmIfOutOctetsLink1Lo +
pmIfOutOctetsLink2Hi * 2147483648 + pmIfOutOctetsLink2Lo ) / (pmRopCounter * 900 *
1000000 ))
Ip_GigaPortTot = Ip_GigaPortIn + Ip_GigaPortOut
Ip_SctpPacketLossRatio = 100 * pmSctpStatRetransChunks / (pmSctpStatSentChunks +
pmSctpStatRetransChunks)

#Note: pmRopCounter can only be used on reports that are aggregated on


ManagedElement
#From 44/1553-HSC 105 50/1 :
Ip_IpLayerMbpsOut = 8 * pmIpIfStatsHCOutOctets / (1000000 * 900)
Ip_IpLayerMbpsIn = 8 * pmIpIfStatsHCInOctets / (1000000 * 900)
Ip_EthLayerMbpsOut = (8 * pmIpIfStatsHCOutOctets + 336 * pmIpIfStatsHCOutTransmits)
/ (1000000 * 900)
Ip_EthLayerMbpsIn = (8 * pmIpIfStatsHCInOctets + 336 * pmIpIfStatsHCInReceives) /
(1000000 * 900)

#Ret_ErabDrop per QCI


De_ErabRelAbnormalEnbActQci = decompressArray(pmErabRelAbnormalEnbActQci)
De_ErabRelAbnormalEnbQci = decompressArray(pmErabRelAbnormalEnbQci)
De_ErabRelAbnormalMmeActQci = decompressArray(pmErabRelAbnormalMmeActQci)
De_ErabRelMmeQci = decompressArray(pmErabRelMmeQci)
De_ErabRelNormalEnbQci = decompressArray(pmErabRelNormalEnbQci)
Ret_ERabDrop_Qci_0 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[0] +
@{De_ErabRelAbnormalEnbQci}[0] ) / ( @{De_ErabRelAbnormalMmeActQci}[0] +
@{De_ErabRelMmeQci}[0] + @{De_ErabRelNormalEnbQci}[0] )
Ret_ERabDrop_Qci_1 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[1] +
@{De_ErabRelAbnormalEnbQci}[1] ) / ( @{De_ErabRelAbnormalMmeActQci}[1] +
@{De_ErabRelMmeQci}[1] + @{De_ErabRelNormalEnbQci}[1] )
Ret_ERabDrop_Qci_2 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[2] +
@{De_ErabRelAbnormalEnbQci}[2] ) / ( @{De_ErabRelAbnormalMmeActQci}[2] +
@{De_ErabRelMmeQci}[2] + @{De_ErabRelNormalEnbQci}[2] )
Ret_ERabDrop_Qci_3 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[3] +
@{De_ErabRelAbnormalEnbQci}[3] ) / ( @{De_ErabRelAbnormalMmeActQci}[3] +
@{De_ErabRelMmeQci}[3] + @{De_ErabRelNormalEnbQci}[3] )
Ret_ERabDrop_Qci_4 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[4] +
@{De_ErabRelAbnormalEnbQci}[4] ) / ( @{De_ErabRelAbnormalMmeActQci}[4] +
@{De_ErabRelMmeQci}[4] + @{De_ErabRelNormalEnbQci}[4] )
Ret_ERabDrop_Qci_5 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[5] +
@{De_ErabRelAbnormalEnbQci}[5] ) / ( @{De_ErabRelAbnormalMmeActQci}[5] +
@{De_ErabRelMmeQci}[5] + @{De_ErabRelNormalEnbQci}[5] )
Ret_ERabDrop_Qci_6 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[6] +
@{De_ErabRelAbnormalEnbQci}[6] ) / ( @{De_ErabRelAbnormalMmeActQci}[6] +
@{De_ErabRelMmeQci}[6] + @{De_ErabRelNormalEnbQci}[6] )
Ret_ERabDrop_Qci_7 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[7] +
@{De_ErabRelAbnormalEnbQci}[7] ) / ( @{De_ErabRelAbnormalMmeActQci}[7] +
@{De_ErabRelMmeQci}[7] + @{De_ErabRelNormalEnbQci}[7] )
Ret_ERabDrop_Qci_8 = 100 * ( @{De_ErabRelAbnormalEnbActQci}[8] +
@{De_ErabRelAbnormalEnbQci}[8] ) / ( @{De_ErabRelAbnormalMmeActQci}[8] +
@{De_ErabRelMmeQci}[8] + @{De_ErabRelNormalEnbQci}[8] )

Vous aimerez peut-être aussi