You are on page 1of 5

#The formulas below are taken from the CPI DOCUMENT: RADIO NETWORK KPI 120/1553-

HSD 101 02/7


#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:
# - sum_<countername>: Returns the sum of counter 'name' across the time and
object domains.
# - sum_time_<countername>: Returns the sum of counter 'name' across the
object domain for the current time.
# - sum_mo_<countername>: Returns the sum of counter or field 'name' across
the time domain for the current MO.
#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"

#LTE_Overlay_Monitoring
00Avail_d = 100 - ((100*pmCellDowntimeAuto)/86400)
00Avail_h = 100 - ((100*pmCellDowntimeAuto)/3600)
00Avail_r = 100 - ((100*pmCellDowntimeAuto)/900)
01RRCSR = 100*(pmRrcConnEstabSucc/(pmRrcConnEstabAtt-pmRrcConnEstabAttReatt))
02ERSR = 100 *
(pmErabEstabSuccInit+pmErabEstabSuccAdded)/(pmErabEstabAttInit+pmErabEstabAttAdded)
03CSSRV2 = 100*(pmRrcConnEstabSucc/(pmRrcConnEstabAtt-
pmRrcConnEstabAttReAtt))*(pmS1SigConnEstabSucc/pmS1SigConnEstabAtt)*(pmErabEstabSuc
cInit+pmErabEstabSuccAdded)/(pmErabEstabAttInit+pmErabEstabAttAdded)
04SDRV2 =
100*(pmErabRelAbnormalEnbAct+pmErabRelAbnormalMmeAct)/(pmErabRelAbnormalEnb+pmErabR
elNormalEnb+pmErabRelMme)
05IntraHo = 100*(pmHoExeSuccLteIntraF/pmHoExeAttLteIntraF)
06InterHo = 100*(pmHoExeSuccLteInterF/pmHoExeAttLteInterF)
07CSFB = pmUeCtxtRelCsfbWcdma + pmUeCtxtRelCsfbWcdmaEm +pmUeCtxtRelCsfbGsm +
pmUeCtxtRelCsfbGsmEm
08UserDLThp = (pmPdcpVolDlDrb-pmPdcpVolDlDrbLastTTI)/(pmUeThpTimeDl/1000)
09CellDLThp = pmPdcpVolDlDrb/(pmSchedActivityCellDl/1000)
10UserULThp = pmUeThpVolUl/(pmUeThpTimeUl/1000)
11CellULThp = pmPdcpVolUlDrb/(pmSchedActivityCellUl/1000)
12DLPay = pmPdcpVolDlDrb *1000 /(8*1024*1024)
13ULPay = pmPdcpVolUlDrb *1000/(8*1024*1024)
14DlPRB = WeightedAverage(pmPrbUtilDl,[10,20,30,40,50,60,70,80,90,100])
15UlPRB = WeightedAverage(pmPrbUtilUl,[10,20,30,40,50,60,70,80,90,100])
16SSSR = 01RRCSR*02ERSR/100
17AvUNo = ( pmLicConnectedUsersLevSum / pmLicConnectedUsersLevSamp )
CQIa=(Sum(pmRadioUeRepCqiDistr,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]))
CQIb=(pmRadioUeRepCqiDistr,[0])+(pmRadioUeRepCqiDistr,[1])+(pmRadioUeRepCqiDistr,
[2])+(pmRadioUeRepCqiDistr,[3])+(pmRadioUeRepCqiDistr,[4])+(pmRadioUeRepCqiDistr,
[5])+(pmRadioUeRepCqiDistr,[6])+(pmRadioUeRepCqiDistr,[7])+(pmRadioUeRepCqiDistr,
[8])+(pmRadioUeRepCqiDistr,[9])+(pmRadioUeRepCqiDistr,[10])+(pmRadioUeRepCqiDistr,
[11])+(pmRadioUeRepCqiDistr,[12])+(pmRadioUeRepCqiDistr,[13])+
(pmRadioUeRepCqiDistr,[14])+(pmRadioUeRepCqiDistr,[15])
16CQI = WeightedAverage(pmRadioUeRepCqiDistr,
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
CQI10 = (100*(pmRadioUeRepCqiDistr_07 + pmRadioUeRepCqiDistr_08 +
pmRadioUeRepCqiDistr_09 + pmRadioUeRepCqiDistr_10 + pmRadioUeRepCqiDistr_11 +
pmRadioUeRepCqiDistr_12 + pmRadioUeRepCqiDistr_13 + pmRadioUeRepCqiDistr_14 +
pmRadioUeRepCqiDistr_15 + pmRadioHomUeRepCqiDistr_04 + pmRadioHomUeRepCqiDistr_05 +
pmRadioHomUeRepCqiDistr_06 + pmRadioHomUeRepCqiDistr_07 +
pmRadioHomUeRepCqiDistr_08 + pmRadioHomUeRepCqiDistr_09 +
pmRadioHomUeRepCqiDistr_10 + pmRadioHomUeRepCqiDistr_11 +
pmRadioHomUeRepCqiDistr_12 + pmRadioHomUeRepCqiDistr_13 +
pmRadioHomUeRepCqiDistr_14 + pmRadioHomUeRepCqiDistr_15) / (pmRadioUeRepCqiDistr_00
+ pmRadioUeRepCqiDistr_01 + pmRadioUeRepCqiDistr_02 + pmRadioUeRepCqiDistr_03 +
pmRadioUeRepCqiDistr_04 + pmRadioUeRepCqiDistr_05 + pmRadioUeRepCqiDistr_06 +
pmRadioUeRepCqiDistr_07 + pmRadioUeRepCqiDistr_08 + pmRadioUeRepCqiDistr_09 +
pmRadioUeRepCqiDistr_10 + pmRadioUeRepCqiDistr_11 + pmRadioUeRepCqiDistr_12 +
pmRadioUeRepCqiDistr_13 + pmRadioUeRepCqiDistr_14 + pmRadioUeRepCqiDistr_15 +
pmRadioHomUeRepCqiDistr_00 + pmRadioHomUeRepCqiDistr_01 +
pmRadioHomUeRepCqiDistr_02 + pmRadioHomUeRepCqiDistr_03 +
pmRadioHomUeRepCqiDistr_04 + pmRadioHomUeRepCqiDistr_05 +
pmRadioHomUeRepCqiDistr_06 + pmRadioHomUeRepCqiDistr_07 +
pmRadioHomUeRepCqiDistr_08 + pmRadioHomUeRepCqiDistr_09 +
pmRadioHomUeRepCqiDistr_10 + pmRadioHomUeRepCqiDistr_11 +
pmRadioHomUeRepCqiDistr_12 + pmRadioHomUeRepCqiDistr_13 +
pmRadioHomUeRepCqiDistr_14 + pmRadioHomUeRepCqiDistr_15))
CQI7 =
WeightedAverage(100*(pmRadioUeRepCqiDistr,[10,11,12,13,14,15])/(pmRadioUeRepCqiDist
r,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))
CQI7A=(100*((pmRadioUeRepCqiDistr,[7,8,9,10,11,12,13,14,15])+
(pmRadioHomUeRepCqiDistr,[4,5,6,7,8,9,10,11,12,13,14,15]))/((pmRadioUeRepCqiDistr,
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])+(pmRadioHomUeRepCqiDistr,
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])))
WeightFailed=(100-(05IntraHo))*(pmHoExeAttLteIntraF-pmHoExeSuccLteIntraF)
FailedHO=pmHoExeAttLteIntraF-pmHoExeSuccLteIntraF
HoPrep = 100*(pmHoPrepSuccLteIntraF/pmHoPrepAttLteIntraF)
Maximum_UserNumber_RRC = pmRrcConnMax
Active_User_DL = pmActiveUeDlSum / pmSchedActivityCellDl
Active_User_UL = pmActiveUeUlSum / pmSchedActivityCellUl
Avg_NumSim_ERAB = pmErabLevSum / pmErabLevSamp
17SpEff=((pmPdcpVolDlSrbTrans+pmPdcpVolDlDrb)*1000)/
((pmPrbUsedDlDtch+pmPrbUsedDlSrbFirstTrans)*180)

##ADD LTE
ERSR_V1 = 100*(pmErabEstabSuccInit/pmErabEstabAttInit)
SDR_V1 = 100*((pmErabRelAbnormalEnbAct)/(pmErabRelAbnormalEnb+pmErabRelNormalEnb))
IRATEtoW = 100 *
((pmHoPrepSuccWcdma/pmHoPrepAttWcdma)*(pmHoExeSuccWcdma/pmHoExeAttWcdma))
IRATEtoG = 100 * ((pmHoPrepSucc/pmHoPrepAtt)*(pmHoExeSucc/pmHoExeAtt))
MacHarqDlSuccRate256 = 100 * ( pmMacHarqDlAck256qam / ( pmMacHarqDlAck256qam +
pmMacHarqDlNack256qam ))
Int_RadioRecInterferencePucchPwr_fW =
WeightedAverage(pmRadioRecInterferencePwrPucch,
[0.79432,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,630.95])
IntPucch = 10*log10(Int_RadioRecInterferencePucchPwr_fW / 1000000000000)
SDR = 100 * (pmErabRelAbnormalEnbAct+pmErabRelAbnormalMmeAct-
pmErabRelMmeActEutra) /(pmErabRelAbnormalEnb+pmErabRelNormalEnb+pmErabRelMme-
pmErabRelMmeActEutra)
#Counter
Den_RRCSR = (pmRrcConnEstabAtt-pmRrcConnEstabAttReatt)
Num_ERSR = (pmErabEstabSuccInit+pmErabEstabSuccAdded)
Den_ERSR = (pmErabEstabAttInit+pmErabEstabAttAdded)
Num_CSSRV2 = (pmRrcConnEstabSucc/(pmRrcConnEstabAtt-
pmRrcConnEstabAttReAtt))*(pmS1SigConnEstabSucc/pmS1SigConnEstabAtt)*(pmErabEstabSuc
cInit+pmErabEstabSuccAdded)
Den_CSSRV2 = (pmErabEstabAttInit+pmErabEstabAttAdded)
Num_SDRV2 = (pmErabRelAbnormalEnbAct+pmErabRelAbnormalMmeAct)
Den_SDRV2 = (pmErabRelAbnormalEnb+pmErabRelNormalEnb+pmErabRelMme)
Num_UserDLThp = (pmPdcpVolDlDrb-pmPdcpVolDlDrbLastTTI)
Den_UserDLThp = (pmUeThpTimeDl/1000)
Den_CellDLThp = (pmSchedActivityCellDl/1000)
Den_UserULThp = (pmUeThpTimeUl/1000)
Den_CellULThp = (pmSchedActivityCellUl/1000)

#AT&T formulas (LTE ATT)


Acc_ATT = 100 * ( pmRrcConnEstabSucc / (pmRrcConnEstabAtt -
pmRrcConnEstabAttReatt ) ) * ( pmS1SigConnEstabSucc / pmS1SigConnEstabAtt ) *
( ( pmErabEstabSuccInit + pmErabEstabSuccAdded ) / ( pmErabEstabAttInit +
pmErabEstabAttAdded ) )
Ret_ErabDropRateAct = 100 * ( 1 - ( ( pmErabRelAbnormalEnbAct + pmErabRelMmeAct ) /
( pmErabEstabSuccInit + pmErabEstabSuccAdded ) ) )
Ret_ErabDropRate = 100 * ( 1 - ( ( pmErabRelAbnormalEnb + pmErabRelMmeAct ) /
( pmErabEstabSuccInit + pmErabEstabSuccAdded ) ) )
Mob_IntraLTE_HoPrep = 100 * pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF
Mob_IntraLTE_HoExec = 100 * pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF
Mob_IRATRedirect = 100 * (pmUeCtxtRelSCGsm + pmUeCtxtRelSCWcdma ) /
pmUeCtxtEstabSucc
Mob_IntraLTE_SuccessRate = 100 * ( pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF) *
(pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF)
Ret_CSFBrate = 100 * (pmUeCtxtRelCsfbWcdma + pmUeCtxtRelCsfbWcdmaEm) /
pmUeCtxtEstabSucc
IFLB_SelectionRatio = 100 * pmHoPrepAttLteInterFLb / pmLbQualifiedUe
Qual_Meas_UE_Ratio_LB = 100 * pmLbQualifiedUe / pmLbMeasuredUe

#Other formulas, not in CONFIG


Traff_PDCP_DlVolume = (pmPdcpVolDlDrb + pmPdcpVolDlSrb)
Traff_PDCP_UlVolume = (pmPdcpVolUlDrb + pmPdcpVolUlSrb)
Traff_ERAB_AvgNum = (pmErabLevSum / pmErabLevSamp)
Traff_RRCCONNECTIONS_Peak = pmRrcConnMax / pm_count
Traff_RRCCONNECTIONS_Average = pmRrcConnLevSum / pmRrcConnLevSamp

#Standard formulas also used by AT&T


Int_DlThroughput_kbps = 1000 * (pmPdcpVolDlDrb - pmPdcpVolDlDrbLastTTI +
pmPdcpVolDlDrbTransUm) / pmUeThpTimeDl
Int_UlThroughput_kbps = 1000 * pmUeThpVolUl / pmUeThpTimeUl
Int_DlLatency = pmPdcpLatTimeDl / pmPdcpLatPktTransDl

#MSRBS V2 (TN_RCS)
IpInterfaceMbpsOut = 8 * ipIfStatsHCOutOctets / (1000000 * 900)
IpInterfaceMbpsIn = 8 * ipIfStatsHCInOctets / (1000000 * 900)

VlanPortMbpsOut = 8 * ifHCOutOctets / (1000000 * 900)


VlanPortMbpsIn = 8 * ifHCInOctets / (1000000 * 900)

EthernetPortMbpsOut = 8 * ifHCOutOctets / (1000000 * 900)


EthernetPortMbpsIn = 8 * ifHCInOctets / (1000000 * 900)

#Cross Feeders: pmRadioUeRepRankDistr

Rank1=pmRadioUeRepRankDistr[0]
Rank2=pmRadioUeRepRankDistr[1]
Rank3=pmRadioUeRepRankDistr[2]
Rank4=pmRadioUeRepRankDistr[3]

#Accessibility
SSSR_Total = 100*(pmRrcConnEstabSucc/pmRrcConnEstabAtt) *
(pmS1SigConnEstabSucc/pmS1SigConnEstabAtt) *
(pmErabEstabSuccInit/pmErabEstabAttInit)
SSSR_RRC = 100 * (pmRrcConnEstabSucc / pmRrcConnEstabAtt)
SSSR_S1_Signalling = 100 * (pmS1SigConnEstabSucc / pmS1SigConnEstabAtt)
SSSR_INITIAL_ERAB = 100 * (pmErabEstabSuccInit / pmErabEstabAttInit)
SSSR_ADDED_ERAB = 100 * (pmErabEstabSuccAdded / pmErabEstabAttAdded)

PAGING_discardrate = 100 * pmPagDiscarded/pmPagReceived


RACH_DecodingRate = 100 * pmRaSuccCbra/pmRaAttCbra

Ret_ERAB_DropRate = 100 * (pmErabRelAbnormalEnbAct +


pmErabRelMmeAct)/(pmErabEstabSuccInit+pmErabEstabSuccAdded)
Ret_ERAB_DropRateeNB = 100 * pmErabRelAbnormalEnbAct /
(pmErabEstabSuccInit+pmErabEstabSuccAdded)
Ret_ERAB_DropRateMME = 100 * pmErabRelMmeAct
/(pmErabEstabSuccInit+pmErabEstabSuccAdded)

Ret_ERAB_DropSec = (pmErabRelAbnormalEnbAct + pmErabRelMmeAct)/pmSessionTimeUe


Ret_ERAB_DropSeceNB = pmErabRelAbnormalEnbAct / pmSessionTimeUe
Ret_ERAB_DropSecMME = pmErabRelMmeAct / pmSessionTimeUe

Mob_IntraLTE_SuccessRate =100 * ( pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF) *


(pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF)
Mob_IntraLTE_Preparation =100 * ( pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF)
Mob_IntraLTE_Execution =100 * (pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF)

Integrity_PacketLossRate_DL = 100 * (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlHo +


pmPdcpPktDiscDlPelrUu) / (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlHo +
pmPdcpLatPktTransDl + pmPdcpPktDiscDlPelrUu)
Integrity_PacketLossRate_UL = 100 * pmPdcpPktLostUl / (pmPdcpPktLostUl +
pmPdcpPktReceivedUl)

PacketLoss = 100 * (SctpAssocRtxChunks / (sctpAssocOutDataChunks +


SctpAssocRtxChunks))

#TWAMP
TWAMP_Packet_Loss_Fwd = 100*(Average(lostPktsFwd)/Average(txPkts))
TWAMP_Packet_Loss_Rev = 100*Average(lostPktsRev)/(Average(rxPkts)
+Average(lostPktsRev)-Average(duplicPktRev))
TWAMP_PL_Max = Max([TWAMP_Packet_Loss_Fwd,TWAMP_Packet_Loss_Rev])
TWAMP_PL_Avg = Average([TWAMP_Packet_Loss_Fwd,TWAMP_Packet_Loss_Rev])
TWAMP_PL_Min = Min([TWAMP_Packet_Loss_Fwd,TWAMP_Packet_Loss_Rev])
TWAMP_Latency_Avg = Average(delayRtAvg) / 1000

You might also like