#The formulas below are taken from the CPI DOCUMENT: 37/1553-HSC10550/1 and 47/1 553-HSC10550/1. #Also the document http://cdmweb.ericsson.se/WEBLINK/ViewDocs?DocumentName=EAB%2 FFJL-10%3A0850&Latest=true #0) More information on formula syntax: http://utran01.epa.ericsson.se/itkwiki/V iewWritersGuide/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 n ame is replaced by a perl variable reference #4) The special names sum_<countername>, sum_time_<countername> and sum_mo_<coun tername> are replaced by a perl reference to variable containing counter aggrega tes #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 per l 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 - pmRrc ConnEstabAttReatt) 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 * pmRrcConnEst abFailLic / pmRrcConnEstabAtt Acc_RrcConnSetupRatioForMOData = 100 * pmRrcConnEstabAttMod/ pmRrcConnEstabAtt Acc_RrcConnSetupRatioForMOSignalling = 100 * pmRrcConnEstabAttMos/ pmRrcConnEsta bAtt Acc_RrcConnSetupRatioForEmergency = 100 * pmRrcConnEstabAttEm/ pmRrcConnEstabAtt Acc_RrcConnSetupRatioForMobileTerminating = 100 * pmRrcConnEstabAttMta/ pmRrcCon nEstabAtt Acc_RrcConnSetupRatioForHighPrioAccess = 100 * pmRrcConnEstabAttHpa/ pmRrcConnEs tabAtt Acc_InitialERabEstabFailureRateDueToMultipleLicense = 100 * pmErabEstabFailInitL ic / 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_ERa bRelNormalENB Ret_MinPerDrop = 60 / Ret_ERabRetainability Ret_UeCtxtRelAbnormal = (pmUeCtxtRelAbnormalEnbAct + pmUeCtxtRelMmeAct) / pmSessionTimeUe Ret_UeCtxtRelAbnormal_2 = 100 * pmUeCtxtRelAbnormalEnbAct / (pmUeCtxtRelM me + pmUeCtxtRelNormalEnb + pmUeCtxtRelAbnormalEnb) Ret_UeCtxtRelMME = pmUeCtxtRelMmeAct / pmSessionTimeUe Ret_UeCtxtRelAbnormalENB = pmUeCtxtRelAbnormalEnbAct / pmSessionTimeUe Ret_UeCtxtRelAbnormalENBHoExec = pmUeCtxtRelAbnormalEnbActHo / pmSessionTimeUe Ret_UeCtxtRelAbnormalENBUeLost = pmUeCtxtRelAbnormalEnbActUeLost / pmSessionTime Ue Ret_UeCtxtRelAbnormalENBTnFail = pmUeCtxtRelAbnormalEnbActTnFail / pmSessionTime Ue Ret_UeCtxtRelAbnormalENBCdt = pmUeCtxtRelAbnormalEnbActCdt / pmSessionTimeUe Ret_ERabDrop = 100 * (pmErabRelAbnormalEnbAct + pmErabRelMmeAct) / (pmErabEstabS uccInit + pmErabEstabSuccAdded) Ret_ERabDropENB = 100 * pmErabRelAbnormalEnbAct / (pmErabEstabSuccInit + pmErabE stabSuccAdded) Ret_ERabDropMME = 100 * pmErabRelMmeAct / (pmErabEstabSuccInit + pmErabEstabSucc Added) #Ratio of UE Ctxt Drop per Handover failures pmUeCtxtRelAbnormalEnbActHo/(pmHoEx ecAttLteIntraF - pmHoExecSuccLteIntraF) How many of the failed handovers lead to a UE Context drop. #Ratio of UE Context drops and Abnormal UE Context Releases (pmUeCtxtRelAbnorma lEnbAct+pmUeCtxtMmeAct)/(pmUeCtxtRelAbnormalEnb+pmUeCtxtMme) #Ratio of eNB initated UE Context drops and Abnormal UE Context Releases (pmUeC txtRelAbnormalEnbAct)/(pmUeCtxtRelAbnormalEnb) #Ratio of MME initated UE Context drops and Abnormal UE Context Releases (pmUeC txtMmeAct)/(pmUeCtxtMme) # 2.3 Integrity (EUtranCellFDD/TDD) Int_DlThroughput_kbps = 1000 * (pmPdcpVolDlDrb - pmPdcpVolDlDrbLastTTI + pm PdcpVolDlDrbTransUm) / pmUeThpTimeDl Int_UlThroughput_kbps = 1000 * pmUeThpVolUl / pmUeThpTimeUl Int_DlLatency = pmPdcpLatTimeDl / pmPdcpLatPktTransDl Int_DlPacketErrorLoss = 100 * (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlPelrUu + pmP dcpPktDiscDlHo + pmPdcpPktDiscDlEth) / (pmPdcpPktReceivedDl - pmPdcpPktFwdDl + p mPdcpPktDiscDlEth) Int_UlPacketLoss = 100 * pmPdcpPktLostUl / ( pmPdcpPktLostUl + pmPdcpPktRec eivedUl) Int_ActiveUEsDl = pmActiveUeDlSum / pmSchedActivityCellDl Int_ActiveDRBsDl = pmActiveDrbDlSum / pmSchedActivityCellDl Int_ActiveUEsUl = pmActiveUeUlSum / pmSchedActivityCellUl Int_ActiveDRBsUl = pmActiveDrbUlSum / pmSchedActivityCellUl Int_RlcArqDlSuccRate = pmRlcArqDlAck / pmRlcArqDlNack Int_MacHarqDlSuccRate = (pmMacHarqDlAckQpsk + pmMacHarqDlAck16qam + pmMacHarqDlAck64qam) / (pmMacHarqDlDtxQpsk + pmMacHarqDlDtx16qam + pmMacHarqD lDtx64qam + pmMacHarqDlNackQpsk + pmMacHarqDlNack16qam + pmMacHarqDlNack64qam ) Int_RlcArqUlSuccRate = pmRlcArqUlAck / pmRlcArqUlNack Int_MacHarqUlSuccRate = (pmMacHarqUlSuccQpsk + pmMacHarqUlSucc16q am ) / (pmMacHarqUlDtxQpsk + pmMacHarqUlDtx16qam + pmMacHarqUlFailQpsk + pmMacHa rqUlFail16qam) 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 = WeightedAverage(pmRadioRecInterferencePwr ,[-121,-120.5,-119.5,-118.5,-117.5,-116.5,-115.5,-114.5,-113.5,-112.5,-110,-106, -102,-98,-94,-92]) Int_RadioRecInterferencePucchPwr = WeightedAverage(pmRadioRecInterferencePwr Pucch,[-121,-120.5,-119.5,-118.5,-117.5,-116.5,-115.5,-114.5,-113.5,-112.5,-110, -106,-102,-98,-94,-92]) #Packet Error Loss rate in RLC/PDCP for packets where no transmission have start ed 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 pmR adioTbsPwrRestricted /pmRadioTbsPwrUnrestricted # 2.4 Mobility (EUtranRelation) Mob_HoPrepSuccRate = 100 * (pmHoPrepSuccLteIntraF + pmHoPrepSuccLteInterF) / ( pmHoPrepAttLteIntraF + pmHoPrepAttLteInterF) Mob_HoExecSuccRate = 100 * (pmHoExeSuccLteIntraF + pmHoExeSuccLteInterF) / (pm HoExeAttLteIntraF + 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 + pmUeCtxtRelS CWcdma #Mob_RatioOfReceivedMeasurementReportsThatLeadToHandoverPreparation = pmBestCell EvalReport / pmHoPrepAttLteIntraF Mob_IRAT_Redirect = 100 * (pmUeCtxtRelSCCdma + pmUeCtxtRelSCGsm + pmUeCtxtRelSCW cdma) / 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 / pmLicConnected UsersHardLimit #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 + pmUeCtxtRelNorm alEnb + pmUeCtxtRelAbnormalEnb + pmUeCtxtRelSCCdma + pmUeCtxtRelSCEUtra + pmUeC txtRelSCWcdma) / pmUeCtxtEstabSucc # IP TransportNetwork Ip_GigaPortIn = 8 * ((pmIfInOctetsLink1Hi* 2147483648 + pmIfInOctetsLink1Lo + p mIfInOctetsLink2Hi * 2147483648 + pmIfInOctetsLink2Lo ) / (pmRopCounter * 900 * 1000000 )) Ip_GigaPortOut = 8 * ((pmIfOutOctetsLink1Hi* 2147483648 + pmIfOutOctetsLink1Lo + pmIfOutOctetsLink2Hi * 2147483648 + pmIfOutOctetsLink2Lo ) / (pmRopCounter * 90 0 * 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 ManagedEl ement #From 44/1553-HSC 105 50/1 : Ip_IpLayerMbpsOut = 8 * pmIpIfStatsHCOutOctets / (1000000 * 900) Ip_IpLayerMbpsIn = 8 * pmIpIfStatsHCInOctets / (1000000 * 900) Ip_EthLayerMbpsOut = (8 * pmIpIfStatsHCOutOctets + 336 * pmIpIfStatsHCOutTransmi ts) / (1000000 * 900) Ip_EthLayerMbpsIn = (8 * pmIpIfStatsHCInOctets + 336 * pmIpIfStatsHCInReceives) / (1000000 * 900)