You are on page 1of 8

Formula 3

# User Formula File Template


# If you wish to use UtranCell as the default MO class in formulas here, uncomment
the line below
DefaultMoClass: EUtranCellFDD
# If you wish to include the standard KPI formulas, uncomment the line below
#include: Standard_KPI
###misc
NumObjects = int(pm_count/(timeInterval/15))
## Accessibility
SSSR = ((pmS1SigConnEstabAtt==0)||(pmErabEstabAttInit==0)) ? NaN : 100 *
(pmRrcConnEstabSucc / (pmRrcConnEstabAtt - pmRrcConnEstabAttReAtt)) *
(pmS1SigConnEstabSucc / pmS1SigConnEstabAtt) * (pmErabEstabSuccInit /
pmErabEstabAttInit)
SSSR_RRC = ((pmRrcConnEstabAtt - pmRrcConnEstabAttReAtt)==0) ? NaN : 100 *
(pmRrcConnEstabSucc / (pmRrcConnEstabAtt - pmRrcConnEstabAttReAtt))
SSSR_S1_Signalling = ((pmS1SigConnEstabAtt)==0) ? NaN : 100 * (pmS1SigConnEstabSucc
/ pmS1SigConnEstabAtt)
SSSR_INITIAL_ERAB = ((pmErabEstabAttInit)==0) ? NaN : 100 * (pmErabEstabSuccInit /
pmErabEstabAttInit)
SSSR_ADDED_ERAB = ((pmErabEstabAttAdded)==0) ? NaN : 100 * (pmErabEstabSuccAdded /
pmErabEstabAttAdded)
DataIntegrity = 100 * pm_count/96
##Paging
RRC_PAGING_discardrate = 100 * pmPagDiscarded/pmPagReceived
RRC_RACH_DecodingRate = (pmRaAttCbra == 0) ? NaN : 100 * pmRaSuccCbra/pmRaAttCbra
RACH_SuccCbra = pmRaSuccCbra
RACH_AttCbra = pmRaAttCbra
RACH_Failure = pmRaAttCbra-pmRaSuccCbra

## Retainability
SARR = ((pmErabRelAbnormalEnb + pmErabRelNormalEnb + pmErabRelMme) == 0) ? NaN : 100
* (pmErabRelAbnormalEnbAct + pmErabRelMmeAct) / (pmErabRelAbnormalEnb +
pmErabRelNormalEnb + pmErabRelMme)
SARR_ENB = ((pmErabRelAbnormalEnb + pmErabRelNormalEnb) == 0) ? NaN :100 *
(pmErabRelAbnormalEnbAct / (pmErabRelAbnormalEnb + pmErabRelNormalEnb))
E_RAB_Retain_session_time_normalized = (pmErabRelAbnormalEnbAct + pmErabRelMmeAct) /
pmSessionTimeUe
MPAR = (E_RAB_Retain_session_time_normalized == 0) ? NaN : 1 / (60 *
E_RAB_Retain_session_time_normalized)

## Integrity
DLUT = ((pmUeThpTimeDl)==0) ? -1 :(pmPdcpVolDlDrb - pmPdcpVolDlDrbLastTTI +
pmPdcpVolDlDrbTransUm) / (pmUeThpTimeDl / 1000) / 1024
ULUT = ((pmUeThpTimeUl)==0) ? -1 : pmUeThpVolUl / (pmUeThpTimeUl / 1000) / 1024
LAT_DL = pmPdcpLatTimeDl / pmPdcpLatPktTransDl
# PLR-DL = 100 * (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlPelrUu + pmPdcpPktDiscDlHo +
A) / (pmPdcpPktReceivedDl - pmPdcpPktFwdDl + A)

# A = pmPdcpPktDiscDlEth * (pmPdcpPktReceivedDl / SUM_per_RBS(pmPdcpPktReceivedDl))


PLR_DL = 100 * (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlHo + pmPdcpPktDiscDlPelrUu) /
(pmPdcpPktReceivedDl - pmPdcpPktFwdDl)
PLR_UL = 100 * pmPdcpPktLostUl / (pmPdcpPktLostUl + pmPdcpPktReceivedUl)
DLCT_TEMP = DLUT * (pmActiveUeDlSum / pmSchedActivityCellDl)
ULCT_TEMP = ULUT * (pmActiveUeUlSum / pmSchedActivityCellUl)
UL_RSSI_Pwr_temp =
WeightedAverage(pmRadioRecInterferencePwr,[0.794328235,1,1.258925412,1.584893192,1.9
95262315,2.511886432,3.16227766,3.981071706,5.011872336,6.309573445,10,25.11886432,6
Page 1
Formula 3
3.09573445,158.4893192,398.1071706,630.9573445])
UL_RSSI_Pwr_dBm = (UL_RSSI_Pwr_temp == 0) ? 'NaN' : 10*log10(UL_RSSI_Pwr_temp /
1000000000000)

## Utilization, pegs, when TTI is busy for DRB


#For daily report pmActiveUeDlSum/(1000(milisec)*60(sec)*60(min)*24(hours))
#Avg_DL_Active_User = pmActiveUeDlSum / pmSchedActivityCellDl
#USER_ACTIVE = pmActiveUeDlSum / pmSchedActivityCellDl
USER_ACTIVE = pmActiveUeDlSum / (timeInterval*60000) # scan frequency is
1milisecond, so 1 minute is 60*1000 sameles
#Average RRC connected users. It's 1, if 1 user is RRC connected for the whole 15
minutes ROP
#USER_RRCCONN = pmRrcConnLevSum / pmRrcConnLevSamp
USER_RRCCONN = SUM_per_RBS(pmRrcConnLevSum) / 17280
#(timeInterval[min]*12)
#In every ROP pmRrcConnLevSamp = 179 = 15 min * 5 secounds
###timeInterval is sampling period = 1 ROP = 15 minutes, so, in one minute = 60
seconds / 5 seconds = 12 samples

User_rrcconn_max = pmRrcConnMax
#(timeInterval*12)

## Mobility
Mob_IntraLTE_IntraF_SuccessRate = (EUtranCellRelation.pmHoExeAttLteIntraF ==
0) ? (100 * ( EUtranCellRelation.pmHoPrepSuccLteIntraF /
EUtranCellRelation.pmHoPrepAttLteIntraF)) : 100 * (
EUtranCellRelation.pmHoPrepSuccLteIntraF / EUtranCellRelation.pmHoPrepAttLteIntraF)
* (EUtranCellRelation.pmHoExeSuccLteIntraF / EUtranCellRelation.pmHoExeAttLteIntraF)

#IntraHOPrepANDExecAtt = (EUtranCellRelation.pmHoPrepAttLteIntraF +
EUtranCellRelation.pmHoExeAttLteIntraF)
#IntraHOSuccessRate = ( Mob_IntraLTE_IntraF_Execution == 'NaN' )
? Mob_IntraLTE_IntraF_Preparation : 100 * ( EUtranCellRelation.pmHoPrepSuccLteIntraF
/ EUtranCellRelation.pmHoPrepAttLteIntraF) *
(EUtranCellRelation.pmHoExeSuccLteIntraF / EUtranCellRelation.pmHoExeAttLteIntraF)
IntraLTE_IntraF_HOPrepANDExecAtt =
(EUtranCellRelation.pmHoPrepAttLteIntraF + EUtranCellRelation.pmHoExeAttLteIntraF)
IntraLTE_IntraF_HOSuccessRate = ( Mob_IntraLTE_IntraF_Execution
== 'NaN' ) ? Mob_IntraLTE_IntraF_Preparation : 100 * (
EUtranCellRelation.pmHoPrepSuccLteIntraF / EUtranCellRelation.pmHoPrepAttLteIntraF)
* (EUtranCellRelation.pmHoExeSuccLteIntraF / EUtranCellRelation.pmHoExeAttLteIntraF)
Mob_IntraLTE_IntraF_Preparation = (EUtranCellRelation.pmHoPrepAttLteIntraF ==
0) ? 'NaN' : 100 * ( EUtranCellRelation.pmHoPrepSuccLteIntraF /
EUtranCellRelation.pmHoPrepAttLteIntraF)
Mob_IntraLTE_IntraF_Execution = (EUtranCellRelation.pmHoExeAttLteIntraF ==
0) ? 'NaN' : 100 * (EUtranCellRelation.pmHoExeSuccLteIntraF /
EUtranCellRelation.pmHoExeAttLteIntraF)
Mob_IntraLTE_IntraF_PreparationFailure =
EUtranCellRelation.pmHoPrepAttLteIntraF - EUtranCellRelation.pmHoPrepSuccLteIntraF
Mob_IntraLTE_IntraF_PreparationAtt =
EUtranCellRelation.pmHoPrepAttLteIntraF
Mob_IntraLTE_IntraF_PreparationSuc =
EUtranCellRelation.pmHoPrepSuccLteIntraF
Mob_IntraLTE_IntraF_PreparationFailureLicUser = pmHoPrepRejInLicConnUsers
Mob_IntraLTE_IntraF_PreparationFailureLicHO = pmHoPrepRejInLicMob
Mob_IntraLTE_IntraF_ExecutionAtt = EUtranCellRelation.pmHoExeAttLteIntraF
Mob_IntraLTE_IntraF_ExecutionSuc = EUtranCellRelation.pmHoExeSuccLteIntraF
Mob_ANR_Added = pmAnrNeighbrelAdd
Page 2
Formula 3
Mob_ANR_Removed = pmAnrNeighbrelRem
#TotalHOAtt = EUtranCellRelation.pmHoExeAttLteIntraF +
EUtranCellRelation.pmHoPrepAttLteIntraF
#NumFailedHOPrepANDExe = (EUtranCellRelation.pmHoPrepAttLteIntraF -
EUtranCellRelation.pmHoPrepSuccLteIntraF) + (EUtranCellRelation.pmHoExeAttLteIntraF
- EUtranCellRelation.pmHoExeSuccLteIntraF)
IntraLTE_IntraF_HOAtt = EUtranCellRelation.pmHoExeAttLteIntraF +
EUtranCellRelation.pmHoPrepAttLteIntraF
IntraLTE_IntraF_NumFailedHOPrepANDExe = (EUtranCellRelation.pmHoPrepAttLteIntraF -
EUtranCellRelation.pmHoPrepSuccLteIntraF) + (EUtranCellRelation.pmHoExeAttLteIntraF
- EUtranCellRelation.pmHoExeSuccLteIntraF)

########################################
## Mobility
Mob_IntraLTE_InterF_SuccessRate = (EUtranCellRelation.pmHoExeAttLteInterF ==
0) ? (100 * ( EUtranCellRelation.pmHoPrepSuccLteInterF /
EUtranCellRelation.pmHoPrepAttLteInterF)) : 100 * (
EUtranCellRelation.pmHoPrepSuccLteInterF / EUtranCellRelation.pmHoPrepAttLteInterF)
* (EUtranCellRelation.pmHoExeSuccLteInterF / EUtranCellRelation.pmHoExeAttLteInterF)

#IntraHOPrepANDExecAtt = (EUtranCellRelation.pmHoPrepAttLteIntraF +
EUtranCellRelation.pmHoExeAttLteIntraF)
#IntraHOSuccessRate = ( Mob_IntraLTE_IntraF_Execution == 'NaN' )
? Mob_IntraLTE_IntraF_Preparation : 100 * ( EUtranCellRelation.pmHoPrepSuccLteIntraF
/ EUtranCellRelation.pmHoPrepAttLteIntraF) *
(EUtranCellRelation.pmHoExeSuccLteIntraF / EUtranCellRelation.pmHoExeAttLteIntraF)
IntraLTE_InterF_HOPrepANDExecAtt =
(EUtranCellRelation.pmHoPrepAttLteInterF + EUtranCellRelation.pmHoExeAttLteInterF)
IntraLTE_InterF_HOSuccessRate = ( Mob_IntraLTE_InterF_Execution
== 'NaN' ) ? Mob_IntraLTE_InterF_Preparation : 100 * (
EUtranCellRelation.pmHoPrepSuccLteInterF / EUtranCellRelation.pmHoPrepAttLteInterF)
* (EUtranCellRelation.pmHoExeSuccLteInterF / EUtranCellRelation.pmHoExeAttLteInterF)

Mob_IntraLTE_InterF_Preparation = (EUtranCellRelation.pmHoPrepAttLteInterF ==
0) ? 'NaN' : 100 * ( EUtranCellRelation.pmHoPrepSuccLteInterF /
EUtranCellRelation.pmHoPrepAttLteInterF)
Mob_IntraLTE_InterF_Execution = (EUtranCellRelation.pmHoExeAttLteInterF ==
0) ? 'NaN' : 100 * (EUtranCellRelation.pmHoExeSuccLteInterF /
EUtranCellRelation.pmHoExeAttLteInterF)
Mob_IntraLTE_InterF_PreparationFailure =
EUtranCellRelation.pmHoPrepAttLteInterF - EUtranCellRelation.pmHoPrepSuccLteInterF
Mob_IntraLTE_InterF_PreparationAtt =
EUtranCellRelation.pmHoPrepAttLteInterF
Mob_IntraLTE_InterF_PreparationSuc =
EUtranCellRelation.pmHoPrepSuccLteInterF
Mob_IntraLTE_InterF_PreparationFailureLicUser = pmHoPrepRejInLicConnUsers
Mob_IntraLTE_InterF_PreparationFailureLicHO = pmHoPrepRejInLicMob
Mob_IntraLTE_InterF_ExecutionAtt = EUtranCellRelation.pmHoExeAttLteInterF
Mob_IntraLTE_InterF_ExecutionSuc = EUtranCellRelation.pmHoExeSuccLteInterF

#TotalHOAtt = EUtranCellRelation.pmHoExeAttLteInterF +
EUtranCellRelation.pmHoPrepAttLteInterF
#NumFailedHOPrepANDExe = (EUtranCellRelation.pmHoPrepAttLteInterF -
EUtranCellRelation.pmHoPrepSuccLteInterF) + (EUtranCellRelation.pmHoExeAttLteInterF
- EUtranCellRelation.pmHoExeSuccLteInterF)
IntraLTE_InterF_HOAtt = EUtranCellRelation.pmHoExeAttLteInterF +
EUtranCellRelation.pmHoPrepAttLteInterF
IntraLTE_InterF_NumFailedHOPrepANDExe = (EUtranCellRelation.pmHoPrepAttLteInterF -
EUtranCellRelation.pmHoPrepSuccLteInterF) + (EUtranCellRelation.pmHoExeAttLteInterF
- EUtranCellRelation.pmHoExeSuccLteInterF)
Page 3
Formula 3

CSFB_ATT_W = pmUeCtxtRelSCWcdma
IRAT_3G_HO_SR= ((UtranCellRelation.pmHoPrepSucc/ UtranCellRelation.pmHoPrepAtt) *
(UtranCellRelation.pmHoExeSucc / UtranCellRelation.pmHoExeAtt))*100
IRAT_3G_HO_prep_ATT = UtranCellRelation.pmHoPrepAtt
IRAT_3G_HO_prep_SR = (UtranCellRelation.pmHoPrepSucc/ UtranCellRelation.pmHoPrepAtt)

IRAT_3G_HO_Exe_ATT = UtranCellRelation.pmHoExeAtt
IRAT_3G_HO_Exe_SR = (UtranCellRelation.pmHoExeSucc / UtranCellRelation.pmHoExeAtt)
IRAT_PSHO_ratio= UtranCellRelation.pmHoPrepAtt
/(pmUeCtxtRelSCWcdma+UtranCellRelation.pmHoPrepAtt)
IRAT_RwR_ratio = pmUeCtxtRelSCWcdma
/(pmUeCtxtRelSCWcdma+UtranCellRelation.pmHoPrepAtt)
#CSFB_R = 100 * (([EUtranCellFDD.pmUeCtxtRelCsfbWcdma] +
[EUtranCellFDD.pmUeCtxtRelCsfbWcdmaEm]+[EUtranCellFDD.pmUeCtxtRelCsfbGsm +
EUtranCellFDD.pmUeCtxtRelCsfbGsmEm]) / [EUtranCellFDD.pmUeCtxtEstabSucc])
#CSFB_R = 100* ((pmUeCtxtRelCsfbWcdma + pmUeCtxtRelCsfbWcdmaEm )/ pmUeCtxtEstabSucc)
## Availability

numCell = int(EUtranCellFDD.pm_count / timeInterval * 15)


AV_CELL = pm_count*900
AV_MAN = ((100*(1-pmCellDowntimeMan/AV_CELL)) < 0) ? 0 :
100*(1-pmCellDowntimeMan/AV_CELL)
AV_AUTO = (100*(1-pmCellDowntimeAuto/AV_CELL) < 0) ? 0 :
100*(1-pmCellDowntimeAuto/AV_CELL)
AV_SYS = ((100*(1-(pmCellDowntimeMan+pmCellDowntimeAuto)/AV_CELL)) < 0) ? NaN :
100*(1-(pmCellDowntimeMan+pmCellDowntimeAuto)/AV_CELL)
AV_PLAN = (100 * (1-pmCellDowntimeAuto/(AV_CELL-pmCellDowntimeMan)) < 0) ? 0 : 100 *
(1-pmCellDowntimeAuto/(AV_CELL-pmCellDowntimeMan))

## QUALITY
SINR_PUSCH = WeightedAverage(EUtranCellFDD.pmSinrPuschDistr,[-5,-2,2,6,10,14,17,25])
SINR_PUCCH =
WeightedAverage(EUtranCellFDD.pmSinrPucchDistr,[-15,-12,-9,-6,-3,0,3,6])
UL_LIMITED = pmRadioTbsPwrRestricted
RSRP_DIRST = PmUeMeasControl.pmUeMeasRsrpServIntraFreq1
RSRP_DIST =
WeightedAverage(PmUeMeasControl.pmUeMeasRsrpServIntraFreq1,[-125,-122,-119,-116,-113
,-110,-107,-104,-101,-98,-95,-92,-89,-86,-83,-80,43])
MIMO_utilization = WeightedAverage(pmRadioUeRepRankDistr,[0,1])

#L= Number of cells (e.g. in a cluster)


#N= Reporting period

# -------------------payload---------------------------------
payload_PDCP_DlVolume = (pmPdcpVolDlDrb + pmPdcpVolDlSrb)/1000000
payload_PDCP_UlVolume = (pmPdcpVolUlDrb + pmPdcpVolUlSrb)/1000000

# ------------------------CQI ---------------------------------
CQI_avg =((Sum(EUtranCellFDD.pmRadioUeRepCqiDistr))==0) ? -1 :
WeightedAverage(EUtranCellFDD.pmRadioUeRepCqiDistr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,
14,15])
#CQI_10Perc = WeightedPercentile(10,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_20Perc = WeightedPercentile(20,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_30Perc = WeightedPercentile(30,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
Page 4
Formula 3
#CQI_40Perc = WeightedPercentile(40,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_50Perc = WeightedPercentile(50,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_60Perc = WeightedPercentile(60,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_70Perc = WeightedPercentile(70,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_80Perc = WeightedPercentile(80,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI_90Perc = WeightedPercentile(90,EUtranCellFDD.pmRadioUeRepCqiDistr, [0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#
#CQI2_avg = ((Sum(EUtranCellFDD.pmRadioUeRepCqiDistr2))==0) ? -1 :
WeightedAverage(EUtranCellFDD.pmRadioUeRepCqiDistr2,[0,1,2,3,4,5,6,7,8,9,10,11,12,13
,14,15])
#CQI2_10Perc = WeightedPercentile(10,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_20Perc = WeightedPercentile(20,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_30Perc = WeightedPercentile(30,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_40Perc = WeightedPercentile(40,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_50Perc = WeightedPercentile(50,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_60Perc = WeightedPercentile(60,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_70Perc = WeightedPercentile(70,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_80Perc = WeightedPercentile(80,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#CQI2_90Perc = WeightedPercentile(90,EUtranCellFDD.pmRadioUeRepCqiDistr2, [0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

#SCTP
Ip_SctpPacketLossRatio = 100 * Sctp.pmSctpStatRetransChunks / (
Sctp.pmSctpStatSentChunks + Sctp.pmSctpStatRetransChunks )
#All_RRC_ATTEMPT

ALL_A_RRC_Attempt = EUtranCellFDD.pmRrcConnEstabAtt - EUtranCellFDD.pmZtemporary9

UTIL_DL_PRB =
WeightedAverage(EUtranCellFDD.pmPrbUtilDl,[5,15,25,35,45,55,65,75,85,95])
UTIL_PDCCH =
WeightedAverage(EUtranCellFDD.pmPdcchCceUtil,[2.5,7.5,12.5,17.5,22.5,27.5,32.5,37.5,
42.5,47.5,52.5,57.5,62.5,67.5,72.5,77.5,82.5,87.5,92.5,97.5])
UTIL_PROC_LOAD = WeightedAverage(ProcessorLoad.pmProcessorLoadDistr,
[10,25,35,45,55,65,75,82,87,92,97])

compare_Integrity_DL_Packet_Loss_Rate_PDCP = 100 *
(EUtranCellFDD.pmPdcpPktDiscDlPelr + EUtranCellFDD.pmPdcpPktDiscDlPelrUu +
EUtranCellFDD.pmPdcpPktDiscDlHo) / (EUtranCellFDD.pmPdcpPktDiscDlPelr +
EUtranCellFDD.pmPdcpPktDiscDlPelrUu + EUtranCellFDD.pmPdcpPktDiscDlHo +
EUtranCellFDD.pmPdcpPktTransDl)
compare_05_Integrity_DL_Packet_Loss_Rate_PDCP = 100 *
(EUtranCellFDD.pmPdcpPktDiscDlPelr + EUtranCellFDD.pmPdcpPktDiscDlPelrUu +
EUtranCellFDD.pmPdcpPktDiscDlHo) / (EUtranCellFDD.pmPdcpPktDiscDlPelr +
EUtranCellFDD.pmPdcpPktDiscDlPelrUu + EUtranCellFDD.pmPdcpPktDiscDlHo +
EUtranCellFDD.pmPdcpLatPktTransDl)

Page 5
Formula 3
compare_Integrity_Uplink_User_Throughput = pmUeThpVolUl/pmUeThpTimeUl/1000
compare_11_Integrity_Uplink_User_Throughput = (pmPdcpVolUlDrb -
pmPdcpVolUlDrbLastTTI) / (pmUeThpTimeUl / 1000)

compare_payload_PDCP_DlVolume = pmPdcpVolDlDrb / 1000000


compare_payload_PDCP_UlVolume = pmPdcpVolUlDrb / 1000000
compare_12_payload_PDCP_DlVolume = (pmPdcpVolDlDrb + pmPdcpVolDlSrb)/ 1000000
compare_13_payload_PDCP_UlVolume = (pmPdcpVolUlDrb + pmPdcpVolUlSrb)/ 1000000
compare_AV_SYS = int(EUtranCellFDD.pm_count / timeInterval * 15)*900* 24
CELL_DOWN = (pmCellDowntimeMan+pmCellDowntimeAuto)

compared_AV_SYS = 100 - 100 * (CELL_DOWN / compare_AV_SYS)


05_Integrity_UL_Packet_Loss_Rate_PDCP = 100 * EUtranCellFDD.pmPdcpPktLostUl /
(EUtranCellFDD.pmPdcpPktLostUl + EUtranCellFDD.pmPdcpPktReceivedUl)
06_Integrity_DL_Packet_Loss_Rate_PDCP = 100 * (EUtranCellFDD.pmPdcpPktDiscDlPelr +
EUtranCellFDD.pmPdcpPktDiscDlPelrUu + EUtranCellFDD.pmPdcpPktDiscDlHo) /
(EUtranCellFDD.pmPdcpPktDiscDlPelr + EUtranCellFDD.pmPdcpPktDiscDlPelrUu +
EUtranCellFDD.pmPdcpPktDiscDlHo + EUtranCellFDD.pmPdcpPktTransDl)
#TX RANK

Tx_rank =
(WeightedAverage(EUtranCellFDD.pmRadioTxRankDistr,[0,0,1,0,1,0,0,0,0,0,0,0,1]))*100

#AMS_AntennaMonitoringSystem

ASM1 =
10*log10(WeightedAverage(SectorCarrier.pmBranchDeltaSinrDistr0,[0.00125892541179417,
0.00158489319246111,0.00199526231496888,0.00251188643150958,0.00316227766016838,0.00
398107170553497,0.00501187233627272,0.00630957344480193,0.00794328234724281,0.01,0.0
125892541179417,0.0158489319246111,0.0199526231496888,0.0251188643150958,0.031622776
6016838,0.0398107170553497,0.0501187233627272,0.0630957344480193,0.0794328234724281,
0.1,0.125892541179417,0.158489319246111,0.199526231496888,0.251188643150958,0.316227
766016838,0.398107170553497,0.501187233627272,0.630957344480193,0.794328234724281,1,
1.25892541179417,1.58489319246111,1.99526231496888,2.51188643150958,3.16227766016838
,3.98107170553497,5.01187233627272,6.30957344480193,7.94328234724282,10,12.589254117
9417,15.8489319246111,19.9526231496888,25.1188643150958,31.6227766016838,39.81071705
53498,50.1187233627272,63.0957344480194,79.4328234724282,100,125.892541179417,158.48
9319246112,199.526231496888,251.188643150958,316.227766016838,398.107170553498,501.1
87233627273,630.957344480193,794.328234724282,1000]))
#Capacity
PRB_DL_Utilization = 100 * (pmPrbUsedDlFirstTrans + pmPrbUsedDlFirstTrans) /
pmPrbAvailDl
PRB_UL_Utilization = 100 * pmPrbUsedUlDtch/pmPrbAvailUl
PRACH_Utilization = (pmRachPreambleDist) / 3600 / 100 * 100
PUCCH_CQI_Congestion = pmPucchSrCqiResCongCqi / pmPucchSrCqiResAllocAtt * 100
PUCCH_SR_Congestion = pmPucchSrCqiResCongSr / pmPucchSrCqiResAllocAtt * 100
eNodeb_User_License_Utilization = CapacityConnectedUsers.pmLicConnectedUsersMax /
CapacityConnectedUsers.pmLicConnectedUsersLicense * 100
PDCCH_Utilization=WeightedAverage(pmPdcchCceUtil,[2.5,7.5,12.5,17.5,22.5,27.5,32.5,3
7.5,42.5,47.5,52.5,57.5,62.5,67.5,72.5,77.5,82.5,87.5,92.5,97.5])
#UTIL
UTIL_pmSinrPucchDistr =
WeightedAverage(pmSinrPucchDistr,[-18,-13.5,-10.5,-7.5,-4.5,-1.5,1.5,7.5])
UTIL_pmSinrPuschDistr =
WeightedAverage(pmSinrPuschDistr,[-7,-3.5,-0.1,4,8,12,16,24])
UTIL_pmRadioUeRepCqiDistr = WeightedAverage(pmRadioUeRepCqiDistr
Page 6
Formula 3
,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
UTIL_pmRadioUeRepCqiDistr2=
WeightedAverage(pmRadioUeRepCqiDistr2,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
UTIL_pmRadioUeRepRankDistr = WeightedAverage(pmRadioUeRepRankDistr,[1,2])
UTIL_pmUeThpDlDistr = WeightedAverage(pmUeThpDlDistr
,[500,3000,7500,15000,35000,75000,125000,175000])
UTIL_pmUeMeasRsrpServIntraFreq1 = WeightedAverage(pmUeMeasRsrpServIntraFreq1
,[7.5,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,79])

#IP Packet
LTE_AVG_Eth_Igress=(((GigaBitEthernet.pmIfInOctetsLink1Hi*2147483648)+GigaBitEtherne
t.pmIfInOctetsLink1Lo)+((GigaBitEthernet.pmDot1qTpVlanPortInDiscardsLink1+GigaBitEth
ernet.pmIfInErrorsLink1+GigaBitEthernet.pmIfInUnknownProtosLink1+GigaBitEthernet.pmI
fInDiscardsLink1+GigaBitEthernet.pmIfInBroadcastPktsLink1
+GigaBitEthernet.pmIfInMulticastPktsLink1+(GigaBitEthernet.pmIfInUcastPktsLink1*1000
))*20))*8/(1000000*timeInterval)
LTE_AVG_Eth_Egress=(((GigaBitEthernet.pmIfOutOctetsLink1Hi*2147483648)+GigaBitEthern
et.pmIfOutOctetsLink1Lo)+(((GigaBitEthernet.pmIfOutBroadcastPktsLink1+GigaBitEtherne
t.pmIfOutMulticastPktsLink1+(GigaBitEthernet.pmifOutUcastPktsLink1*1000))-(GigaBitEt
hernet.pmIfOutErrorsLink1+GigaBitEthernet.pmIfOutDiscardsLink1))*20))*8/1000000*900
LTE_ETh_PER_Ingress=1000*(GigaBitEthernet.pmDot1qTpVlanPortInDiscardsLink1+GigaBitEt
hernet.pmIfInErrorsLink1+GigaBitEthernet.pmIfInUnknownProtosLink1)/(GigaBitEthernet.
pmDot1qTpVlanPortInDiscardsLink1+GigaBitEthernet.pmIfInErrorsLink1+GigaBitEthernet.p
mIfInUnknownProtosLink1+pmIfInDiscardsLink1+pmIfInBroadcastPktsLink1+pmIfInMulticast
PktsLink1+(pmifInUcastPktsLink1*1000))
LTE_GbEthernet_Errors_In=GigaBitEthernet.pmIfInErrorsLink1
LTE_GbEthernet_Errors_Out=GigaBitEthernet.pmIfOutErrorsLink1
LTE_GbEthernet_Discards_In=GigaBitEthernet.pmIfInDiscardsLink1
LTE_GbEthernet_Discards_Out=GigaBitEthernet.pmIfOutDiscardsLink1
LTE_Synch_Delay_Var=Synchronization.pmHDelayVarBest1Pct
LTE_SCTP_Retrans_Rate = Sctp.pmSctpStatRetransChunks/(Sctp.pmSctpStatSentChunks +
Sctp.pmSctpStatRetransChunks)
LTE_Packet_Reassembly_Failure_Rate =
100*(IpAccessHostEt.pmIpReasmFails/IpAccessHostEt.pmIpReasmReqds)
LTE_Packet_Reassembly_Failure_Rate_2 =
100*(IpAccessHostEt.pmIpReasmFails*2/IpAccessHostEt.pmIpReasmReqds)
LTE_SCTPAssoc_Availability =
100*(900*SctpAssociation.pm_count-SctpAssociation.pmTimeUnavail)/900/SctpAssociation
.pm_count
LTE_SCTPAssoc_Retrans_Rate =
100*(SctpAssociation.pmRtxChunks/(SctpAssociation.pmOutDataChunks+SctpAssociation.pm
RtxChunks))
LTE_SCTPAssoc_Unavail = SctpAssociation.pmTimeUnavail
LTE_SCTPAssoc_Unavail_retrans = SctpAssociation.pmUnavailRetrans
LTE_SCTPAssoc_AvgThr_In =
((SctpAssociation.pmInOctets*8)+(SctpAssociation.pmInPacks*160))/(1000000*900*SctpAs
sociation.pm_count)
LTE_SCTPAssoc_AvgThr_Eg =
((SctpAssociation.pmOutOctets*8)+(SctpAssociation.pmOutPacks*160))/(1000000*900*Sctp
Association.pm_count)
LTE_SCTPA_Egrs_data_chunk_DR =
100*(SctpAssociation.pmOutDataChunkDiscards+SctpAssociation.pmOutUserMsgDiscards)/(S
ctpAssociation.pmOutDataChunkDiscards+SctpAssociation.pmOutUserMsgDiscards+SctpAssoc
iation.pmOutDataChunks)
LTE_SCTPA_Igrs_control_chunk_DR
=100*SctpAssociation.pmInControlChunkDiscards/(SctpAssociation.pmInControlChunkDisca
rds+SctpAssociation.pmInControlChunks+SctpAssociation.pmInControlChunkAbnormal)
LTE_SCTPA_Igrs_data_chunk_DR =
100*SctpAssociation.pmInDataChunkDiscards/(SctpAssociation.pmInDataChunkDiscards+Sct
pAssociation.pmInDataChunks+SctpAssociation.pmInDataChunkAbnormal)

Page 7
Formula 3
#Integrity
DL_BLER_QPSK =
100*EUtranCellFDD.pmMacHarqDlNackQpsk/(EUtranCellFDD.pmMacHarqDlNackQpsk+EUtranCellF
DD.pmMacHarqDlAckQpsk)
DL_BLER_16QAM =
100*EUtranCellFDD.pmMacHarqDlNack16qam/(EUtranCellFDD.pmMacHarqDlNack16qam+EUtranCel
lFDD.pmMacHarqDlAck16qam)
DL_BLER_64QAM =
100*EUtranCellFDD.pmMacHarqDlNack64qam/(EUtranCellFDD.pmMacHarqDlNack64qam+EUtranCel
lFDD.pmMacHarqDlAck64qam)
UL_BLER_QPSK =
100*EUtranCellFDD.pmMacHarqUlFailQpsk/(EUtranCellFDD.pmMacHarqUlFailQpsk +
EUtranCellFDD.pmMacHarqUlSuccQpsk)
UL_BLER_16QAM =
100*EUtranCellFDD.pmMacHarqUlFail16qam/(EUtranCellFDD.pmMacHarqUlFail16qam +
EUtranCellFDD.pmMacHarqUlSucc16qam)

Sched_ActiveUEperTTI_DL =
EUtranCellFDD.pmActiveUeDlSum/EUtranCellFDD.pmSchedActivityCellDl
Sched_ScheduledUEperTTI_DL =
EUtranCellFDD.pmSchedActivityUeDl/EUtranCellFDD.pmSchedActivityCellDl
RLCAckSuccessRate_DL =
100*EUtranCellFDD.pmRlcArqDlAck/(EUtranCellFDD.pmRlcArqDlAck+EUtranCellFDD.pmRlcArqD
lNack)
Sched_ActiveUEperTTI_UL =
EUtranCellFDD.pmActiveUeUlSum/EUtranCellFDD.pmSchedActivityCellUl
Sched_ScheduledUEperTTI_UL =
EUtranCellFDD.pmSchedActivityUeUl/EUtranCellFDD.pmSchedActivityCellUl
RLCAckSuccessRate_UL =
100*EUtranCellFDD.pmRlcArqUlAck/(EUtranCellFDD.pmRlcArqUlAck+EUtranCellFDD.pmRlcArqU
lNack)

PDCCHCCE_UTIL =
WeightedAverage(EUtranCellFDD.pmPdcchCceUtil,[5,10,15,20,25,30,35,40,45,50,55,60,65,
70,75,80,85,90,95,100])

Page 8

You might also like