0% found this document useful (0 votes)
472 views

Formula 3 - Notepad

This document contains formulas for calculating key performance indicators (KPIs) such as accessibility, retainability, integrity, utilization, mobility, and more. The formulas use metrics collected from the network to determine percentages, rates, averages and other metrics in 3 sentences or less: The formulas calculate KPIs like accessibility rates, packet loss rates, handover success rates, resource utilization, and more using metrics from the network like connection attempts, successes, failures, volumes and durations. Mobility KPIs use handover attempt and success metrics between different frequencies and RATs. Resource utilization is calculated based on metrics like active users, throughput volumes and times, and scheduler activity.

Uploaded by

EbenMap
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
472 views

Formula 3 - Notepad

This document contains formulas for calculating key performance indicators (KPIs) such as accessibility, retainability, integrity, utilization, mobility, and more. The formulas use metrics collected from the network to determine percentages, rates, averages and other metrics in 3 sentences or less: The formulas calculate KPIs like accessibility rates, packet loss rates, handover success rates, resource utilization, and more using metrics from the network like connection attempts, successes, failures, volumes and durations. Mobility KPIs use handover attempt and success metrics between different frequencies and RATs. Resource utilization is calculated based on metrics like active users, throughput volumes and times, and scheduler activity.

Uploaded by

EbenMap
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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