#0) More information on formula syntax:  http://doc.itk.ericsson.se/binder/current/html/ItkViewGuide/07_FormulaFiles.html
#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"

# Compliant to KPI Measurement Description 5/1550-CSH 103 704 CX and N24Q1
# https://erilink.ericsson.se/eridoc/erl/objectId/09004cff877db904?docno=5/1550-CSH103704Uen&action=current&format=msw8

#################
# Accessibility #
#################

#gNodeB Random Access Success Rate [%]; CORE-B-KPI:424
Acc_RandomAccSuccRategNB = 100 * pmRadioRaCbSuccMsg3 / pmRadioRaCbAttMsg2

#EN-DC Setup Success Rate [%]; CORE-V-KPI:400
Acc_EndcSetupSuccessRate = (pmEndcSetupUeSucc / pmEndcSetupUeAtt) * 100 

#EN-DC Setup Scg Ue Success Rate [%]; CORE-B-PI:559
Acc_EndcSetupScgUeSuccessRate = ( pmEndcSetupScgUeSucc / pmEndcSetupScgUeAtt ) * 100

#EN-DC NR DRB Setup Success Rate [%]; CORE-B-PI:402
Acc_EndcNRDRBSetupSuccessRate = ( pmEndcNrDrbSetupSucc / pmEndcNrDrbSetupAtt ) * 100

#Differentiated Initial E-RAB Establishment Success Rate Captured in eNodeB [%]; CORE-B-PI:1023
Acc_EndcDiffInitialERabEstabSuccRate =  100 * ( pmRrcConnEstabSucc / ( pmRrcConnEstabAtt - pmRrcConnEstabAttReatt - pmRrcConnEstabFailMmeOvlMos - pmRrcConnEstabFailMmeOvlMod ) ) * ( pmS1SigConnEstabSucc / ( pmS1SigConnEstabAtt - pmS1SigConnEstabFailMmeOvlMos )) * ( pmFlexErabEstabSuccInit_Endc1To99 / pmFlexErabEstabAttInit_Endc1To99 )

#Differentiated Initial E-RAB Establishment Success Rate, No MO Signaling Captured in eNodeB [%]; CORE-B-PI:1029
Acc_EndcDiffInitialERabEstabSuccRateNoMos = 100 * ( pmRrcConnEstabSucc - pmRrcConnEstabSuccMos ) / (( pmRrcConnEstabAtt - pmRrcConnEstabAttMos ) - (pmRrcConnEstabAttReatt - pmRrcConnEstabAttReattMos ) - pmRrcConnEstabFailMmeOvlMod ) * ( pmS1SigConnEstabSucc - pmS1SigConnEstabSuccMos ) / ( pmS1SigConnEstabAtt - pmS1SigConnEstabAttMos) * ( pmFlexErabEstabSuccInit_Endc1To99 / pmFlexErabEstabAttInit_Endc1To99 )
 
#Robust Contention-Based Random Access Success Ratio Captured in eNodeB [%]; CORE-B-KPI:150
Acc_EndcRandomAccSuccRateeNB = 100 * pmRaSuccCbra / pmRaMsg2AttCbra

#UE Context Setup Success Rate [%]; CORE-B-KPI:856
Acc_UEContextSetupSuccRate = 100 * pmUeCtxtSetupSucc / pmUeCtxtSetupAtt

#EN-DC Setup Rel Mn Mcg Success Rate [%]; CORE-B-PI:558
Acc_EndcRelMnMcgRelocationSuccessRate = (pmEndcRelMnMcgRelocSucc / pmEndcRelMnMcgRelocAtt) * 100


#################
# Retainability #
#################

#Retainability
Ret_EndcUeRelAbnormalAct = pmEndcRelUeAbnormalMenbAct + pmEndcRelUeAbnormalSgnbAct
Ret_EndcUeRelTotal = pmEndcRelUeNormal + pmEndcRelUeAbnormalMenb + pmEndcRelUeAbnormalSgnb
Ret_EndcUeRelAbnormal = pmEndcRelUeAbnormalMenb + pmEndcRelUeAbnormalSgnb
Ret_EndcUeRelAbnormalMeNBAb = pmEndcRelUeAbnormalMenbAct + pmEndcRelUeAbnormalMenb

#SCG Radio Resource Retainability, Captured in gNodeB; CORE-B-PI:398
Ret_EndcNrLegDrop                           = 100 * Ret_EndcUeRelAbnormal / Ret_EndcUeRelTotal

#SCG Radio Resource Retainability, Captured in gNodeB;
Ret_EndcNrLegRetainability                  = 100 - Ret_EndcNrLegDrop

#SCG Active Radio Resource Retainability considering EN-DC connectivity, Captured in gNodeB; CORE-V-KPI:1152
Ret_EndcNrLegDropPrimary                    = 100 * Ret_EndcUeRelAbnormalAct / (Ret_EndcUeRelTotal - pmEndcPSCellChangeSuccInterSgnb)

#SCG Active Radio Resource Retainability considering EN-DC connectivity, Captured in gNodeB; 
Ret_EndcNrLegRetainabilityPrimary           = 100 - Ret_EndcNrLegDropPrimary

#MeNB triggered abnormal SCG radio resources release Retainability; CORE-B-PI:431
Ret_EndcNrlegDrop_MeNBTriggeredAbnormalTotalNRLegRelease  = 100 * Ret_EndcUeRelAbnormalMeNBAb / Ret_EndcUeRelTotal

#MeNB triggered abnormal active SCG Radio Resources release Retainability; CORE-B-PI:432
Ret_EndcNrlegDrop_MeNBTriggeredAbnormalActiNRLegRelease  = 100 * pmEndcRelUeAbnormalMenbAct / Ret_EndcUeRelTotal

#MeNB triggered abnormal SCG radio resources release Retainability; CORE-B-PI:895
Ret_EndcNrlegDrop_MeNBTriggeredAbnormalNRLegRelease = 100 * pmEndcRelUeAbnormalMenb / Ret_EndcUeRelTotal

#SgNB triggered abnormal SCG radio resources release Retainability; CORE-B-PI:752
Ret_EndcNrlegDrop_SgNBTriggeredAbnormalNRLegRelease = 100 * pmEndcRelUeAbnormalSgnb / Ret_EndcUeRelTotal

#SgNB triggered abnormal active SCG Radio resources release Retainability; CORE-B-PI:751
Ret_EndcNrlegDrop_SgNBTriggeredAbnormalActNRLegRelease  = 100 * pmEndcRelUeAbnormalSgnbAct / Ret_EndcUeRelTotal

#SgNB triggered abnormal Total SCG radio resources release Retainability; CORE-B-PI:433
Ret_EndcNrlegDrop_SgNBTriggeredAbnormalActNotActNRLegRelease  = 100 * ( pmEndcRelUeAbnormalSgnbAct + pmEndcRelUeAbnormalSgnb ) / Ret_EndcUeRelTotal

#Differentiated E-RAB Retainability - Percentage Lost Captured in eNodeB.
Ret_EndcERabRetainabilityRateLost = 100 * ( pmFlexErabRelAbnormalEnbAct_Endc2To99 + pmFlexErabRelAbnormalMmeAct_Endc2To99 ) / ( pmFlexErabRelAbnormalEnb_Endc2To99 + pmFlexErabRelNormalEnb_Endc2To99 + pmFlexErabRelMme_Endc2To99 )



################
# Availability #
################

#Cell Availability; CORE-V-KPI:33
Av_NrCellAvail = 100 * ( (NR_ROP * 900) - ( pmCellDowntimeAuto + pmCellDowntimeMan ) ) / (NR_ROP * 900)

#Cell Downtime due to Manual Intervention.
Av_NrCellDownMan = 100 * pmCellDowntimeMan / (NR_ROP * 900)

#Cell Downtime due to System Intervention.
Av_NrCellDownAuto = 100 * pmCellDowntimeAuto / (NR_ROP * 900)


###############
#  Integrity  #
###############

#Average Active UE DL; CORE-V-KPI:641
Int_ActivUEsDl = pmActiveUeDlSum / pmActiveUeDlSamp

#Average Active UE UL; CORE-V-KPI:642
Int_ActivUEsUl = pmActiveUeUlSum / pmActiveUeUlSamp

#NR DL HARQ BLER QPSK [%]; CORE-B-PI:350
Int_DLHarqBler    = 100 * (pmMacHarqDlNackQpsk)  / (pmMacHarqDlAckQpsk   + pmMacHarqDlNackQpsk)

#NR DL HARQ BLER 16QAM [%]; CORE-B-PI:351
Int_DLHarqBler16  = 100 * (pmMacHarqDlNack16Qam) / (pmMacHarqDlAck16Qam  + pmMacHarqDlNack16Qam)

#NR DL HARQ BLER 64QAM [%]; CORE-B-PI:352
Int_DLHarqBler64  = 100 * (pmMacHarqDlNack64Qam) / (pmMacHarqDlAck64Qam  + pmMacHarqDlNack64Qam)

#NR DL HARQ BLER 256QAM [%]; CORE-B-PI:353
Int_DLHarqBler256 = 100 * (pmMacHarqDlNack256Qam)/ (pmMacHarqDlAck256Qam + pmMacHarqDlNack256Qam)

#NR UL HARQ BLER QPSK [%]; CORE-B-PI:580
Int_ULHarqBler    = 100 * (pmMacHarqUlNackQpsk)  / (pmMacHarqUlAckQpsk   + pmMacHarqUlNackQpsk)

#NR UL HARQ BLER 16QAM [%]; CORE-B-PI:581
Int_ULHarqBler16  = 100 * (pmMacHarqUlNack16Qam) / (pmMacHarqUlAck16Qam  + pmMacHarqUlNack16Qam)

#NR UL HARQ BLER 64QAM [%]; CORE-B-PI:582
Int_ULHarqBler64  = 100 * (pmMacHarqUlNack64Qam) / (pmMacHarqUlAck64Qam  + pmMacHarqUlNack64Qam)

#NR UL HARQ BLER 256QAM [%]; CORE-F:PI:889
Int_ULHarqBler256 = 100 * (pmMacHarqUlNack256Qam)/ (pmMacHarqUlAck256Qam + pmMacHarqUlNack256Qam)

#NR DL HARQ QPSK DTX Rate [%]; CORE-B-PI:512 
Int_DLHarqDtxRate   = 100 * (pmMacHarqDlDtxQpsk)  / (pmMacHarqDlAckQpsk   +  pmMacHarqDlNackQpsk   + pmMacHarqDlDtxQpsk)

#NR DL HARQ 16QAM DTX Rate [%]; CORE-B-PI:513 
Int_DLHarqDtxRate16 = 100 * (pmMacHarqDlDtx16Qam) / (pmMacHarqDlAck16Qam  +  pmMacHarqDlNack16Qam  + pmMacHarqDlDtx16Qam)

#NR DL HARQ 64QAM DTX Rate [%]; CORE-B-PI:514 
Int_DLHarqDtxRate64 = 100 * (pmMacHarqDlDtx64Qam) / (pmMacHarqDlAck64Qam  +  pmMacHarqDlNack64Qam  + pmMacHarqDlDtx64Qam)

#NR DL HARQ 256QAM DTX Rate [%]; CORE-B-PI:515 
Int_DLHarqDtxRate256 = 100 * (pmMacHarqDlDtx256Qam)/ (pmMacHarqDlAck256Qam +  pmMacHarqDlNack256Qam + pmMacHarqDlDtx256Qam)

#NR UL HARQ QPSK DTX Rate [%]; CORE-B-PI:583
Int_ULHarqDtxRate   = 100 * (pmMacHarqUlDtxQpsk)  / (pmMacHarqUlAckQpsk   +  pmMacHarqUlNackQpsk   + pmMacHarqUlDtxQpsk)

#NR UL HARQ 16QAM DTX Rate [%]; CORE-B-PI:584
Int_ULHarqDtxRate16 = 100 * (pmMacHarqUlDtx16Qam) / (pmMacHarqUlAck16Qam  +  pmMacHarqUlNack16Qam  + pmMacHarqUlDtx16Qam)

#NR UL HARQ 64QAM DTX Rate [%]; CORE-B-PI:585 
Int_ULHarqDtxRate64 = 100 * (pmMacHarqUlDtx64Qam) / (pmMacHarqUlAck64Qam  +  pmMacHarqUlNack64Qam  + pmMacHarqUlDtx64Qam)

#NR UL HARQ 256QAM DTX Rate [%]; CORE-B-PI:890 
Int_ULHarqDtxRate256 = 100 * (pmMacHarqUlDtx256Qam)/ (pmMacHarqUlAck256Qam +  pmMacHarqUlNack256Qam + pmMacHarqUlDtx256Qam)

#CORE-B-PI:563
Int_InitialDlHarqTransNackWith64Qam = pmMacHarqDlNack64QamInit

#NR DL Init HARQ BLER QPSK [%]; CORE-B-PI:358 
Int_DLInitHarqBler   = 100 * (pmMacHarqDlNackQpskInit) / (pmMacHarqDlAckQpskInit + pmMacHarqDlNackQpskInit)

#NR DL Init HARQ BLER 16QAM [%]; CORE-B-PI:359 
Int_DLInitHarqBler16 = 100 * (pmMacHarqDlNack16QamInit) / (pmMacHarqDlAck16QamInit + pmMacHarqDlNack16QamInit)

#NR DL Init HARQ BLER 64QAM [%]; CORE-B-PI:360 
Int_DLInitHarqBler64 = 100 * (pmMacHarqDlNack64QamInit) / (pmMacHarqDlAck64QamInit + pmMacHarqDlNack64QamInit)

#NR DL Init HARQ BLER 256QAM [%]; CORE-B-PI:361 
Int_DLInitHarqBler256 = 100 * (pmMacHarqDlNack256QamInit) / (pmMacHarqDlAck256QamInit + pmMacHarqDlNack256QamInit)

#NR DL Init HARQ DTX Rate QPSK [%]; CORE-B-PI:611 
Int_DLInitHarqDtxRate    = 100 * (pmMacHarqDlDtxQpskInit / (pmMacHarqDlNackQpskInit + pmMacHarqDlAckQpskInit + pmMacHarqDlDtxQpskInit))

#NR DL Init HARQ DTX Rate 16QAM [%]; CORE-B-PI:612 
Int_DLInitHarqDtxRate16  = 100 * (pmMacHarqDlDtx16QamInit / (pmMacHarqDlNack16QamInit + pmMacHarqDlAck16QamInit + pmMacHarqDlDtx16QamInit))

#NR DL Init HARQ DTX Rate 64QAM [%]; CORE-B-PI:613 
Int_DLInitHarqDtxRate64  = 100 * (pmMacHarqDlDtx64QamInit / (pmMacHarqDlNack64QamInit + pmMacHarqDlAck64QamInit + pmMacHarqDlDtx64QamInit))

#NR DL Init HARQ DTX Rate 256QAM [%]; CORE-B-PI:614 
Int_DLInitHarqDtxRate256 = 100 * (pmMacHarqDlDtx256QamInit / (pmMacHarqDlNack256QamInit + pmMacHarqDlAck256QamInit + pmMacHarqDlDtx256QamInit))

#NR UL Init HARQ BLER QPSK [%]; CORE-B-PI:586 
Int_ULInitHarqBler    = 100 * (pmMacHarqUlNackQpskInit) / (pmMacHarqUlAckQpskInit + pmMacHarqUlNackQpskInit)

#NR UL Init HARQ BLER 16QAM [%]; CORE-B-PI:587 
Int_ULInitHarqBler16  = 100 * (pmMacHarqUlNack16QamInit) / (pmMacHarqUlAck16QamInit + pmMacHarqUlNack16QamInit)

#NR UL Init HARQ BLER 64QAM [%]; CORE-B-PI:588 
Int_ULInitHarqBler64  = 100 * (pmMacHarqUlNack64QamInit) / (pmMacHarqUlAck64QamInit + pmMacHarqUlNack64QamInit)

#NR UL Init HARQ BLER 256QAM [%]; CORE-F-PI:891 
Int_ULInitHarqBler256 = 100 * (pmMacHarqUlNack256QamInit) / (pmMacHarqUlAck256QamInit + pmMacHarqUlNack256QamInit)

#NR UL Init HARQ DTX BLER QPSK [%];CORE-B-PI:589  
Int_ULInitHarqDtxRate = 100 * (pmMacHarqUlDtxQpskInit) / (pmMacHarqUlAckQpskInit + pmMacHarqUlNackQpskInit + pmMacHarqUlDtxQpskInit)

#NR UL Init HARQ DTX BLER 16QAM [%]; CORE-B-PI:590  
Int_ULInitHarqDtxRate16 = 100 * (pmMacHarqUlDtx16QamInit) / (pmMacHarqUlAck16QamInit + pmMacHarqUlNack16QamInit + pmMacHarqUlDtx16QamInit)

#NR UL Init HARQ DTX BLER 64QAM [%]; CORE-B-PI:591  
Int_ULInitHarqDtxRate64 = 100 * (pmMacHarqUlDtx64QamInit) / (pmMacHarqUlAck64QamInit + pmMacHarqUlNack64QamInit + pmMacHarqUlDtx64QamInit)

#NR UL Init HARQ DTX BLER 256QAM [%]; CORE-F-PI:892  
Int_ULInitHarqDtxRate256 = 100 * (pmMacHarqUlDtx256QamInit) / (pmMacHarqUlAck256QamInit + pmMacHarqUlNack256QamInit + pmMacHarqUlDtx256QamInit)

#NR DL HARQ DTX Rate Total [%]; CORE-B-PI:897 
Int_DLHarqDtxRateTotal  = 100 * (pmMacHarqDlDtxQpsk + pmMacHarqDlDtx16Qam + pmMacHarqDlDtx64Qam + pmMacHarqDlDtx256Qam) / (pmMacHarqDlAckQpsk + pmMacHarqDlNackQpsk + pmMacHarqDlDtxQpsk + pmMacHarqDlAck16Qam + pmMacHarqDlNack16Qam + pmMacHarqDlDtx16Qam + pmMacHarqDlAck64Qam + pmMacHarqDlNack64Qam + pmMacHarqDlDtx64Qam + pmMacHarqDlAck256Qam + pmMacHarqDlNack256Qam + pmMacHarqDlDtx256Qam)

#NR UL HARQ DTX Rate Total [%]; CORE-F-PI:858  
Int_ULHarqDtxRateTotal = 100 * (pmMacHarqUlDtxQpsk + pmMacHarqUlDtx16Qam + pmMacHarqUlDtx64Qam + pmMacHarqUlDtx256Qam) / (pmMacHarqUlAckQpsk + pmMacHarqUlNackQpsk + pmMacHarqUlDtxQpsk + pmMacHarqUlAck16Qam + pmMacHarqUlNack16Qam + pmMacHarqUlDtx16Qam + pmMacHarqUlAck64Qam + pmMacHarqUlNack64Qam + pmMacHarqUlDtx64Qam + pmMacHarqUlAck256Qam + pmMacHarqUlNack256Qam + pmMacHarqUlDtx256Qam)


De_DrbEstabAtt5qi  = decompressArray(pmDrbEstabAtt5qi)
De_DrbEstabSucc5qi = decompressArray(pmDrbEstabSucc5qi)
Int_DrbEstabAtt5qi_1 = @{De_DrbEstabAtt5qi}[1]
Int_DrbEstabAtt5qi_2 = @{De_DrbEstabAtt5qi}[2]
Int_DrbEstabAtt5qi_3 = @{De_DrbEstabAtt5qi}[3]
Int_DrbEstabAtt5qi_4 = @{De_DrbEstabAtt5qi}[4]
Int_DrbEstabAtt5qi_5 = @{De_DrbEstabAtt5qi}[5]
Int_DrbEstabAtt5qi_6 = @{De_DrbEstabAtt5qi}[6]
Int_DrbEstabAtt5qi_7 = @{De_DrbEstabAtt5qi}[7]
Int_DrbEstabAtt5qi_8 = @{De_DrbEstabAtt5qi}[8]
Int_DrbEstabAtt5qi_9 = @{De_DrbEstabAtt5qi}[9]

#DRB Establishment Success Rate for Voice Traffic 5QI[1] [%]; CORE-B-PI:987 
Int_SaDrbEstabSuccRate5qi_1 = @{De_DrbEstabSucc5qi}[1] / @{De_DrbEstabAtt5qi}[1]
Int_SaDrbEstabSuccRate5qi_2 = @{De_DrbEstabSucc5qi}[2] / @{De_DrbEstabAtt5qi}[2]
Int_SaDrbEstabSuccRate5qi_3 = @{De_DrbEstabSucc5qi}[3] / @{De_DrbEstabAtt5qi}[3]
Int_SaDrbEstabSuccRate5qi_4 = @{De_DrbEstabSucc5qi}[4] / @{De_DrbEstabAtt5qi}[4]
Int_SaDrbEstabSuccRate5qi_5 = @{De_DrbEstabSucc5qi}[5] / @{De_DrbEstabAtt5qi}[5]
Int_SaDrbEstabSuccRate5qi_6 = @{De_DrbEstabSucc5qi}[6] / @{De_DrbEstabAtt5qi}[6]
Int_SaDrbEstabSuccRate5qi_7 = @{De_DrbEstabSucc5qi}[7] / @{De_DrbEstabAtt5qi}[7]
Int_SaDrbEstabSuccRate5qi_8 = @{De_DrbEstabSucc5qi}[8] / @{De_DrbEstabAtt5qi}[8]
Int_SaDrbEstabSuccRate5qi_9 = @{De_DrbEstabSucc5qi}[9] / @{De_DrbEstabAtt5qi}[9]



De_PdcpPktRecUlQos        = decompressArray(pmPdcpPktRecUlQos       )
De_PdcpPktLossUlQos       = decompressArray(pmPdcpPktLossUlQos      )
De_PdcpPktLossUlToQos     = decompressArray(pmPdcpPktLossUlToQos    )
De_PdcpPktLossUlToDiscQos = decompressArray(pmPdcpPktLossUlToDiscQos)
De_PdcpPktRecUlOooQos     = decompressArray(pmPdcpPktRecUlOooQos    )

#UL Packet Loss Captured in gNodeB normalized with out of order PDU delivered
#UL Packet Loss Rate for each QoS, from 21.Q2 [%]; CORE-B-KPI:557
Int_PacketLossRateUlQos_1 = 100 * ( @{De_PdcpPktLossUlQos}[1] - @{De_PdcpPktRecUlOooQos}[1] ) / ( @{De_PdcpPktRecUlQos}[1] + @{De_PdcpPktLossUlToQos}[1] - ( @{De_PdcpPktLossUlToDiscQos}[1] + @{De_PdcpPktRecUlOooQos}[1] ) )
Int_PacketLossRateUlQos_2 = 100 * ( @{De_PdcpPktLossUlQos}[2] - @{De_PdcpPktRecUlOooQos}[2] ) / ( @{De_PdcpPktRecUlQos}[2] + @{De_PdcpPktLossUlToQos}[2] - ( @{De_PdcpPktLossUlToDiscQos}[2] + @{De_PdcpPktRecUlOooQos}[2] ) )
Int_PacketLossRateUlQos_3 = 100 * ( @{De_PdcpPktLossUlQos}[3] - @{De_PdcpPktRecUlOooQos}[3] ) / ( @{De_PdcpPktRecUlQos}[3] + @{De_PdcpPktLossUlToQos}[3] - ( @{De_PdcpPktLossUlToDiscQos}[3] + @{De_PdcpPktRecUlOooQos}[3] ) )
Int_PacketLossRateUlQos_4 = 100 * ( @{De_PdcpPktLossUlQos}[4] - @{De_PdcpPktRecUlOooQos}[4] ) / ( @{De_PdcpPktRecUlQos}[4] + @{De_PdcpPktLossUlToQos}[4] - ( @{De_PdcpPktLossUlToDiscQos}[4] + @{De_PdcpPktRecUlOooQos}[4] ) )
Int_PacketLossRateUlQos_5 = 100 * ( @{De_PdcpPktLossUlQos}[5] - @{De_PdcpPktRecUlOooQos}[5] ) / ( @{De_PdcpPktRecUlQos}[5] + @{De_PdcpPktLossUlToQos}[5] - ( @{De_PdcpPktLossUlToDiscQos}[5] + @{De_PdcpPktRecUlOooQos}[5] ) )
Int_PacketLossRateUlQos_6 = 100 * ( @{De_PdcpPktLossUlQos}[6] - @{De_PdcpPktRecUlOooQos}[6] ) / ( @{De_PdcpPktRecUlQos}[6] + @{De_PdcpPktLossUlToQos}[6] - ( @{De_PdcpPktLossUlToDiscQos}[6] + @{De_PdcpPktRecUlOooQos}[6] ) )
Int_PacketLossRateUlQos_7 = 100 * ( @{De_PdcpPktLossUlQos}[7] - @{De_PdcpPktRecUlOooQos}[7] ) / ( @{De_PdcpPktRecUlQos}[7] + @{De_PdcpPktLossUlToQos}[7] - ( @{De_PdcpPktLossUlToDiscQos}[7] + @{De_PdcpPktRecUlOooQos}[7] ) )
Int_PacketLossRateUlQos_8 = 100 * ( @{De_PdcpPktLossUlQos}[8] - @{De_PdcpPktRecUlOooQos}[8] ) / ( @{De_PdcpPktRecUlQos}[8] + @{De_PdcpPktLossUlToQos}[8] - ( @{De_PdcpPktLossUlToDiscQos}[8] + @{De_PdcpPktRecUlOooQos}[8] ) )
Int_PacketLossRateUlQos_9 = 100 * ( @{De_PdcpPktLossUlQos}[9] - @{De_PdcpPktRecUlOooQos}[9] ) / ( @{De_PdcpPktRecUlQos}[9] + @{De_PdcpPktLossUlToQos}[9] - ( @{De_PdcpPktLossUlToDiscQos}[9] + @{De_PdcpPktRecUlOooQos}[9] ) )

### TO BE DELETED
##Int_PacketLossRateUl5qi_1 = 100 * ( @{De_PdcpPktRecUlOooQos}[1] ) / ( @{De_PdcpPktRecUlQos}[1] + @{De_PdcpPktLossUlToQos}[1] - ( @{De_PdcpPktLossUlToDiscQos}[1] ) )
##Int_PacketLossRateUl5qi_2 = 100 * ( @{De_PdcpPktRecUlOooQos}[2] ) / ( @{De_PdcpPktRecUlQos}[2] + @{De_PdcpPktLossUlToQos}[2] - ( @{De_PdcpPktLossUlToDiscQos}[2] ) )
##Int_PacketLossRateUl5qi_3 = 100 * ( @{De_PdcpPktRecUlOooQos}[3] ) / ( @{De_PdcpPktRecUlQos}[3] + @{De_PdcpPktLossUlToQos}[3] - ( @{De_PdcpPktLossUlToDiscQos}[3] ) )
##Int_PacketLossRateUl5qi_4 = 100 * ( @{De_PdcpPktRecUlOooQos}[4] ) / ( @{De_PdcpPktRecUlQos}[4] + @{De_PdcpPktLossUlToQos}[4] - ( @{De_PdcpPktLossUlToDiscQos}[4] ) )
##Int_PacketLossRateUl5qi_5 = 100 * ( @{De_PdcpPktRecUlOooQos}[5] ) / ( @{De_PdcpPktRecUlQos}[5] + @{De_PdcpPktLossUlToQos}[5] - ( @{De_PdcpPktLossUlToDiscQos}[5] ) )
##Int_PacketLossRateUl5qi_6 = 100 * ( @{De_PdcpPktRecUlOooQos}[6] ) / ( @{De_PdcpPktRecUlQos}[6] + @{De_PdcpPktLossUlToQos}[6] - ( @{De_PdcpPktLossUlToDiscQos}[6] ) )
##Int_PacketLossRateUl5qi_7 = 100 * ( @{De_PdcpPktRecUlOooQos}[7] ) / ( @{De_PdcpPktRecUlQos}[7] + @{De_PdcpPktLossUlToQos}[7] - ( @{De_PdcpPktLossUlToDiscQos}[7] ) )
##Int_PacketLossRateUl5qi_8 = 100 * ( @{De_PdcpPktRecUlOooQos}[8] ) / ( @{De_PdcpPktRecUlQos}[8] + @{De_PdcpPktLossUlToQos}[8] - ( @{De_PdcpPktLossUlToDiscQos}[8] ) )
##Int_PacketLossRateUl5qi_9 = 100 * ( @{De_PdcpPktRecUlOooQos}[9] ) / ( @{De_PdcpPktRecUlQos}[9] + @{De_PdcpPktLossUlToQos}[9] - ( @{De_PdcpPktLossUlToDiscQos}[9] ) )
##################




# Interference
#DEPRECATED -- Average Power Intereference on PUSCH [fW]; CORE-F-PI:743 
Int_AvgRadioRecInterferencePwr_fW = WeightedAverage(pmRadioRecInterferencePwrDistr, [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])

#DEPRECATED -- Average Power Intereference on PUSCH [db]; CORE-F-PI:743 
Int_AvgRadioRecInterferencePwr = 10*log10(Int_AvgRadioRecInterferencePwr_fW / 1000000000000)

#Average Power Intereference on PUSCH [fW]; CORE-F-PI:971 
Int_AvgRadioRecInterferencePower_fW = WeightedAverage(pmRadioRecInterferencePowerDistr, [0.1,0.129245,0.204840,0.324650,0.514535,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])

#Average Power Intereference on PUSCH [dB]; CORE-F-PI:971 
Int_AvgRadioRecInterferencePower = 10*log10(Int_AvgRadioRecInterferencePower_fW / 1000000000000)

#OLD Average Distribution of the SINR Values Calculated for PUCCH
Int_RadioSinrPucchDistrOld = WeightedAverage(pmRadioSinrPucchDistr,[-15,-13.5,-10.5,-7.5,-4.5,-1.5,1.5,3])

#Average Distribution of the SINR Values Calculated for PUCCH
Int_RadioSinrPucchDistr = 10*log10(WeightedAverage(pmRadioSinrPucchDistr,[0.0158114,0.0473593,0.0944941,0.188541,0.376188,0.750594,1.49763,1.99526]))

#OLD Average Distribution of the SINR Values Calculated for PUSCH; CORE-B-PI:760 
Int_RadioSinrPuschDistrOld = WeightedAverage(pmRadioSinrPuschDistr,[-5,-3.5,-0.5,2.5,5.5,8.5,11.5,14.5,17.5,20.5,23.5,25])

#Average Distribution of the SINR Values Calculated for PUSCH; CORE-B-PI:760 
Int_RadioSinrPuschDistr = 10*log10(WeightedAverage(pmRadioSinrPuschDistr,[0.158114,0.473592,0.944944,1.88541,3.76188,7.50594,14.9763,29.8817,59.6217,118.961,237.358,316.228])) 

#Interference per PRB in dBm
Int_AvgRadioRecInterferencePwrPrb001 = - @{pmRadioRecInterferencePwrSumPrbDistr}[0] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[0] / 10
Int_AvgRadioRecInterferencePwrPrb002 = - @{pmRadioRecInterferencePwrSumPrbDistr}[1] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[1] / 10
Int_AvgRadioRecInterferencePwrPrb003 = - @{pmRadioRecInterferencePwrSumPrbDistr}[2] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[2] / 10
Int_AvgRadioRecInterferencePwrPrb004 = - @{pmRadioRecInterferencePwrSumPrbDistr}[3] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[3] / 10
Int_AvgRadioRecInterferencePwrPrb005 = - @{pmRadioRecInterferencePwrSumPrbDistr}[4] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[4] / 10
Int_AvgRadioRecInterferencePwrPrb006 = - @{pmRadioRecInterferencePwrSumPrbDistr}[5] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[5] / 10
Int_AvgRadioRecInterferencePwrPrb007 = - @{pmRadioRecInterferencePwrSumPrbDistr}[6] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[6] / 10
Int_AvgRadioRecInterferencePwrPrb008 = - @{pmRadioRecInterferencePwrSumPrbDistr}[7] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[7] / 10
Int_AvgRadioRecInterferencePwrPrb009 = - @{pmRadioRecInterferencePwrSumPrbDistr}[8] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[8] / 10
Int_AvgRadioRecInterferencePwrPrb010 = - @{pmRadioRecInterferencePwrSumPrbDistr}[9] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[9] / 10
Int_AvgRadioRecInterferencePwrPrb011 = - @{pmRadioRecInterferencePwrSumPrbDistr}[10] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[10] / 10
Int_AvgRadioRecInterferencePwrPrb012 = - @{pmRadioRecInterferencePwrSumPrbDistr}[11] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[11] / 10
Int_AvgRadioRecInterferencePwrPrb013 = - @{pmRadioRecInterferencePwrSumPrbDistr}[12] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[12] / 10
Int_AvgRadioRecInterferencePwrPrb014 = - @{pmRadioRecInterferencePwrSumPrbDistr}[13] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[13] / 10
Int_AvgRadioRecInterferencePwrPrb015 = - @{pmRadioRecInterferencePwrSumPrbDistr}[14] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[14] / 10
Int_AvgRadioRecInterferencePwrPrb016 = - @{pmRadioRecInterferencePwrSumPrbDistr}[15] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[15] / 10
Int_AvgRadioRecInterferencePwrPrb017 = - @{pmRadioRecInterferencePwrSumPrbDistr}[16] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[16] / 10
Int_AvgRadioRecInterferencePwrPrb018 = - @{pmRadioRecInterferencePwrSumPrbDistr}[17] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[17] / 10
Int_AvgRadioRecInterferencePwrPrb019 = - @{pmRadioRecInterferencePwrSumPrbDistr}[18] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[18] / 10
Int_AvgRadioRecInterferencePwrPrb020 = - @{pmRadioRecInterferencePwrSumPrbDistr}[19] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[19] / 10
Int_AvgRadioRecInterferencePwrPrb021 = - @{pmRadioRecInterferencePwrSumPrbDistr}[20] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[20] / 10
Int_AvgRadioRecInterferencePwrPrb022 = - @{pmRadioRecInterferencePwrSumPrbDistr}[21] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[21] / 10
Int_AvgRadioRecInterferencePwrPrb023 = - @{pmRadioRecInterferencePwrSumPrbDistr}[22] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[22] / 10
Int_AvgRadioRecInterferencePwrPrb024 = - @{pmRadioRecInterferencePwrSumPrbDistr}[23] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[23] / 10
Int_AvgRadioRecInterferencePwrPrb025 = - @{pmRadioRecInterferencePwrSumPrbDistr}[24] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[24] / 10
Int_AvgRadioRecInterferencePwrPrb026 = - @{pmRadioRecInterferencePwrSumPrbDistr}[25] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[25] / 10
Int_AvgRadioRecInterferencePwrPrb027 = - @{pmRadioRecInterferencePwrSumPrbDistr}[26] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[26] / 10
Int_AvgRadioRecInterferencePwrPrb028 = - @{pmRadioRecInterferencePwrSumPrbDistr}[27] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[27] / 10
Int_AvgRadioRecInterferencePwrPrb029 = - @{pmRadioRecInterferencePwrSumPrbDistr}[28] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[28] / 10
Int_AvgRadioRecInterferencePwrPrb030 = - @{pmRadioRecInterferencePwrSumPrbDistr}[29] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[29] / 10
Int_AvgRadioRecInterferencePwrPrb031 = - @{pmRadioRecInterferencePwrSumPrbDistr}[30] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[30] / 10
Int_AvgRadioRecInterferencePwrPrb032 = - @{pmRadioRecInterferencePwrSumPrbDistr}[31] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[31] / 10
Int_AvgRadioRecInterferencePwrPrb033 = - @{pmRadioRecInterferencePwrSumPrbDistr}[32] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[32] / 10
Int_AvgRadioRecInterferencePwrPrb034 = - @{pmRadioRecInterferencePwrSumPrbDistr}[33] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[33] / 10
Int_AvgRadioRecInterferencePwrPrb035 = - @{pmRadioRecInterferencePwrSumPrbDistr}[34] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[34] / 10
Int_AvgRadioRecInterferencePwrPrb036 = - @{pmRadioRecInterferencePwrSumPrbDistr}[35] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[35] / 10
Int_AvgRadioRecInterferencePwrPrb037 = - @{pmRadioRecInterferencePwrSumPrbDistr}[36] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[36] / 10
Int_AvgRadioRecInterferencePwrPrb038 = - @{pmRadioRecInterferencePwrSumPrbDistr}[37] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[37] / 10
Int_AvgRadioRecInterferencePwrPrb039 = - @{pmRadioRecInterferencePwrSumPrbDistr}[38] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[38] / 10
Int_AvgRadioRecInterferencePwrPrb040 = - @{pmRadioRecInterferencePwrSumPrbDistr}[39] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[39] / 10
Int_AvgRadioRecInterferencePwrPrb041 = - @{pmRadioRecInterferencePwrSumPrbDistr}[40] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[40] / 10
Int_AvgRadioRecInterferencePwrPrb042 = - @{pmRadioRecInterferencePwrSumPrbDistr}[41] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[41] / 10
Int_AvgRadioRecInterferencePwrPrb043 = - @{pmRadioRecInterferencePwrSumPrbDistr}[42] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[42] / 10
Int_AvgRadioRecInterferencePwrPrb044 = - @{pmRadioRecInterferencePwrSumPrbDistr}[43] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[43] / 10
Int_AvgRadioRecInterferencePwrPrb045 = - @{pmRadioRecInterferencePwrSumPrbDistr}[44] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[44] / 10
Int_AvgRadioRecInterferencePwrPrb046 = - @{pmRadioRecInterferencePwrSumPrbDistr}[45] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[45] / 10
Int_AvgRadioRecInterferencePwrPrb047 = - @{pmRadioRecInterferencePwrSumPrbDistr}[46] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[46] / 10
Int_AvgRadioRecInterferencePwrPrb048 = - @{pmRadioRecInterferencePwrSumPrbDistr}[47] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[47] / 10
Int_AvgRadioRecInterferencePwrPrb049 = - @{pmRadioRecInterferencePwrSumPrbDistr}[48] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[48] / 10
Int_AvgRadioRecInterferencePwrPrb050 = - @{pmRadioRecInterferencePwrSumPrbDistr}[49] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[49] / 10
Int_AvgRadioRecInterferencePwrPrb051 = - @{pmRadioRecInterferencePwrSumPrbDistr}[50] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[50] / 10
Int_AvgRadioRecInterferencePwrPrb052 = - @{pmRadioRecInterferencePwrSumPrbDistr}[51] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[51] / 10
Int_AvgRadioRecInterferencePwrPrb053 = - @{pmRadioRecInterferencePwrSumPrbDistr}[52] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[52] / 10
Int_AvgRadioRecInterferencePwrPrb054 = - @{pmRadioRecInterferencePwrSumPrbDistr}[53] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[53] / 10
Int_AvgRadioRecInterferencePwrPrb055 = - @{pmRadioRecInterferencePwrSumPrbDistr}[54] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[54] / 10
Int_AvgRadioRecInterferencePwrPrb056 = - @{pmRadioRecInterferencePwrSumPrbDistr}[55] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[55] / 10
Int_AvgRadioRecInterferencePwrPrb057 = - @{pmRadioRecInterferencePwrSumPrbDistr}[56] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[56] / 10
Int_AvgRadioRecInterferencePwrPrb058 = - @{pmRadioRecInterferencePwrSumPrbDistr}[57] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[57] / 10
Int_AvgRadioRecInterferencePwrPrb059 = - @{pmRadioRecInterferencePwrSumPrbDistr}[58] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[58] / 10
Int_AvgRadioRecInterferencePwrPrb060 = - @{pmRadioRecInterferencePwrSumPrbDistr}[59] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[59] / 10
Int_AvgRadioRecInterferencePwrPrb061 = - @{pmRadioRecInterferencePwrSumPrbDistr}[60] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[60] / 10
Int_AvgRadioRecInterferencePwrPrb062 = - @{pmRadioRecInterferencePwrSumPrbDistr}[61] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[61] / 10
Int_AvgRadioRecInterferencePwrPrb063 = - @{pmRadioRecInterferencePwrSumPrbDistr}[62] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[62] / 10
Int_AvgRadioRecInterferencePwrPrb064 = - @{pmRadioRecInterferencePwrSumPrbDistr}[63] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[63] / 10
Int_AvgRadioRecInterferencePwrPrb065 = - @{pmRadioRecInterferencePwrSumPrbDistr}[64] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[64] / 10
Int_AvgRadioRecInterferencePwrPrb066 = - @{pmRadioRecInterferencePwrSumPrbDistr}[65] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[65] / 10
Int_AvgRadioRecInterferencePwrPrb067 = - @{pmRadioRecInterferencePwrSumPrbDistr}[66] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[66] / 10
Int_AvgRadioRecInterferencePwrPrb068 = - @{pmRadioRecInterferencePwrSumPrbDistr}[67] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[67] / 10
Int_AvgRadioRecInterferencePwrPrb069 = - @{pmRadioRecInterferencePwrSumPrbDistr}[68] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[68] / 10
Int_AvgRadioRecInterferencePwrPrb070 = - @{pmRadioRecInterferencePwrSumPrbDistr}[69] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[69] / 10
Int_AvgRadioRecInterferencePwrPrb071 = - @{pmRadioRecInterferencePwrSumPrbDistr}[70] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[70] / 10
Int_AvgRadioRecInterferencePwrPrb072 = - @{pmRadioRecInterferencePwrSumPrbDistr}[71] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[71] / 10
Int_AvgRadioRecInterferencePwrPrb073 = - @{pmRadioRecInterferencePwrSumPrbDistr}[72] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[72] / 10
Int_AvgRadioRecInterferencePwrPrb074 = - @{pmRadioRecInterferencePwrSumPrbDistr}[73] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[73] / 10
Int_AvgRadioRecInterferencePwrPrb075 = - @{pmRadioRecInterferencePwrSumPrbDistr}[74] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[74] / 10
Int_AvgRadioRecInterferencePwrPrb076 = - @{pmRadioRecInterferencePwrSumPrbDistr}[75] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[75] / 10
Int_AvgRadioRecInterferencePwrPrb077 = - @{pmRadioRecInterferencePwrSumPrbDistr}[76] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[76] / 10
Int_AvgRadioRecInterferencePwrPrb078 = - @{pmRadioRecInterferencePwrSumPrbDistr}[77] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[77] / 10
Int_AvgRadioRecInterferencePwrPrb079 = - @{pmRadioRecInterferencePwrSumPrbDistr}[78] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[78] / 10
Int_AvgRadioRecInterferencePwrPrb080 = - @{pmRadioRecInterferencePwrSumPrbDistr}[79] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[79] / 10
Int_AvgRadioRecInterferencePwrPrb081 = - @{pmRadioRecInterferencePwrSumPrbDistr}[80] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[80] / 10
Int_AvgRadioRecInterferencePwrPrb082 = - @{pmRadioRecInterferencePwrSumPrbDistr}[81] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[81] / 10
Int_AvgRadioRecInterferencePwrPrb083 = - @{pmRadioRecInterferencePwrSumPrbDistr}[82] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[82] / 10
Int_AvgRadioRecInterferencePwrPrb084 = - @{pmRadioRecInterferencePwrSumPrbDistr}[83] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[83] / 10
Int_AvgRadioRecInterferencePwrPrb085 = - @{pmRadioRecInterferencePwrSumPrbDistr}[84] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[84] / 10
Int_AvgRadioRecInterferencePwrPrb086 = - @{pmRadioRecInterferencePwrSumPrbDistr}[85] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[85] / 10
Int_AvgRadioRecInterferencePwrPrb087 = - @{pmRadioRecInterferencePwrSumPrbDistr}[86] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[86] / 10
Int_AvgRadioRecInterferencePwrPrb088 = - @{pmRadioRecInterferencePwrSumPrbDistr}[87] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[87] / 10
Int_AvgRadioRecInterferencePwrPrb089 = - @{pmRadioRecInterferencePwrSumPrbDistr}[88] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[88] / 10
Int_AvgRadioRecInterferencePwrPrb090 = - @{pmRadioRecInterferencePwrSumPrbDistr}[89] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[89] / 10
Int_AvgRadioRecInterferencePwrPrb091 = - @{pmRadioRecInterferencePwrSumPrbDistr}[90] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[90] / 10
Int_AvgRadioRecInterferencePwrPrb092 = - @{pmRadioRecInterferencePwrSumPrbDistr}[91] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[91] / 10
Int_AvgRadioRecInterferencePwrPrb093 = - @{pmRadioRecInterferencePwrSumPrbDistr}[92] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[92] / 10
Int_AvgRadioRecInterferencePwrPrb094 = - @{pmRadioRecInterferencePwrSumPrbDistr}[93] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[93] / 10
Int_AvgRadioRecInterferencePwrPrb095 = - @{pmRadioRecInterferencePwrSumPrbDistr}[94] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[94] / 10
Int_AvgRadioRecInterferencePwrPrb096 = - @{pmRadioRecInterferencePwrSumPrbDistr}[95] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[95] / 10
Int_AvgRadioRecInterferencePwrPrb097 = - @{pmRadioRecInterferencePwrSumPrbDistr}[96] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[96] / 10
Int_AvgRadioRecInterferencePwrPrb098 = - @{pmRadioRecInterferencePwrSumPrbDistr}[97] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[97] / 10
Int_AvgRadioRecInterferencePwrPrb099 = - @{pmRadioRecInterferencePwrSumPrbDistr}[98] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[98] / 10
Int_AvgRadioRecInterferencePwrPrb100 = - @{pmRadioRecInterferencePwrSumPrbDistr}[99] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[99] / 10
Int_AvgRadioRecInterferencePwrPrb101 = - @{pmRadioRecInterferencePwrSumPrbDistr}[100] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[100] / 10
Int_AvgRadioRecInterferencePwrPrb102 = - @{pmRadioRecInterferencePwrSumPrbDistr}[101] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[101] / 10
Int_AvgRadioRecInterferencePwrPrb103 = - @{pmRadioRecInterferencePwrSumPrbDistr}[102] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[102] / 10
Int_AvgRadioRecInterferencePwrPrb104 = - @{pmRadioRecInterferencePwrSumPrbDistr}[103] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[103] / 10
Int_AvgRadioRecInterferencePwrPrb105 = - @{pmRadioRecInterferencePwrSumPrbDistr}[104] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[104] / 10
Int_AvgRadioRecInterferencePwrPrb106 = - @{pmRadioRecInterferencePwrSumPrbDistr}[105] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[105] / 10
Int_AvgRadioRecInterferencePwrPrb107 = - @{pmRadioRecInterferencePwrSumPrbDistr}[106] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[106] / 10
Int_AvgRadioRecInterferencePwrPrb108 = - @{pmRadioRecInterferencePwrSumPrbDistr}[107] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[107] / 10
Int_AvgRadioRecInterferencePwrPrb109 = - @{pmRadioRecInterferencePwrSumPrbDistr}[108] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[108] / 10
Int_AvgRadioRecInterferencePwrPrb110 = - @{pmRadioRecInterferencePwrSumPrbDistr}[109] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[109] / 10
Int_AvgRadioRecInterferencePwrPrb111 = - @{pmRadioRecInterferencePwrSumPrbDistr}[110] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[110] / 10
Int_AvgRadioRecInterferencePwrPrb112 = - @{pmRadioRecInterferencePwrSumPrbDistr}[111] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[111] / 10
Int_AvgRadioRecInterferencePwrPrb113 = - @{pmRadioRecInterferencePwrSumPrbDistr}[112] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[112] / 10
Int_AvgRadioRecInterferencePwrPrb114 = - @{pmRadioRecInterferencePwrSumPrbDistr}[113] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[113] / 10
Int_AvgRadioRecInterferencePwrPrb115 = - @{pmRadioRecInterferencePwrSumPrbDistr}[114] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[114] / 10
Int_AvgRadioRecInterferencePwrPrb116 = - @{pmRadioRecInterferencePwrSumPrbDistr}[115] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[115] / 10
Int_AvgRadioRecInterferencePwrPrb117 = - @{pmRadioRecInterferencePwrSumPrbDistr}[116] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[116] / 10
Int_AvgRadioRecInterferencePwrPrb118 = - @{pmRadioRecInterferencePwrSumPrbDistr}[117] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[117] / 10
Int_AvgRadioRecInterferencePwrPrb119 = - @{pmRadioRecInterferencePwrSumPrbDistr}[118] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[118] / 10
Int_AvgRadioRecInterferencePwrPrb120 = - @{pmRadioRecInterferencePwrSumPrbDistr}[119] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[119] / 10
Int_AvgRadioRecInterferencePwrPrb121 = - @{pmRadioRecInterferencePwrSumPrbDistr}[120] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[120] / 10
Int_AvgRadioRecInterferencePwrPrb122 = - @{pmRadioRecInterferencePwrSumPrbDistr}[121] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[121] / 10
Int_AvgRadioRecInterferencePwrPrb123 = - @{pmRadioRecInterferencePwrSumPrbDistr}[122] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[122] / 10
Int_AvgRadioRecInterferencePwrPrb124 = - @{pmRadioRecInterferencePwrSumPrbDistr}[123] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[123] / 10
Int_AvgRadioRecInterferencePwrPrb125 = - @{pmRadioRecInterferencePwrSumPrbDistr}[124] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[124] / 10
Int_AvgRadioRecInterferencePwrPrb126 = - @{pmRadioRecInterferencePwrSumPrbDistr}[125] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[125] / 10
Int_AvgRadioRecInterferencePwrPrb127 = - @{pmRadioRecInterferencePwrSumPrbDistr}[126] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[126] / 10
Int_AvgRadioRecInterferencePwrPrb128 = - @{pmRadioRecInterferencePwrSumPrbDistr}[127] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[127] / 10
Int_AvgRadioRecInterferencePwrPrb129 = - @{pmRadioRecInterferencePwrSumPrbDistr}[128] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[128] / 10
Int_AvgRadioRecInterferencePwrPrb130 = - @{pmRadioRecInterferencePwrSumPrbDistr}[129] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[129] / 10
Int_AvgRadioRecInterferencePwrPrb131 = - @{pmRadioRecInterferencePwrSumPrbDistr}[130] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[130] / 10
Int_AvgRadioRecInterferencePwrPrb132 = - @{pmRadioRecInterferencePwrSumPrbDistr}[131] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[131] / 10
Int_AvgRadioRecInterferencePwrPrb133 = - @{pmRadioRecInterferencePwrSumPrbDistr}[132] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[132] / 10
Int_AvgRadioRecInterferencePwrPrb134 = - @{pmRadioRecInterferencePwrSumPrbDistr}[133] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[133] / 10
Int_AvgRadioRecInterferencePwrPrb135 = - @{pmRadioRecInterferencePwrSumPrbDistr}[134] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[134] / 10
Int_AvgRadioRecInterferencePwrPrb136 = - @{pmRadioRecInterferencePwrSumPrbDistr}[135] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[135] / 10
Int_AvgRadioRecInterferencePwrPrb137 = - @{pmRadioRecInterferencePwrSumPrbDistr}[136] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[136] / 10
Int_AvgRadioRecInterferencePwrPrb138 = - @{pmRadioRecInterferencePwrSumPrbDistr}[137] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[137] / 10
Int_AvgRadioRecInterferencePwrPrb139 = - @{pmRadioRecInterferencePwrSumPrbDistr}[138] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[138] / 10
Int_AvgRadioRecInterferencePwrPrb140 = - @{pmRadioRecInterferencePwrSumPrbDistr}[139] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[139] / 10
Int_AvgRadioRecInterferencePwrPrb141 = - @{pmRadioRecInterferencePwrSumPrbDistr}[140] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[140] / 10
Int_AvgRadioRecInterferencePwrPrb142 = - @{pmRadioRecInterferencePwrSumPrbDistr}[141] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[141] / 10
Int_AvgRadioRecInterferencePwrPrb143 = - @{pmRadioRecInterferencePwrSumPrbDistr}[142] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[142] / 10
Int_AvgRadioRecInterferencePwrPrb144 = - @{pmRadioRecInterferencePwrSumPrbDistr}[143] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[143] / 10
Int_AvgRadioRecInterferencePwrPrb145 = - @{pmRadioRecInterferencePwrSumPrbDistr}[144] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[144] / 10
Int_AvgRadioRecInterferencePwrPrb146 = - @{pmRadioRecInterferencePwrSumPrbDistr}[145] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[145] / 10
Int_AvgRadioRecInterferencePwrPrb147 = - @{pmRadioRecInterferencePwrSumPrbDistr}[146] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[146] / 10
Int_AvgRadioRecInterferencePwrPrb148 = - @{pmRadioRecInterferencePwrSumPrbDistr}[147] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[147] / 10
Int_AvgRadioRecInterferencePwrPrb149 = - @{pmRadioRecInterferencePwrSumPrbDistr}[148] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[148] / 10
Int_AvgRadioRecInterferencePwrPrb150 = - @{pmRadioRecInterferencePwrSumPrbDistr}[149] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[149] / 10
Int_AvgRadioRecInterferencePwrPrb151 = - @{pmRadioRecInterferencePwrSumPrbDistr}[150] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[150] / 10
Int_AvgRadioRecInterferencePwrPrb152 = - @{pmRadioRecInterferencePwrSumPrbDistr}[151] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[151] / 10
Int_AvgRadioRecInterferencePwrPrb153 = - @{pmRadioRecInterferencePwrSumPrbDistr}[152] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[152] / 10
Int_AvgRadioRecInterferencePwrPrb154 = - @{pmRadioRecInterferencePwrSumPrbDistr}[153] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[153] / 10
Int_AvgRadioRecInterferencePwrPrb155 = - @{pmRadioRecInterferencePwrSumPrbDistr}[154] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[154] / 10
Int_AvgRadioRecInterferencePwrPrb156 = - @{pmRadioRecInterferencePwrSumPrbDistr}[155] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[155] / 10
Int_AvgRadioRecInterferencePwrPrb157 = - @{pmRadioRecInterferencePwrSumPrbDistr}[156] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[156] / 10
Int_AvgRadioRecInterferencePwrPrb158 = - @{pmRadioRecInterferencePwrSumPrbDistr}[157] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[157] / 10
Int_AvgRadioRecInterferencePwrPrb159 = - @{pmRadioRecInterferencePwrSumPrbDistr}[158] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[158] / 10
Int_AvgRadioRecInterferencePwrPrb160 = - @{pmRadioRecInterferencePwrSumPrbDistr}[159] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[159] / 10
Int_AvgRadioRecInterferencePwrPrb161 = - @{pmRadioRecInterferencePwrSumPrbDistr}[160] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[160] / 10
Int_AvgRadioRecInterferencePwrPrb162 = - @{pmRadioRecInterferencePwrSumPrbDistr}[161] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[161] / 10
Int_AvgRadioRecInterferencePwrPrb163 = - @{pmRadioRecInterferencePwrSumPrbDistr}[162] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[162] / 10
Int_AvgRadioRecInterferencePwrPrb164 = - @{pmRadioRecInterferencePwrSumPrbDistr}[163] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[163] / 10
Int_AvgRadioRecInterferencePwrPrb165 = - @{pmRadioRecInterferencePwrSumPrbDistr}[164] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[164] / 10
Int_AvgRadioRecInterferencePwrPrb166 = - @{pmRadioRecInterferencePwrSumPrbDistr}[165] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[165] / 10
Int_AvgRadioRecInterferencePwrPrb167 = - @{pmRadioRecInterferencePwrSumPrbDistr}[166] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[166] / 10
Int_AvgRadioRecInterferencePwrPrb168 = - @{pmRadioRecInterferencePwrSumPrbDistr}[167] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[167] / 10
Int_AvgRadioRecInterferencePwrPrb169 = - @{pmRadioRecInterferencePwrSumPrbDistr}[168] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[168] / 10
Int_AvgRadioRecInterferencePwrPrb170 = - @{pmRadioRecInterferencePwrSumPrbDistr}[169] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[169] / 10
Int_AvgRadioRecInterferencePwrPrb171 = - @{pmRadioRecInterferencePwrSumPrbDistr}[170] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[170] / 10
Int_AvgRadioRecInterferencePwrPrb172 = - @{pmRadioRecInterferencePwrSumPrbDistr}[171] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[171] / 10
Int_AvgRadioRecInterferencePwrPrb173 = - @{pmRadioRecInterferencePwrSumPrbDistr}[172] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[172] / 10
Int_AvgRadioRecInterferencePwrPrb174 = - @{pmRadioRecInterferencePwrSumPrbDistr}[173] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[173] / 10
Int_AvgRadioRecInterferencePwrPrb175 = - @{pmRadioRecInterferencePwrSumPrbDistr}[174] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[174] / 10
Int_AvgRadioRecInterferencePwrPrb176 = - @{pmRadioRecInterferencePwrSumPrbDistr}[175] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[175] / 10
Int_AvgRadioRecInterferencePwrPrb177 = - @{pmRadioRecInterferencePwrSumPrbDistr}[176] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[176] / 10
Int_AvgRadioRecInterferencePwrPrb178 = - @{pmRadioRecInterferencePwrSumPrbDistr}[177] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[177] / 10
Int_AvgRadioRecInterferencePwrPrb179 = - @{pmRadioRecInterferencePwrSumPrbDistr}[178] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[178] / 10
Int_AvgRadioRecInterferencePwrPrb180 = - @{pmRadioRecInterferencePwrSumPrbDistr}[179] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[179] / 10
Int_AvgRadioRecInterferencePwrPrb181 = - @{pmRadioRecInterferencePwrSumPrbDistr}[180] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[180] / 10
Int_AvgRadioRecInterferencePwrPrb182 = - @{pmRadioRecInterferencePwrSumPrbDistr}[181] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[181] / 10
Int_AvgRadioRecInterferencePwrPrb183 = - @{pmRadioRecInterferencePwrSumPrbDistr}[182] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[182] / 10
Int_AvgRadioRecInterferencePwrPrb184 = - @{pmRadioRecInterferencePwrSumPrbDistr}[183] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[183] / 10
Int_AvgRadioRecInterferencePwrPrb185 = - @{pmRadioRecInterferencePwrSumPrbDistr}[184] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[184] / 10
Int_AvgRadioRecInterferencePwrPrb186 = - @{pmRadioRecInterferencePwrSumPrbDistr}[185] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[185] / 10
Int_AvgRadioRecInterferencePwrPrb187 = - @{pmRadioRecInterferencePwrSumPrbDistr}[186] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[186] / 10
Int_AvgRadioRecInterferencePwrPrb188 = - @{pmRadioRecInterferencePwrSumPrbDistr}[187] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[187] / 10
Int_AvgRadioRecInterferencePwrPrb189 = - @{pmRadioRecInterferencePwrSumPrbDistr}[188] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[188] / 10
Int_AvgRadioRecInterferencePwrPrb190 = - @{pmRadioRecInterferencePwrSumPrbDistr}[189] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[189] / 10
Int_AvgRadioRecInterferencePwrPrb191 = - @{pmRadioRecInterferencePwrSumPrbDistr}[190] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[190] / 10
Int_AvgRadioRecInterferencePwrPrb192 = - @{pmRadioRecInterferencePwrSumPrbDistr}[191] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[191] / 10
Int_AvgRadioRecInterferencePwrPrb193 = - @{pmRadioRecInterferencePwrSumPrbDistr}[192] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[192] / 10
Int_AvgRadioRecInterferencePwrPrb194 = - @{pmRadioRecInterferencePwrSumPrbDistr}[193] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[193] / 10
Int_AvgRadioRecInterferencePwrPrb195 = - @{pmRadioRecInterferencePwrSumPrbDistr}[194] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[194] / 10
Int_AvgRadioRecInterferencePwrPrb196 = - @{pmRadioRecInterferencePwrSumPrbDistr}[195] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[195] / 10
Int_AvgRadioRecInterferencePwrPrb197 = - @{pmRadioRecInterferencePwrSumPrbDistr}[196] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[196] / 10
Int_AvgRadioRecInterferencePwrPrb198 = - @{pmRadioRecInterferencePwrSumPrbDistr}[197] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[197] / 10
Int_AvgRadioRecInterferencePwrPrb199 = - @{pmRadioRecInterferencePwrSumPrbDistr}[198] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[198] / 10
Int_AvgRadioRecInterferencePwrPrb200 = - @{pmRadioRecInterferencePwrSumPrbDistr}[199] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[199] / 10
Int_AvgRadioRecInterferencePwrPrb201 = - @{pmRadioRecInterferencePwrSumPrbDistr}[200] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[200] / 10
Int_AvgRadioRecInterferencePwrPrb202 = - @{pmRadioRecInterferencePwrSumPrbDistr}[201] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[201] / 10
Int_AvgRadioRecInterferencePwrPrb203 = - @{pmRadioRecInterferencePwrSumPrbDistr}[202] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[202] / 10
Int_AvgRadioRecInterferencePwrPrb204 = - @{pmRadioRecInterferencePwrSumPrbDistr}[203] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[203] / 10
Int_AvgRadioRecInterferencePwrPrb205 = - @{pmRadioRecInterferencePwrSumPrbDistr}[204] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[204] / 10
Int_AvgRadioRecInterferencePwrPrb206 = - @{pmRadioRecInterferencePwrSumPrbDistr}[205] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[205] / 10
Int_AvgRadioRecInterferencePwrPrb207 = - @{pmRadioRecInterferencePwrSumPrbDistr}[206] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[206] / 10
Int_AvgRadioRecInterferencePwrPrb208 = - @{pmRadioRecInterferencePwrSumPrbDistr}[207] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[207] / 10
Int_AvgRadioRecInterferencePwrPrb209 = - @{pmRadioRecInterferencePwrSumPrbDistr}[208] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[208] / 10
Int_AvgRadioRecInterferencePwrPrb210 = - @{pmRadioRecInterferencePwrSumPrbDistr}[209] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[209] / 10
Int_AvgRadioRecInterferencePwrPrb211 = - @{pmRadioRecInterferencePwrSumPrbDistr}[210] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[210] / 10
Int_AvgRadioRecInterferencePwrPrb212 = - @{pmRadioRecInterferencePwrSumPrbDistr}[211] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[211] / 10
Int_AvgRadioRecInterferencePwrPrb213 = - @{pmRadioRecInterferencePwrSumPrbDistr}[212] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[212] / 10
Int_AvgRadioRecInterferencePwrPrb214 = - @{pmRadioRecInterferencePwrSumPrbDistr}[213] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[213] / 10
Int_AvgRadioRecInterferencePwrPrb215 = - @{pmRadioRecInterferencePwrSumPrbDistr}[214] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[214] / 10
Int_AvgRadioRecInterferencePwrPrb216 = - @{pmRadioRecInterferencePwrSumPrbDistr}[215] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[215] / 10
Int_AvgRadioRecInterferencePwrPrb217 = - @{pmRadioRecInterferencePwrSumPrbDistr}[216] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[216] / 10
Int_AvgRadioRecInterferencePwrPrb218 = - @{pmRadioRecInterferencePwrSumPrbDistr}[217] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[217] / 10
Int_AvgRadioRecInterferencePwrPrb219 = - @{pmRadioRecInterferencePwrSumPrbDistr}[218] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[218] / 10
Int_AvgRadioRecInterferencePwrPrb220 = - @{pmRadioRecInterferencePwrSumPrbDistr}[219] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[219] / 10
Int_AvgRadioRecInterferencePwrPrb221 = - @{pmRadioRecInterferencePwrSumPrbDistr}[220] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[220] / 10
Int_AvgRadioRecInterferencePwrPrb222 = - @{pmRadioRecInterferencePwrSumPrbDistr}[221] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[221] / 10
Int_AvgRadioRecInterferencePwrPrb223 = - @{pmRadioRecInterferencePwrSumPrbDistr}[222] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[222] / 10
Int_AvgRadioRecInterferencePwrPrb224 = - @{pmRadioRecInterferencePwrSumPrbDistr}[223] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[223] / 10
Int_AvgRadioRecInterferencePwrPrb225 = - @{pmRadioRecInterferencePwrSumPrbDistr}[224] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[224] / 10
Int_AvgRadioRecInterferencePwrPrb226 = - @{pmRadioRecInterferencePwrSumPrbDistr}[225] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[225] / 10
Int_AvgRadioRecInterferencePwrPrb227 = - @{pmRadioRecInterferencePwrSumPrbDistr}[226] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[226] / 10
Int_AvgRadioRecInterferencePwrPrb228 = - @{pmRadioRecInterferencePwrSumPrbDistr}[227] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[227] / 10
Int_AvgRadioRecInterferencePwrPrb229 = - @{pmRadioRecInterferencePwrSumPrbDistr}[228] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[228] / 10
Int_AvgRadioRecInterferencePwrPrb230 = - @{pmRadioRecInterferencePwrSumPrbDistr}[229] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[229] / 10
Int_AvgRadioRecInterferencePwrPrb231 = - @{pmRadioRecInterferencePwrSumPrbDistr}[230] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[230] / 10
Int_AvgRadioRecInterferencePwrPrb232 = - @{pmRadioRecInterferencePwrSumPrbDistr}[231] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[231] / 10
Int_AvgRadioRecInterferencePwrPrb233 = - @{pmRadioRecInterferencePwrSumPrbDistr}[232] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[232] / 10
Int_AvgRadioRecInterferencePwrPrb234 = - @{pmRadioRecInterferencePwrSumPrbDistr}[233] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[233] / 10
Int_AvgRadioRecInterferencePwrPrb235 = - @{pmRadioRecInterferencePwrSumPrbDistr}[234] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[234] / 10
Int_AvgRadioRecInterferencePwrPrb236 = - @{pmRadioRecInterferencePwrSumPrbDistr}[235] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[235] / 10
Int_AvgRadioRecInterferencePwrPrb237 = - @{pmRadioRecInterferencePwrSumPrbDistr}[236] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[236] / 10
Int_AvgRadioRecInterferencePwrPrb238 = - @{pmRadioRecInterferencePwrSumPrbDistr}[237] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[237] / 10
Int_AvgRadioRecInterferencePwrPrb239 = - @{pmRadioRecInterferencePwrSumPrbDistr}[238] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[238] / 10
Int_AvgRadioRecInterferencePwrPrb240 = - @{pmRadioRecInterferencePwrSumPrbDistr}[239] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[239] / 10
Int_AvgRadioRecInterferencePwrPrb241 = - @{pmRadioRecInterferencePwrSumPrbDistr}[240] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[240] / 10
Int_AvgRadioRecInterferencePwrPrb242 = - @{pmRadioRecInterferencePwrSumPrbDistr}[241] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[241] / 10
Int_AvgRadioRecInterferencePwrPrb243 = - @{pmRadioRecInterferencePwrSumPrbDistr}[242] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[242] / 10
Int_AvgRadioRecInterferencePwrPrb244 = - @{pmRadioRecInterferencePwrSumPrbDistr}[243] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[243] / 10
Int_AvgRadioRecInterferencePwrPrb245 = - @{pmRadioRecInterferencePwrSumPrbDistr}[244] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[244] / 10
Int_AvgRadioRecInterferencePwrPrb246 = - @{pmRadioRecInterferencePwrSumPrbDistr}[245] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[245] / 10
Int_AvgRadioRecInterferencePwrPrb247 = - @{pmRadioRecInterferencePwrSumPrbDistr}[246] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[246] / 10
Int_AvgRadioRecInterferencePwrPrb248 = - @{pmRadioRecInterferencePwrSumPrbDistr}[247] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[247] / 10
Int_AvgRadioRecInterferencePwrPrb249 = - @{pmRadioRecInterferencePwrSumPrbDistr}[248] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[248] / 10
Int_AvgRadioRecInterferencePwrPrb250 = - @{pmRadioRecInterferencePwrSumPrbDistr}[249] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[249] / 10
Int_AvgRadioRecInterferencePwrPrb251 = - @{pmRadioRecInterferencePwrSumPrbDistr}[250] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[250] / 10
Int_AvgRadioRecInterferencePwrPrb252 = - @{pmRadioRecInterferencePwrSumPrbDistr}[251] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[251] / 10
Int_AvgRadioRecInterferencePwrPrb253 = - @{pmRadioRecInterferencePwrSumPrbDistr}[252] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[252] / 10
Int_AvgRadioRecInterferencePwrPrb254 = - @{pmRadioRecInterferencePwrSumPrbDistr}[253] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[253] / 10
Int_AvgRadioRecInterferencePwrPrb255 = - @{pmRadioRecInterferencePwrSumPrbDistr}[254] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[254] / 10
Int_AvgRadioRecInterferencePwrPrb256 = - @{pmRadioRecInterferencePwrSumPrbDistr}[255] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[255] / 10
Int_AvgRadioRecInterferencePwrPrb257 = - @{pmRadioRecInterferencePwrSumPrbDistr}[256] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[256] / 10
Int_AvgRadioRecInterferencePwrPrb258 = - @{pmRadioRecInterferencePwrSumPrbDistr}[257] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[257] / 10
Int_AvgRadioRecInterferencePwrPrb259 = - @{pmRadioRecInterferencePwrSumPrbDistr}[258] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[258] / 10
Int_AvgRadioRecInterferencePwrPrb260 = - @{pmRadioRecInterferencePwrSumPrbDistr}[259] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[259] / 10
Int_AvgRadioRecInterferencePwrPrb261 = - @{pmRadioRecInterferencePwrSumPrbDistr}[260] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[260] / 10
Int_AvgRadioRecInterferencePwrPrb262 = - @{pmRadioRecInterferencePwrSumPrbDistr}[261] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[261] / 10
Int_AvgRadioRecInterferencePwrPrb263 = - @{pmRadioRecInterferencePwrSumPrbDistr}[262] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[262] / 10
Int_AvgRadioRecInterferencePwrPrb264 = - @{pmRadioRecInterferencePwrSumPrbDistr}[263] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[263] / 10
Int_AvgRadioRecInterferencePwrPrb265 = - @{pmRadioRecInterferencePwrSumPrbDistr}[264] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[264] / 10
Int_AvgRadioRecInterferencePwrPrb266 = - @{pmRadioRecInterferencePwrSumPrbDistr}[265] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[265] / 10
Int_AvgRadioRecInterferencePwrPrb267 = - @{pmRadioRecInterferencePwrSumPrbDistr}[266] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[266] / 10
Int_AvgRadioRecInterferencePwrPrb268 = - @{pmRadioRecInterferencePwrSumPrbDistr}[267] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[267] / 10
Int_AvgRadioRecInterferencePwrPrb269 = - @{pmRadioRecInterferencePwrSumPrbDistr}[268] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[268] / 10
Int_AvgRadioRecInterferencePwrPrb270 = - @{pmRadioRecInterferencePwrSumPrbDistr}[269] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[269] / 10
Int_AvgRadioRecInterferencePwrPrb271 = - @{pmRadioRecInterferencePwrSumPrbDistr}[270] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[270] / 10
Int_AvgRadioRecInterferencePwrPrb272 = - @{pmRadioRecInterferencePwrSumPrbDistr}[271] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[271] / 10
Int_AvgRadioRecInterferencePwrPrb273 = - @{pmRadioRecInterferencePwrSumPrbDistr}[272] / @{pmRadioRecInterferenceNoOfEventsPrbDistr}[272] / 10


#Packets discarded on PPFunction not to be related to either S1U nor C5U; CORE-B-PI:403 
Int_PacketsDiscardedC5UInt = pmPdcpPktDisc 

#Packets discarded on PPFunction not to be related to either S1U nor C5U with invalid GTPU header; CORE-B-PI:404 
Int_PacketsDiscardedWithInvalidGtpuHeaderC5UInt = pmPdcpPktDiscGtpu

#Packets discarded on PPFunction not to be related to either S1U nor C5U with missing ERAB context; CORE-B-PI:405 
Int_PacketsDiscardedWithMissingErabContextC5UInt = pmPdcpPktDiscNoCtxt 

#Packets transmitted in downlink; CORE-B-PI:406 
Int_PacketsTransmittedInDlC5UInt = pmPdcpPktTransDlQos

#Packets acknowledged to UE; CORE-B-PI:408 
Int_PacketsAcknowledgedToUeC5UInt = pmPdcpPktTransDlAckQos

#Packets discarded by RLC AQM reported by FC; CORE-B-PI:410 
Int_PacketsDiscardedByRlcAqmReportedByFcC5UInt  = pmPdcpPktTransDlDiscAqmQos

#Packets received by UE; CORE-B-PI:411 
Int_PacketsReceivedByUeC5UInt = pmPdcpPktRecUlQos 

#Packets received out of order by UE; CORE-B-PI:412 
Int_PacketsReceivedOooByUeC5UInt = pmPdcpPktRecUlOooQos

#Packets lost or discarded; CORE-B-PI:413 
Int_PacketsLostOrDiscardedC5UInt = pmPdcpPktLossUlQos

#Packets discarded due to late arrival; CORE-B-PI:415
Int_PacketsDiscardedDueToLateArrivalC5UInt = pmPdcpPktLossUlToDiscQos

#Transmitted volume in downlink; CORE-B-PI:416 
Int_TransmittedVolumeDlC5UInt = decompressArray(pmPdcpVolTransDlQos)

#Retransmitted volume; CORE-B-PI:417 
Int_RetransmittedVolumeQos =    decompressArray(pmPdcpVolTransDlRetransQos)

#Received volume; CORE-B-PI:418 
Int_ReceivedVolumeUlC5UInt = decompressArray(pmPdcpVolRecUlQos)

#Packets received, S1ULink to eNB; CORE-B-PI:419
Int_PacketsReceivedS1ULink = pmPdcpPktRecDl5qi

#Packets discarded, S1ULink to eNB; CORE-B-PI:420 
Int_PacketsDiscardedS1ULink = pmPdcpPktRecDlDisc5qi

#Packets discarded due to PDCP AQM, S1ULink to eNB; CORE-B-PI:421
Int_PacketsDiscardedDueToPdcpAqmS1ULink = pmPdcpPktRecDlDiscAqm5qi

#Packets transmitted, S1ULink to eNB; CORE-B-PI:422 
Int_PacketsTransmittedS1ULink = pmPdcpPktTransUl5qi 

#Volume transmitted, S1ULink to eNB; CORE-B-PI:423 
Int_VolumeTransmittedS1ULink = pmPdcpVolTransUl5qi

#Total number of packets (PDCP PDUs) discarded or lost for each QoS indicator in radio processing user plane in downlink. QoS indicator can be 5QI or QCI.
Int_PacketsDiscardedOrLostReportedByFcC5UInt = pmPdcpPktTransDlDiscQos

#Total number of packets (PDCP SDUs) retransmitted for each QoS indicator on radio processing user plane link in downlink. QoS indicator can be 5QI or QCI.
Int_PacketsRetransmittedInDlQos = pmPdcpPktTransDlRetransQos

#Average LTE DL MAC Cell Throughput, used for ESS in NR [mbps]; CORE-V-KPI:56
Int_DlMacThroughput_LTE_mbps = pmRadioThpVolDl / pmSchedActivityCellDl

#Sprint-Specific Integrity utilization formulas
Int_LTE_DL_PRB_Util_Av = (pmPrbUsedDlBcch + pmPrbUsedDlDtch + pmPrbUsedDlPcch + pmPrbUsedDlSrb) / pmPrbAvailDl 
Int_LTE_UL_PRB_Util_Av = pmPrbUsedUlDtch /  pmPrbAvailUl 

#Throughput in Mbps. Note: some of these formulas may give incorrect result , problem under investigation
# double kbps DL_Cell_Thp_Traffic_normalized = 64 * pmMacVolDl / (pmPdschSchedActivity * 1000)
# double kbps DL_Cell_Thp_Resources_Normalized_TDD = 64 * pmMacVolDl / (pmPdschAvailTime * 1000)
# double kbps DL_Cell_Thp_Fixed_Time_Normalization1 = 8 * pmMacVolDl / (900 * 1000000)
# not valid? DL_Cell_Thp_Fixed_Time_Normalization2 = 64 * pmMacVolDlDrb / (1000 * pmMacTimeDlDrb)
# double kbps   UL_Cell_Thp_Traffic_Normalized = 64 * pmMacVolUl / ( pmPuschSchedActivity * 1000)
# double kbps   UL_Cell_Thp_Resources_Normalized = 64 * pmMacVolUl / pmPuschAvailTime * 1000)
# double kbps   UL_Cell_Thp_Fixed_Time_Normalization = 8 * pmMacVolUl / (900 * 1000000)
# double kbps   UL_UE_Thp_User_Thp = 64 * pmMacVolUlResUe / (pmMacTimeUlResUe * 1000)

#Normalized Average DL MAC Cell Throughput Considering Traffic [kbps]; CORE-V-KPI:628
Int_DlMacThroughputPdschScheduled_kbps = 64 * pmMacVolDl / pmPdschSchedActivity

#Normalized Average DL MAC Cell Throughput Considering Traffic [kbps]; CORE-V-KPI:628 
#### DOUBLED Int_DlMacThroughput_NR_kbps = 64 * pmMacVolDl / pmPdschSchedActivity

#Normalized DL MAC Cell Throughput considering actual PDSCH slot only; CORE-B-KPI:629
Int_DlMacThroughputPdschSlots_kbps     = 64 * pmMacVolDl / pmPdschAvailTime

#Average DL MAC Cell Throughput - fixed time normalized for NRCellDU & GNBDUFunction; CORE-B-KPI:630, CORE-B-KPI:1102
Int_DlMacThroughputFixedTime_kbps      =  8 * pmMacVolDl / (900*1000)

#Normalized Average UL MAC Cell Throughput considering successful PUSCH slot only; CORE-V-KPI:600
Int_UlMacThroughputPdschScheduled_kbps = 64 * pmMacVolUl / pmPuschSchedActivity

#Normalized UL MAC Cell Throughput considering actual PUSCH slot only; CORE-B-KPI:601
Int_UlMacThroughputPdschSlots_kbps     = 64 * pmMacVolUl / pmPuschAvailTime

#Average UL MAC Cell Throughput - fixed time normalized for NRCellDU & GNBDUFunction; CORE-B-KPI:602, CORE-B-KPI:1101
Int_UlMacThroughputFixedTime_kbps      =  8 * pmMacVolUl / (900*1000)

#Average UL MAC UE Throughput; CORE-B-KPI:632
Int_UlMacUeThroughput_kbps             = 64 * pmMacVolUlResUe / pmMacTimeUlResUe

#Average DL MAC DRB Throughput captured in gNodeB; CORE-B-KPI:643
Int_DlMacDRBThroughput_kbps = 64 * (pmMacVolDlDrb + pmMacVolDlDrbOverlapLastSlot) / (pmMacTimeDlDrb - pmMacOverlapTimeDlDrbExtSCell)

De_MacVolDlDrbQos   = decompressArray(pmMacVolDlDrbQos)
De_MacTimeDlDrbQos  = decompressArray(pmMacTimeDlDrbQos)
De_MacVolDlDrbOverlapLastSlotQoS   = decompressArray(pmMacVolDlDrbOverlapLastSlotQoS)
De_MacOverlapTimeDlDrbExtSCellQoS  = decompressArray(pmMacOverlapTimeDlDrbExtSCellQoS)

#Average DL MAC DRB Throughput per QoS captured in gNodeB; CORE-B-KPI:644
Int_DlMacDRBThroughput_kbps_Qci_1 = 64 * ( @{De_MacVolDlDrbQos}[1] + @{De_MacVolDlDrbOverlapLastSlotQoS}[1] )/ ( @{De_MacTimeDlDrbQos}[1] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[1] )
Int_DlMacDRBThroughput_kbps_Qci_2 = 64 * ( @{De_MacVolDlDrbQos}[2] + @{De_MacVolDlDrbOverlapLastSlotQoS}[2] )/ ( @{De_MacTimeDlDrbQos}[2] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[2] )
Int_DlMacDRBThroughput_kbps_Qci_3 = 64 * ( @{De_MacVolDlDrbQos}[3] + @{De_MacVolDlDrbOverlapLastSlotQoS}[3] )/ ( @{De_MacTimeDlDrbQos}[3] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[3] )
Int_DlMacDRBThroughput_kbps_Qci_4 = 64 * ( @{De_MacVolDlDrbQos}[4] + @{De_MacVolDlDrbOverlapLastSlotQoS}[4] )/ ( @{De_MacTimeDlDrbQos}[4] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[4] )
Int_DlMacDRBThroughput_kbps_Qci_5 = 64 * ( @{De_MacVolDlDrbQos}[5] + @{De_MacVolDlDrbOverlapLastSlotQoS}[5] )/ ( @{De_MacTimeDlDrbQos}[5] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[5] )
Int_DlMacDRBThroughput_kbps_Qci_6 = 64 * ( @{De_MacVolDlDrbQos}[6] + @{De_MacVolDlDrbOverlapLastSlotQoS}[6] )/ ( @{De_MacTimeDlDrbQos}[6] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[6] )
Int_DlMacDRBThroughput_kbps_Qci_7 = 64 * ( @{De_MacVolDlDrbQos}[7] + @{De_MacVolDlDrbOverlapLastSlotQoS}[7] )/ ( @{De_MacTimeDlDrbQos}[7] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[7] )
Int_DlMacDRBThroughput_kbps_Qci_8 = 64 * ( @{De_MacVolDlDrbQos}[8] + @{De_MacVolDlDrbOverlapLastSlotQoS}[8] )/ ( @{De_MacTimeDlDrbQos}[8] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[8] )
Int_DlMacDRBThroughput_kbps_Qci_9 = 64 * ( @{De_MacVolDlDrbQos}[9] + @{De_MacVolDlDrbOverlapLastSlotQoS}[9] )/ ( @{De_MacTimeDlDrbQos}[9] - @{De_MacOverlapTimeDlDrbExtSCellQoS}[9] )

#Percentage Unrestricted Volume DL [%]; CORE-B-KPI:1170
Int_DlUnrestrictedVol = 100 * (pmMacVolDlDrbSingleBurst + pmMacVolDlDrbSingleSlotShortBurst + pmMacVolDlDrbLastSlot) / (pmMacVolDlDrb + pmMacVolDlDrbSingleBurst + pmMacVolDlDrbSingleSlotShortBurst + pmMacVolDlDrbLastSlot + pmMacVolDlDrbOverlapLastSlot)

#Percentage Unrestricted Volume UL [%]; CORE-B-KPI:1164
Int_UlUnrestrictedVol =  (100 * (pmMacVolUlUnresUe + pmMacVolUlUeLastSlot)) / ((pmMacVolUlUnresUe + pmMacVolUlUeLastSlot) + (pmMacVolUlResUe + pmMacVolUlResUeLate))

#Ratio of DL throughput volume from total DL volume [%]; CORE-B-PI:647 
Int_DlVolMacDrbSingleSlotRatio = 100 * pmMacVolDlDrb / (pmMacVolDlDrbSingleBurst + pmMacVolDlDrbLastSlot + pmMacVolDlDrb)

#Differentiated Average DL PDCP UE DRB Throughput Captured in eNodeB [kbps], ENDC Stage 2; CORE-F-PI:621
Int_DlPdcpThroughputLteLeg_kbps   =  (pmFlexPdcpVolDlDrb_Endc2To99 - pmFlexPdcpVolDlDrbLastTTIUe_Endc2To99)/(pmFlexUeThpTimeDl_Endc2To99/1000)

#Differentiated Average DL PDCP UE Throughput for LTE Leg using Carrier Aggregation Captured in eNodeB, ENDC Stage 2 [kbps]; CORE-B-PI:1121, but not in Mbps
Int_DlPdcpThroughputLteLegCa_kbps =  (pmFlexPdcpVolDlDrbCa_Endc2To99 - pmFlexPdcpVolDlDrbLastTTICa_Endc2To99) / ( pmFlexUeThpTimeDlCa_Endc2To99 / 1000 )

#Differentiated Average UL PDCP UE Throughput Captured in eNodeB, ENDC Stage 2 [kbps]; CORE-B-KPI:620
Int_UlPdcpThroughputLteLeg_kbps   =  pmFlexUeThpVolUl_Endc2To99 / (pmFlexUeThpTimeUl_Endc2To99 / 1000)

#Differentiated Average UL PDCP UE Throughput for Carrier Aggregation Captured in eNodeB, ENDC Stage 2 [kbps]; CORE-B-PI:1120, but not in Mbps
Int_UlPdcpThroughputLteLegCa_kbps =  pmFlexUeThpVolUlCa_Endc2To99 / (pmFlexUeThpTimeUlCa_Endc2To99 / 1000)

#Differentiated Average UL UE LCG Throughput Captured in eNodeB, ENDC Stage 2 [kbps]; CORE-B-PI:932
Int_UlLcgThroughputLteLeg_kbps    =  pmFlexLcgThpVolUl_Endc2To99 / ( pmFlexLcgThpTimeUl_Endc2To99 / 1000 )

#Average CQI per rank in NR cell is configured to be 64-QAM
Int_DlAvCqi64QamRank1 = WeightedAverage(pmRadioUeRepCqi64QamRank1Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
Int_DlAvCqi64QamRank2 = WeightedAverage(pmRadioUeRepCqi64QamRank2Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
Int_DlAvCqi64QamRank3 = WeightedAverage(pmRadioUeRepCqi64QamRank3Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
Int_DlAvCqi64QamRank4 = WeightedAverage(pmRadioUeRepCqi64QamRank4Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])

#Average CQI per rank in NR cell is configured to be 256-QAM
Int_DlAvCqi256QamRank1 = WeightedAverage(pmRadioUeRepCqi256QamRank1Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
Int_DlAvCqi256QamRank2 = WeightedAverage(pmRadioUeRepCqi256QamRank2Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
Int_DlAvCqi256QamRank3 = WeightedAverage(pmRadioUeRepCqi256QamRank3Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
Int_DlAvCqi256QamRank4 = WeightedAverage(pmRadioUeRepCqi256QamRank4Distr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])


#The Percentage of Reported Rank Distribution of Transmission Mode Rank1 [%]; CORE-F-PI:970 
Int_DlRank1Ratio = 100 * pmRadioUeRepRankDistr[0] / (pmRadioUeRepRankDistr[0] + pmRadioUeRepRankDistr[1] + pmRadioUeRepRankDistr[2] + pmRadioUeRepRankDistr[3])

#The Percentage of Reported Rank Distribution of Transmission Mode Rank2 [%]; CORE-F-PI:970 
Int_DlRank2Ratio = 100 * pmRadioUeRepRankDistr[1] / (pmRadioUeRepRankDistr[0] + pmRadioUeRepRankDistr[1] + pmRadioUeRepRankDistr[2] + pmRadioUeRepRankDistr[3])

#The Percentage of Reported Rank Distribution of Transmission Mode Rank3 [%]; CORE-F-PI:970 
Int_DlRank3Ratio = 100 * pmRadioUeRepRankDistr[2] / (pmRadioUeRepRankDistr[0] + pmRadioUeRepRankDistr[1] + pmRadioUeRepRankDistr[2] + pmRadioUeRepRankDistr[3])

#The Percentage of Reported Rank Distribution of Transmission Mode Rank4 [%]; CORE-F-PI:970 
Int_DlRank4Ratio = 100 * pmRadioUeRepRankDistr[3] / (pmRadioUeRepRankDistr[0] + pmRadioUeRepRankDistr[1] + pmRadioUeRepRankDistr[2] + pmRadioUeRepRankDistr[3])



#Latency
De_MacLatTimeDlNoDrxSyncQos  = decompressArray(pmMacLatTimeDlNoDrxSyncQos)
De_MacLatTimeDlNoDrxSyncSampQos  = decompressArray(pmMacLatTimeDlNoDrxSyncSampQos)
De_MacLatTimeDlDrxSyncQos  = decompressArray(pmMacLatTimeDlDrxSyncQos)
De_MacLatTimeDlDrxSyncSampQos  = decompressArray(pmMacLatTimeDlDrxSyncSampQos)

#Average Overall DL Latency per QoS [msec]; CORE-V-KPI:672
Int_AvDlMacDrbLat_Qci_1 = ( @{De_MacLatTimeDlDrxSyncQos}[1] + @{De_MacLatTimeDlNoDrxSyncQos}[1] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[1] + @{De_MacLatTimeDlNoDrxSyncSampQos}[1] ) /8
Int_AvDlMacDrbLat_Qci_2 = ( @{De_MacLatTimeDlDrxSyncQos}[2] + @{De_MacLatTimeDlNoDrxSyncQos}[2] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[2] + @{De_MacLatTimeDlNoDrxSyncSampQos}[2] ) /8
Int_AvDlMacDrbLat_Qci_3 = ( @{De_MacLatTimeDlDrxSyncQos}[3] + @{De_MacLatTimeDlNoDrxSyncQos}[3] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[3] + @{De_MacLatTimeDlNoDrxSyncSampQos}[3] ) /8
Int_AvDlMacDrbLat_Qci_4 = ( @{De_MacLatTimeDlDrxSyncQos}[4] + @{De_MacLatTimeDlNoDrxSyncQos}[4] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[4] + @{De_MacLatTimeDlNoDrxSyncSampQos}[4] ) /8
Int_AvDlMacDrbLat_Qci_5 = ( @{De_MacLatTimeDlDrxSyncQos}[5] + @{De_MacLatTimeDlNoDrxSyncQos}[5] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[5] + @{De_MacLatTimeDlNoDrxSyncSampQos}[5] ) /8
Int_AvDlMacDrbLat_Qci_6 = ( @{De_MacLatTimeDlDrxSyncQos}[6] + @{De_MacLatTimeDlNoDrxSyncQos}[6] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[6] + @{De_MacLatTimeDlNoDrxSyncSampQos}[6] ) /8
Int_AvDlMacDrbLat_Qci_7 = ( @{De_MacLatTimeDlDrxSyncQos}[7] + @{De_MacLatTimeDlNoDrxSyncQos}[7] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[7] + @{De_MacLatTimeDlNoDrxSyncSampQos}[7] ) /8
Int_AvDlMacDrbLat_Qci_8 = ( @{De_MacLatTimeDlDrxSyncQos}[8] + @{De_MacLatTimeDlNoDrxSyncQos}[8] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[8] + @{De_MacLatTimeDlNoDrxSyncSampQos}[8] ) /8
Int_AvDlMacDrbLat_Qci_9 = ( @{De_MacLatTimeDlDrxSyncQos}[9] + @{De_MacLatTimeDlNoDrxSyncQos}[9] ) / ( @{De_MacLatTimeDlDrxSyncSampQos}[9] + @{De_MacLatTimeDlNoDrxSyncSampQos}[9] ) /8

#Average DL MAC DRB Latency per QoS covering non-DRX In-sync [msec]; CORE-B-KPI:673
Int_AvDlMacDrbLatNoDrx_Qci_1 = @{De_MacLatTimeDlNoDrxSyncQos}[1] / @{De_MacLatTimeDlNoDrxSyncSampQos}[1] / 8
Int_AvDlMacDrbLatNoDrx_Qci_2 = @{De_MacLatTimeDlNoDrxSyncQos}[2] / @{De_MacLatTimeDlNoDrxSyncSampQos}[2] / 8
Int_AvDlMacDrbLatNoDrx_Qci_3 = @{De_MacLatTimeDlNoDrxSyncQos}[3] / @{De_MacLatTimeDlNoDrxSyncSampQos}[3] / 8
Int_AvDlMacDrbLatNoDrx_Qci_4 = @{De_MacLatTimeDlNoDrxSyncQos}[4] / @{De_MacLatTimeDlNoDrxSyncSampQos}[4] / 8
Int_AvDlMacDrbLatNoDrx_Qci_5 = @{De_MacLatTimeDlNoDrxSyncQos}[5] / @{De_MacLatTimeDlNoDrxSyncSampQos}[5] / 8
Int_AvDlMacDrbLatNoDrx_Qci_6 = @{De_MacLatTimeDlNoDrxSyncQos}[6] / @{De_MacLatTimeDlNoDrxSyncSampQos}[6] / 8
Int_AvDlMacDrbLatNoDrx_Qci_7 = @{De_MacLatTimeDlNoDrxSyncQos}[7] / @{De_MacLatTimeDlNoDrxSyncSampQos}[7] / 8
Int_AvDlMacDrbLatNoDrx_Qci_8 = @{De_MacLatTimeDlNoDrxSyncQos}[8] / @{De_MacLatTimeDlNoDrxSyncSampQos}[8] / 8
Int_AvDlMacDrbLatNoDrx_Qci_9 = @{De_MacLatTimeDlNoDrxSyncQos}[9] / @{De_MacLatTimeDlNoDrxSyncSampQos}[9] / 8

#Average DL MAC DRB Latency per QoS covering DRX In-sync [msec]; CORE-B-KPI:674
Int_AvDlMacDrbLatDrx_Qci_1 = @{De_MacLatTimeDlDrxSyncQos}[1] / @{De_MacLatTimeDlDrxSyncSampQos}[1] /8
Int_AvDlMacDrbLatDrx_Qci_2 = @{De_MacLatTimeDlDrxSyncQos}[2] / @{De_MacLatTimeDlDrxSyncSampQos}[2] /8
Int_AvDlMacDrbLatDrx_Qci_3 = @{De_MacLatTimeDlDrxSyncQos}[3] / @{De_MacLatTimeDlDrxSyncSampQos}[3] /8
Int_AvDlMacDrbLatDrx_Qci_4 = @{De_MacLatTimeDlDrxSyncQos}[4] / @{De_MacLatTimeDlDrxSyncSampQos}[4] /8
Int_AvDlMacDrbLatDrx_Qci_5 = @{De_MacLatTimeDlDrxSyncQos}[5] / @{De_MacLatTimeDlDrxSyncSampQos}[5] /8
Int_AvDlMacDrbLatDrx_Qci_6 = @{De_MacLatTimeDlDrxSyncQos}[6] / @{De_MacLatTimeDlDrxSyncSampQos}[6] /8
Int_AvDlMacDrbLatDrx_Qci_7 = @{De_MacLatTimeDlDrxSyncQos}[7] / @{De_MacLatTimeDlDrxSyncSampQos}[7] /8
Int_AvDlMacDrbLatDrx_Qci_8 = @{De_MacLatTimeDlDrxSyncQos}[8] / @{De_MacLatTimeDlDrxSyncSampQos}[8] /8
Int_AvDlMacDrbLatDrx_Qci_9 = @{De_MacLatTimeDlDrxSyncQos}[9] / @{De_MacLatTimeDlDrxSyncSampQos}[9] /8


#Packet Loss
De_PdcpPktTransDlDiscQos = decompressArray(pmPdcpPktTransDlDiscQos)
De_PdcpPktTransDlDiscAqmQos = decompressArray(pmPdcpPktTransDlDiscAqmQos)
De_PdcpPktTransDlQos = decompressArray(pmPdcpPktTransDlQos)
De_PdcpPktRecDlDisc5qi = decompressArray(pmPdcpPktRecDlDisc5qi)
De_PdcpPktRecDlDiscAqm5qi = decompressArray(pmPdcpPktRecDlDiscAqm5qi)
De_PdcpPktRecDl5qi = decompressArray(pmPdcpPktRecDl5qi)

#DL Packet Loss Captured in gNodeB [%]; CORE-B-KPI:678
Int_DlPacketLossGnbX2_Qci_1 = 100 * ( @{De_PdcpPktTransDlDiscQos}[1] - @{De_PdcpPktTransDlDiscAqmQos}[1] ) / @{De_PdcpPktTransDlQos}[1]
Int_DlPacketLossGnbX2_Qci_2 = 100 * ( @{De_PdcpPktTransDlDiscQos}[2] - @{De_PdcpPktTransDlDiscAqmQos}[2] ) / @{De_PdcpPktTransDlQos}[2]
Int_DlPacketLossGnbX2_Qci_3 = 100 * ( @{De_PdcpPktTransDlDiscQos}[3] - @{De_PdcpPktTransDlDiscAqmQos}[3] ) / @{De_PdcpPktTransDlQos}[3]
Int_DlPacketLossGnbX2_Qci_4 = 100 * ( @{De_PdcpPktTransDlDiscQos}[4] - @{De_PdcpPktTransDlDiscAqmQos}[4] ) / @{De_PdcpPktTransDlQos}[4]
Int_DlPacketLossGnbX2_Qci_5 = 100 * ( @{De_PdcpPktTransDlDiscQos}[5] - @{De_PdcpPktTransDlDiscAqmQos}[5] ) / @{De_PdcpPktTransDlQos}[5]
Int_DlPacketLossGnbX2_Qci_6 = 100 * ( @{De_PdcpPktTransDlDiscQos}[6] - @{De_PdcpPktTransDlDiscAqmQos}[6] ) / @{De_PdcpPktTransDlQos}[6]
Int_DlPacketLossGnbX2_Qci_7 = 100 * ( @{De_PdcpPktTransDlDiscQos}[7] - @{De_PdcpPktTransDlDiscAqmQos}[7] ) / @{De_PdcpPktTransDlQos}[7]
Int_DlPacketLossGnbX2_Qci_8 = 100 * ( @{De_PdcpPktTransDlDiscQos}[8] - @{De_PdcpPktTransDlDiscAqmQos}[8] ) / @{De_PdcpPktTransDlQos}[8]
Int_DlPacketLossGnbX2_Qci_9 = 100 * ( @{De_PdcpPktTransDlDiscQos}[9] - @{De_PdcpPktTransDlDiscAqmQos}[9] ) / @{De_PdcpPktTransDlQos}[9]

#DL Packet Loss in gNodeB-CU-UP for S1ULink & EP_NgU [x/y]  (packet discard of PDCP SDU); CORE-B-KPI:1013; CORE-B-KPI:1014
Int_DlPdcpPacketLossGnbCuUp_Qci_1 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[1] - @{De_PdcpPktRecDlDiscAqm5qi}[1] ) / @{De_PdcpPktRecDl5qi}[1]
Int_DlPdcpPacketLossGnbCuUp_Qci_2 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[2] - @{De_PdcpPktRecDlDiscAqm5qi}[2] ) / @{De_PdcpPktRecDl5qi}[2]
Int_DlPdcpPacketLossGnbCuUp_Qci_3 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[3] - @{De_PdcpPktRecDlDiscAqm5qi}[3] ) / @{De_PdcpPktRecDl5qi}[3]
Int_DlPdcpPacketLossGnbCuUp_Qci_4 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[4] - @{De_PdcpPktRecDlDiscAqm5qi}[4] ) / @{De_PdcpPktRecDl5qi}[4]
Int_DlPdcpPacketLossGnbCuUp_Qci_5 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[5] - @{De_PdcpPktRecDlDiscAqm5qi}[5] ) / @{De_PdcpPktRecDl5qi}[5]
Int_DlPdcpPacketLossGnbCuUp_Qci_6 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[6] - @{De_PdcpPktRecDlDiscAqm5qi}[6] ) / @{De_PdcpPktRecDl5qi}[6]
Int_DlPdcpPacketLossGnbCuUp_Qci_7 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[7] - @{De_PdcpPktRecDlDiscAqm5qi}[7] ) / @{De_PdcpPktRecDl5qi}[7]
Int_DlPdcpPacketLossGnbCuUp_Qci_8 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[8] - @{De_PdcpPktRecDlDiscAqm5qi}[8] ) / @{De_PdcpPktRecDl5qi}[8]
Int_DlPdcpPacketLossGnbCuUp_Qci_9 = 100 * ( @{De_PdcpPktRecDlDisc5qi}[9] - @{De_PdcpPktRecDlDiscAqm5qi}[9] ) / @{De_PdcpPktRecDl5qi}[9]


# Average Rank
Int_DlRankAv = WeightedAverage(pmRadioUeRepRankDistr,[1,2,3,4])

# MCS Distribution
Int_DlAvPdschMcsTable1 = WeightedAverage(pmRadioPdschTable1McsDistr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])
Int_DlAvPdschMcsTable2 = WeightedAverage(pmRadioPdschTable2McsDistr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])
Int_UlAvPuschMcsTable1 = WeightedAverage(pmRadioPuschTable1McsDistr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])
Int_UlAvPuschMcsTable2 = WeightedAverage(pmRadioPuschTable2McsDistr,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])
Int_DlAvPdschSpectralEfficiencyTable1 = WeightedAverage(pmRadioPdschTable1McsDistr,[0.2344,0.3066,0.3770,0.4902,0.6016,0.7402,0.8770,1.0273,1.1758,1.3262,1.3281,1.4766,1.6953,1.9141,2.1602,2.4063,2.5703,2.5664,2.7305,3.0293,3.3223,3.6094,3.9023,4.2129,4.5234,4.8164,5.1152,5.3320,5.5547,0,7,1.9,4.15])
Int_DlAvPdschSpectralEfficiencyTable2 = WeightedAverage(pmRadioPdschTable2McsDistr,[0.2344,0.3770,0.6016,0.8770,1.1758,1.4766,1.6953,1.9141,2.1602,2.4063,2.5703,2.7305,3.0293,3.3223,3.6094,3.9023,4.2129,4.5234,4.8164,5.1152,5.3320,5.5547,5.8906,6.2266,6.5703,6.9141,7.1602,7.4063,0.6,2.0,3.9,6.4])
Int_UlAvPuschSpectralEfficiencyTable1 = WeightedAverage(pmRadioPuschTable1McsDistr,[0.2344,0.3066,0.3770,0.4902,0.6016,0.7402,0.8770,1.0273,1.1758,1.3262,1.3281,1.4766,1.6953,1.9141,2.1602,2.4063,2.5703,2.5664,2.7305,3.0293,3.3223,3.6094,3.9023,4.2129,4.5234,4.8164,5.1152,5.3320,5.5547,0,7,1.9,4.15])
Int_UlAvPuschSpectralEfficiencyTable2 = WeightedAverage(pmRadioPuschTable2McsDistr,[0.2344,0.3770,0.6016,0.8770,1.1758,1.4766,1.6953,1.9141,2.1602,2.4063,2.5703,2.7305,3.0293,3.3223,3.6094,3.9023,4.2129,4.5234,4.8164,5.1152,5.3320,5.5547,5.8906,6.2266,6.5703,6.9141,7.1602,7.4063,0.6,2.0,3.9,6.4])

# Mimo
Int_DlAvMimoLayers = WeightedAverage(pmMacRBSymUsedPdschMimoLayerDistr,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])
Int_DlAvMimoUsers  = WeightedAverage(pmMacRBSymUsedPdschMimoUserDistr,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])
Int_UlAvMimoLayers = WeightedAverage(pmMacRBSymUsedPuschMimoLayerDistr,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])
Int_UlAvMimoUsers  = WeightedAverage(pmMacRBSymUsedPuschMimoUserDistr,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])



################
#   MOBILITY   #
################

# EN-DC Intra-sgNodeB PSCell Change Success Rate Captured in gNodeB 
#EN-DC inter-sgNodeB PSCell Change success rate captured in gNodeB; CORE-V-KPI:693
Mob_NrEndcCellChangeInterSuccRate = 100 * pmEndcPSCellChangeSuccInterSgnb / pmEndcPSCellChangeAttInterSgnb

#EN-DC intra-sgNodeB PSCell Change success rate captured in gNodeB; CORE-V-KPI:692
Mob_NrEndcCellChangeIntraSuccRate = 100 * pmEndcPSCellChangeSuccIntraSgnb / pmEndcPSCellChangeAttIntraSgnb

# EN-DC Cell Mobility & Handover Success Rate in Captured in eNodeB 
#3.2.4.1 Differentiated Cell Mobility Success Rate in LTE 
Mob_LteEndcCellHoPrepSuccRate = 100 * ( pmFlexCellHoPrepSuccLteIntraF_Endc2To99 + pmFlexCellHoPrepSuccLteInterF_Endc2To99 + pmFlexCellHoPrepSuccGeran_Endc2To99 + pmFlexCelHoPrepSuccUtran_Endc2To99 + pmFlexCellHoPrepSuccNr_Endc2To99 - pmFlexCellHoPrepSuccNonMobLte_Endc2To99 - pmFlexCellHoPrepSuccNonMobIrat_Endc2To99 ) / ( pmFlexCellHoPrepAttLteIntraF_Endc2To99 + pmFlexCellHoPrepAttLteInterF_Endc2To99 + pmFlexCellHoPrepAttGeran_Endc2To99 + pmFlexCellHoPrepAttUtran_Endc2To99 + pmFlexCellHoPrepAttNr_Endc2To99 - pmFlexCellHoPrepAttNonMobLte_Endc2To99 - pmFlexCellHoPrepAttNonMobIrat_Endc2To99 )
Mob_LteEndcCellHoExecSuccRate = 100 * ( pmFlexCellHoExeSuccLteIntraF_Endc2To99 + pmFlexCellHoExeSuccLteInterF_Endc2To99 + pmFlexCellHoExeSuccGeran_Endc2To99 + pmFlexCellHoExeSuccUtran_Endc2To99 + pmFlexCellHoExeSuccNr_Endc2To99 - pmFlexCellHoExeSuccNonMobLte_Endc2To99 - pmFlexCellHoExeSuccNonMobIrat_Endc2To99 ) / ( pmFlexCellHoExeAttLteIntraF_Endc2To99 + pmFlexCellHoExeAttLteInterF_Endc2To99 + pmFlexCellHoExeAttGeran_Endc2To99 + pmFlexCellHoExeAttUtran_Endc2To99 + pmFlexCellHoExeAttNr_Endc2To99 - pmFlexCellHoExeAttNonMobLte_Endc2To99 - pmFlexCellHoExeAttNonMobIrat_Endc2To99 )

Mob_LteEndcCellMobilitySuccRate = Mob_LteEndcCellHoPrepSuccRate * Mob_LteEndcCellHoExecSuccRate / 100

#3.2.4.2 Differentiated Cell Handover Success Rate in LTE
Mob_LteEndcHoPrepSuccRate   = 100 * ( pmFlexCellHoPrepSuccLteIntraF_Endc2To99 + pmFlexCellHoPrepSuccLteInterF_Endc2To99 + pmFlexCellHoPrepSuccGeran_Endc2To99 + pmFlexCellHoPrepSuccUtran_Endc2To99 + pmFlexCellHoPrepSuccNr_Endc2To99 ) / ( pmFlexCellHoPrepAttLteIntraF_Endc2To99 + pmFlexCellHoPrepAttLteInterF_Endc2To99 + pmFlexCellHoPrepAttGeran_Endc2To99 + pmFlexCellHoPrepAttUtran_Endc2To99 + pmFlexCellHoPrepAttNr_Endc2To99 )
#3.2.4.3 Differentiated Cell Handover Execution Success Rate in LTE
Mob_LteEndcHoExecSuccRate   = 100 * ( pmFlexCellHoExeSuccLteIntraF_Endc2To99 + pmFlexCellHoExeSuccLteInterF_Endc2To99 + pmFlexCellHoExeSuccGeran_Endc2To99 + pmFlexCellHoExeSuccUtran_Endc2To99 + pmFlexCellHoExeSuccNr_Endc2To99 ) / ( pmFlexCellHoExeAttLteIntraF_Endc2To99 + pmFlexCellHoExeAttLteInterF_Endc2To99 + pmFlexCellHoExeAttGeran_Endc2To99 + pmFlexCellHoExeAttUtran_Endc2To99 + pmFlexCellHoExeAttNr_Endc2To99 )

Mob_LteEndcMobilitySuccRate = Mob_LteEndcHoPrepSuccRate * Mob_LteEndcHoExecSuccRate / 100


#Number of UE Release with Redirection to E-UTRAN procedures triggered by poor coverage in NR; CORE-B-PI:1150
Mob_SuccRwrNrCoverage = pmRwrEutranUeSuccNrCoverage   

#Number of successful UE RwR to E-UTRAN procedures triggered by EPS fallback;  CORE-B-PI:1151
Mob_SuccRwrEps = pmRwrEutranUeSuccEpsfb




################
#     NR-SA    #
################

#NR SA Accesibility
#DRB Accessibility Success Rate; CORE-B-KPI:608
Acc_NrSaDrbAccSuccRate5qi1  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[1] / @{De_DrbEstabAtt5qi}[1])
Acc_NrSaDrbAccSuccRate5qi2  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[2] / @{De_DrbEstabAtt5qi}[2])
Acc_NrSaDrbAccSuccRate5qi3  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[3] / @{De_DrbEstabAtt5qi}[3])
Acc_NrSaDrbAccSuccRate5qi4  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[4] / @{De_DrbEstabAtt5qi}[4])
Acc_NrSaDrbAccSuccRate5qi5  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[5] / @{De_DrbEstabAtt5qi}[5])
Acc_NrSaDrbAccSuccRate5qi6  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[6] / @{De_DrbEstabAtt5qi}[6])
Acc_NrSaDrbAccSuccRate5qi7  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[7] / @{De_DrbEstabAtt5qi}[7])
Acc_NrSaDrbAccSuccRate5qi8  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[8] / @{De_DrbEstabAtt5qi}[8])
Acc_NrSaDrbAccSuccRate5qi9  = 100 * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos)) * (@{De_DrbEstabSucc5qi}[9] / @{De_DrbEstabAtt5qi}[9])


#Total DRB Accessibility - Success rate for Mapped 5Q; CORE-V-KPI:1096 -> FIXME
#Acc_NrSaDrbTotalAccSuccRate_5Qi1 = 100 * (@{De_DrbEstabSucc5qi}[1] / @{De_DrbEstabAtt5qi}[1]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi2 = 100 * (@{De_DrbEstabSucc5qi}[2] / @{De_DrbEstabAtt5qi}[2]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi3 = 100 * (@{De_DrbEstabSucc5qi}[3] / @{De_DrbEstabAtt5qi}[3]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi4 = 100 * (@{De_DrbEstabSucc5qi}[4] / @{De_DrbEstabAtt5qi}[4]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi5 = 100 * (@{De_DrbEstabSucc5qi}[5] / @{De_DrbEstabAtt5qi}[5]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi6 = 100 * (@{De_DrbEstabSucc5qi}[6] / @{De_DrbEstabAtt5qi}[6]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi7 = 100 * (@{De_DrbEstabSucc5qi}[7] / @{De_DrbEstabAtt5qi}[7]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi8 = 100 * (@{De_DrbEstabSucc5qi}[8] / @{De_DrbEstabAtt5qi}[8]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  
#Acc_NrSaDrbTotalAccSuccRate_5Qi9 = 100 * (@{De_DrbEstabSucc5qi}[9] / @{De_DrbEstabAtt5qi}[9]) * ((pmRrcConnEstabSucc - pmRrcConnEstabSuccMos) / (pmRrcConnEstabAtt - (pmRrcConnEstabAttReatt + pmRrcConnEstabAttMos - pmRrcConnEstabAttReattMos))) * ((pmNgSigConnEstabSucc - pmNgSigConnEstabSuccMos) / (pmNgSigConnEstabAtt - pmNgSigConnEstabAttMos))  

#PDU session setup success rate
Acc_NrSaPduSessionSetupSuccRate = 100 *  pmPduSessionEstabSucc / pmPduSessionEstabAtt

#NGAP signallimg setup success rate
Acc_NrSaNgSigEstabSuccRate = 100 *  pmNgSigConnEstabSucc / pmNgSigConnEstabAtt

#RRC connection setup succcess rate
Acc_NrSaRrcConnSetupSuccRate = 100 *  pmRrcConnEstabSucc  / (pmRrcConnEstabAtt -  pmRrcConnEstabAttReatt) 

#PDU session establishment success rate
Acc_NrSaPduSessionEstabSuccRate = Acc_NrSaRrcConnSetupSuccRate * Acc_NrSaNgSigEstabSuccRate * Acc_NrSaPduSessionSetupSuccRate  /  10000
 
#Initial UE context establishment success rate; CORE-B-PI:985
Acc_NrSaInitialUEContextEstabSuccRate = 100 * pmUeCtxtEstabSucc / pmUeCtxtEstabAtt

#NR SA Retainability
#DRB Retainability Percentage Lost per mapped 5QI [%]; CORE-V-KPI:609
Ret_NrSaDrabLostTraffic5Qi1 = 100 * (@{De_DrbRelAbnormalGnb5qi}[1] + @{De_DrbRelAbnormalAmf5qi}[1]) / (@{De_DrbRelNormal5qi}[1] + @{De_DrbRelAbnormalGnb5qi}[1] + @{De_DrbRelAbnormalAmf5qi}[1])
Ret_NrSaDrabLostTraffic5Qi2 = 100 * (@{De_DrbRelAbnormalGnb5qi}[2] + @{De_DrbRelAbnormalAmf5qi}[2]) / (@{De_DrbRelNormal5qi}[2] + @{De_DrbRelAbnormalGnb5qi}[2] + @{De_DrbRelAbnormalAmf5qi}[2])
Ret_NrSaDrabLostTraffic5Qi3 = 100 * (@{De_DrbRelAbnormalGnb5qi}[3] + @{De_DrbRelAbnormalAmf5qi}[3]) / (@{De_DrbRelNormal5qi}[3] + @{De_DrbRelAbnormalGnb5qi}[3] + @{De_DrbRelAbnormalAmf5qi}[3])
Ret_NrSaDrabLostTraffic5Qi4 = 100 * (@{De_DrbRelAbnormalGnb5qi}[4] + @{De_DrbRelAbnormalAmf5qi}[4]) / (@{De_DrbRelNormal5qi}[4] + @{De_DrbRelAbnormalGnb5qi}[4] + @{De_DrbRelAbnormalAmf5qi}[4])
Ret_NrSaDrabLostTraffic5Qi5 = 100 * (@{De_DrbRelAbnormalGnb5qi}[5] + @{De_DrbRelAbnormalAmf5qi}[5]) / (@{De_DrbRelNormal5qi}[5] + @{De_DrbRelAbnormalGnb5qi}[5] + @{De_DrbRelAbnormalAmf5qi}[5])
Ret_NrSaDrabLostTraffic5Qi6 = 100 * (@{De_DrbRelAbnormalGnb5qi}[6] + @{De_DrbRelAbnormalAmf5qi}[6]) / (@{De_DrbRelNormal5qi}[6] + @{De_DrbRelAbnormalGnb5qi}[6] + @{De_DrbRelAbnormalAmf5qi}[6])
Ret_NrSaDrabLostTraffic5Qi7 = 100 * (@{De_DrbRelAbnormalGnb5qi}[7] + @{De_DrbRelAbnormalAmf5qi}[7]) / (@{De_DrbRelNormal5qi}[7] + @{De_DrbRelAbnormalGnb5qi}[7] + @{De_DrbRelAbnormalAmf5qi}[7])
Ret_NrSaDrabLostTraffic5Qi8 = 100 * (@{De_DrbRelAbnormalGnb5qi}[8] + @{De_DrbRelAbnormalAmf5qi}[8]) / (@{De_DrbRelNormal5qi}[8] + @{De_DrbRelAbnormalGnb5qi}[8] + @{De_DrbRelAbnormalAmf5qi}[8])
Ret_NrSaDrabLostTraffic5Qi9 = 100 * (@{De_DrbRelAbnormalGnb5qi}[9] + @{De_DrbRelAbnormalAmf5qi}[9]) / (@{De_DrbRelNormal5qi}[9] + @{De_DrbRelAbnormalGnb5qi}[9] + @{De_DrbRelAbnormalAmf5qi}[9])

#DRB Retainability - Percentage of Active Lost [%]; CORE-B-KPI:753
Ret_NrSaLostActiveTraffic5Qi1 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[1] +  @{De_DrbRelAbnormalAmfAct5qi}[1]) / (@{De_DrbRelnormal5qi}[1] +  @{De_DrbRelAbnormalAmf5qi}[1] + @{De_DrbRelAbnormalGnb5qi}[1])
Ret_NrSaLostActiveTraffic5Qi2 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[2] +  @{De_DrbRelAbnormalAmfAct5qi}[2]) / (@{De_DrbRelnormal5qi}[2] +  @{De_DrbRelAbnormalAmf5qi}[2] + @{De_DrbRelAbnormalGnb5qi}[2])
Ret_NrSaLostActiveTraffic5Qi3 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[3] +  @{De_DrbRelAbnormalAmfAct5qi}[3]) / (@{De_DrbRelnormal5qi}[3] +  @{De_DrbRelAbnormalAmf5qi}[3] + @{De_DrbRelAbnormalGnb5qi}[3])
Ret_NrSaLostActiveTraffic5Qi4 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[4] +  @{De_DrbRelAbnormalAmfAct5qi}[4]) / (@{De_DrbRelnormal5qi}[4] +  @{De_DrbRelAbnormalAmf5qi}[4] + @{De_DrbRelAbnormalGnb5qi}[4])
Ret_NrSaLostActiveTraffic5Qi5 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[5] +  @{De_DrbRelAbnormalAmfAct5qi}[5]) / (@{De_DrbRelnormal5qi}[5] +  @{De_DrbRelAbnormalAmf5qi}[5] + @{De_DrbRelAbnormalGnb5qi}[5])
Ret_NrSaLostActiveTraffic5Qi6 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[6] +  @{De_DrbRelAbnormalAmfAct5qi}[6]) / (@{De_DrbRelnormal5qi}[6] +  @{De_DrbRelAbnormalAmf5qi}[6] + @{De_DrbRelAbnormalGnb5qi}[6])
Ret_NrSaLostActiveTraffic5Qi7 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[7] +  @{De_DrbRelAbnormalAmfAct5qi}[7]) / (@{De_DrbRelnormal5qi}[7] +  @{De_DrbRelAbnormalAmf5qi}[7] + @{De_DrbRelAbnormalGnb5qi}[7])
Ret_NrSaLostActiveTraffic5Qi8 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[8] +  @{De_DrbRelAbnormalAmfAct5qi}[8]) / (@{De_DrbRelnormal5qi}[8] +  @{De_DrbRelAbnormalAmf5qi}[8] + @{De_DrbRelAbnormalGnb5qi}[8])
Ret_NrSaLostActiveTraffic5Qi9 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[9] +  @{De_DrbRelAbnormalAmfAct5qi}[9]) / (@{De_DrbRelnormal5qi}[9] +  @{De_DrbRelAbnormalAmf5qi}[9] + @{De_DrbRelAbnormalGnb5qi}[9])

#DRB Retainability - Percentage of Active Lost per 5Qi, RRC Inactive State, gNodeB triggered only [%]; CORE-F-PI:993
Ret_NrSaLostActiveTrafficgNB5qi1 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[1] / (@{De_DrbRelNormal5qi}[1] +  @{De_DrbRelAbnormalGnb5qi}[1] + @{De_DrbRelAbnormalAmf5qi}[1])
Ret_NrSaLostActiveTrafficgNB5qi2 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[2] / (@{De_DrbRelNormal5qi}[2] +  @{De_DrbRelAbnormalGnb5qi}[2] + @{De_DrbRelAbnormalAmf5qi}[2])
Ret_NrSaLostActiveTrafficgNB5qi3 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[3] / (@{De_DrbRelNormal5qi}[3] +  @{De_DrbRelAbnormalGnb5qi}[3] + @{De_DrbRelAbnormalAmf5qi}[3])
Ret_NrSaLostActiveTrafficgNB5qi4 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[4] / (@{De_DrbRelNormal5qi}[4] +  @{De_DrbRelAbnormalGnb5qi}[4] + @{De_DrbRelAbnormalAmf5qi}[4])
Ret_NrSaLostActiveTrafficgNB5qi5 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[5] / (@{De_DrbRelNormal5qi}[5] +  @{De_DrbRelAbnormalGnb5qi}[5] + @{De_DrbRelAbnormalAmf5qi}[5])
Ret_NrSaLostActiveTrafficgNB5qi6 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[6] / (@{De_DrbRelNormal5qi}[6] +  @{De_DrbRelAbnormalGnb5qi}[6] + @{De_DrbRelAbnormalAmf5qi}[6])
Ret_NrSaLostActiveTrafficgNB5qi7 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[7] / (@{De_DrbRelNormal5qi}[7] +  @{De_DrbRelAbnormalGnb5qi}[7] + @{De_DrbRelAbnormalAmf5qi}[7])
Ret_NrSaLostActiveTrafficgNB5qi8 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[8] / (@{De_DrbRelNormal5qi}[8] +  @{De_DrbRelAbnormalGnb5qi}[8] + @{De_DrbRelAbnormalAmf5qi}[8])
Ret_NrSaLostActiveTrafficgNB5qi9 = 100 * @{De_DrbRelAbnormalGnbAct5qi}[9] / (@{De_DrbRelNormal5qi}[9] +  @{De_DrbRelAbnormalGnb5qi}[9] + @{De_DrbRelAbnormalAmf5qi}[9])

#DRB Retainability - Percentage of Active Lost per mapped 5QI, RRC Inactive State [%]; CORE-F-PI:992 
Ret_NrSaLostActiveRrcInact5Qi1 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[1] + @{De_DrbRelAbnormalAmfAct5qi}[1]) / (@{De_DrbRelNormal5qi}[1] + @{De_DrbSuspend5qi}[1] - (@{De_DrbRelNormalInact5qi}[1] + @{De_DrbRelAbnormalAmfInact5qi}[1] + @{De_DrbRelAbnormalGnbInact5qi}[1]) + @{De_DrbRelAbnormalGnb5qi}[1] + @{De_DrbRelAbnormalAmf5qi}[1])
Ret_NrSaLostActiveRrcInact5Qi2 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[2] + @{De_DrbRelAbnormalAmfAct5qi}[2]) / (@{De_DrbRelNormal5qi}[2] + @{De_DrbSuspend5qi}[2] - (@{De_DrbRelNormalInact5qi}[2] + @{De_DrbRelAbnormalAmfInact5qi}[2] + @{De_DrbRelAbnormalGnbInact5qi}[2]) + @{De_DrbRelAbnormalGnb5qi}[2] + @{De_DrbRelAbnormalAmf5qi}[2])
Ret_NrSaLostActiveRrcInact5Qi3 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[3] + @{De_DrbRelAbnormalAmfAct5qi}[3]) / (@{De_DrbRelNormal5qi}[3] + @{De_DrbSuspend5qi}[3] - (@{De_DrbRelNormalInact5qi}[3] + @{De_DrbRelAbnormalAmfInact5qi}[3] + @{De_DrbRelAbnormalGnbInact5qi}[3]) + @{De_DrbRelAbnormalGnb5qi}[3] + @{De_DrbRelAbnormalAmf5qi}[3])
Ret_NrSaLostActiveRrcInact5Qi4 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[4] + @{De_DrbRelAbnormalAmfAct5qi}[4]) / (@{De_DrbRelNormal5qi}[4] + @{De_DrbSuspend5qi}[4] - (@{De_DrbRelNormalInact5qi}[4] + @{De_DrbRelAbnormalAmfInact5qi}[4] + @{De_DrbRelAbnormalGnbInact5qi}[4]) + @{De_DrbRelAbnormalGnb5qi}[4] + @{De_DrbRelAbnormalAmf5qi}[4])
Ret_NrSaLostActiveRrcInact5Qi5 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[5] + @{De_DrbRelAbnormalAmfAct5qi}[5]) / (@{De_DrbRelNormal5qi}[5] + @{De_DrbSuspend5qi}[5] - (@{De_DrbRelNormalInact5qi}[5] + @{De_DrbRelAbnormalAmfInact5qi}[5] + @{De_DrbRelAbnormalGnbInact5qi}[5]) + @{De_DrbRelAbnormalGnb5qi}[5] + @{De_DrbRelAbnormalAmf5qi}[5])
Ret_NrSaLostActiveRrcInact5Qi6 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[6] + @{De_DrbRelAbnormalAmfAct5qi}[6]) / (@{De_DrbRelNormal5qi}[6] + @{De_DrbSuspend5qi}[6] - (@{De_DrbRelNormalInact5qi}[6] + @{De_DrbRelAbnormalAmfInact5qi}[6] + @{De_DrbRelAbnormalGnbInact5qi}[6]) + @{De_DrbRelAbnormalGnb5qi}[6] + @{De_DrbRelAbnormalAmf5qi}[6])
Ret_NrSaLostActiveRrcInact5Qi7 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[7] + @{De_DrbRelAbnormalAmfAct5qi}[7]) / (@{De_DrbRelNormal5qi}[7] + @{De_DrbSuspend5qi}[7] - (@{De_DrbRelNormalInact5qi}[7] + @{De_DrbRelAbnormalAmfInact5qi}[7] + @{De_DrbRelAbnormalGnbInact5qi}[7]) + @{De_DrbRelAbnormalGnb5qi}[7] + @{De_DrbRelAbnormalAmf5qi}[7])
Ret_NrSaLostActiveRrcInact5Qi8 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[8] + @{De_DrbRelAbnormalAmfAct5qi}[8]) / (@{De_DrbRelNormal5qi}[8] + @{De_DrbSuspend5qi}[8] - (@{De_DrbRelNormalInact5qi}[8] + @{De_DrbRelAbnormalAmfInact5qi}[8] + @{De_DrbRelAbnormalGnbInact5qi}[8]) + @{De_DrbRelAbnormalGnb5qi}[8] + @{De_DrbRelAbnormalAmf5qi}[8])
Ret_NrSaLostActiveRrcInact5Qi9 = 100 * (@{De_DrbRelAbnormalGnbAct5qi}[9] + @{De_DrbRelAbnormalAmfAct5qi}[9]) / (@{De_DrbRelNormal5qi}[9] + @{De_DrbSuspend5qi}[9] - (@{De_DrbRelNormalInact5qi}[9] + @{De_DrbRelAbnormalAmfInact5qi}[9] + @{De_DrbRelAbnormalGnbInact5qi}[9]) + @{De_DrbRelAbnormalGnb5qi}[9] + @{De_DrbRelAbnormalAmf5qi}[9])

#DRB Retainability - Session Time Normalized per mapped 5QI Loss Rate [1/s]; CORE-B-KPI:755
Ret_NrSaSessionTime5Qi1 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[1] + @{De_DrbRelAbnormalGnbAct5qi}[1]) / @{De_SessionTimeDrb5qi}[1]
Ret_NrSaSessionTime5Qi2 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[2] + @{De_DrbRelAbnormalGnbAct5qi}[2]) / @{De_SessionTimeDrb5qi}[2]
Ret_NrSaSessionTime5Qi3 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[3] + @{De_DrbRelAbnormalGnbAct5qi}[3]) / @{De_SessionTimeDrb5qi}[3]
Ret_NrSaSessionTime5Qi4 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[4] + @{De_DrbRelAbnormalGnbAct5qi}[4]) / @{De_SessionTimeDrb5qi}[4]
Ret_NrSaSessionTime5Qi5 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[5] + @{De_DrbRelAbnormalGnbAct5qi}[5]) / @{De_SessionTimeDrb5qi}[5]
Ret_NrSaSessionTime5Qi6 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[6] + @{De_DrbRelAbnormalGnbAct5qi}[6]) / @{De_SessionTimeDrb5qi}[6]
Ret_NrSaSessionTime5Qi7 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[7] + @{De_DrbRelAbnormalGnbAct5qi}[7]) / @{De_SessionTimeDrb5qi}[7]
Ret_NrSaSessionTime5Qi8 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[8] + @{De_DrbRelAbnormalGnbAct5qi}[8]) / @{De_SessionTimeDrb5qi}[8]
Ret_NrSaSessionTime5Qi9 = 1000 * (@{De_DrbRelAbnormalAmfAct5qi}[9] + @{De_DrbRelAbnormalGnbAct5qi}[9]) / @{De_SessionTimeDrb5qi}[9]

#DRB Retainability - Session Time Normalized per mapped 5QI Loss Rate, gNodeB triggered only [1/s]; CORE-B-KPI:756
Ret_NrSaSessionTimegNB5Qi1 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[1] / @{De_SessionTimeDrb5qi}[1]
Ret_NrSaSessionTimegNB5Qi2 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[2] / @{De_SessionTimeDrb5qi}[2]
Ret_NrSaSessionTimegNB5Qi3 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[3] / @{De_SessionTimeDrb5qi}[3]
Ret_NrSaSessionTimegNB5Qi4 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[4] / @{De_SessionTimeDrb5qi}[4]
Ret_NrSaSessionTimegNB5Qi5 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[5] / @{De_SessionTimeDrb5qi}[5]
Ret_NrSaSessionTimegNB5Qi6 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[6] / @{De_SessionTimeDrb5qi}[6]
Ret_NrSaSessionTimegNB5Qi7 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[7] / @{De_SessionTimeDrb5qi}[7]
Ret_NrSaSessionTimegNB5Qi8 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[8] / @{De_SessionTimeDrb5qi}[8]
Ret_NrSaSessionTimegNB5Qi9 = 1000 * @{De_DrbRelAbnormalGnbAct5qi}[9] / @{De_SessionTimeDrb5qi}[9]
 
 
#PDU connection abnormal release rate
Ret_NrSaPduSessionRetainabilityRate = 100* (  pmPduSessionRelAbnormalAmf +  pmPduSessionRelAbnormalGnb )  /   (  pmPduSessionRelAbnormalAmf +  pmPduSessionRelAbnormalGnb +  pmPduSessionRelNormal)  

#PDU connection abnormal release number
Ret_NrSaPduSessionRelAbnormal =  pmPduSessionRelAbnormalAmf +  pmPduSessionRelAbnormalGnb


#NR SA Integrity


#NR SA Mobility
#Handover preparation success rate [%]
Mob_NrSaHoPrepSuccRate = 100 * ( pmHoPrepSuccOutIntraGnb + pmHoPrepSuccOutInterGnb )  /  ( pmHoPrepAttOutIntraGnb + pmHoPrepAttOutInterGnb )

#Handover execution success rate [%]; CORE-V-KPI:1115
Mob_NrSaHoExecSuccRate = 100 * ((pmHoExeSuccOutInterGnb + pmHoExeSuccOutIntraGnb) / (pmHoExeAttOutInterGnb + pmHoExeAttOutIntraGnb))

#Handover success rate [%]; CORE-B-KPI:686
Mob_NrSaMobilitySuccRate = 100 * ((pmHoExeSuccOutIntraGnb + pmHoExeSuccOutInterGnb) / (pmHoExeAttOutIntraGnb + pmHoExeAttOutInterGnb)) * ((pmHoPrepSuccOutIntraGnb + pmHoPrepSuccOutInterGnb) / (pmHoPrepAttOutIntraGnb + pmHoPrepAttOutInterGnb))



##################
#  EBS Counters  #
##################

#Distribution of DL Packet Loss Captured in gNodeB; CORE-EBSN-KPI:36
Int_PktLossDlDistr = pmEbsnPktLossDlDistr

#Distribution of UL Packet Loss Captured in gNodeB; CORE-EBSN-KPI:37
Int_PktLossUlDistr = pmEbsnPktLossUlDistr

##Missing:
#2.1.1.1 Filtered MBB DL MAC DRB Throughput
#2.1.1.2 Filtered MBB UL MAC UE Throughput





################
#     VoNR     #
################

De_DrbRelAbnormalGnb5qi           = decompressArray(pmDrbRelAbnormalGnb5qi        )
De_DrbRelAbnormalAmf5qi           = decompressArray(pmDrbRelAbnormalAmf5qi        )
De_DrbRelNormal5qi                = decompressArray(pmDrbRelNormal5qi             )
De_DrbRelAbnormalGnbAct5qi        = decompressArray(pmDrbRelAbnormalGnbAct5qi     )
De_DrbRelAbnormalAmfAct5qi        = decompressArray(pmDrbRelAbnormalAmfAct5qi     )
De_DrbSuspend5qi                  = decompressArray(pmDrbSuspend5qi               )
De_DrbRelNormalInact5qi           = decompressArray(pmDrbRelNormalInact5qi        )
De_DrbRelAbnormalAmfInact5qi      = decompressArray(pmDrbRelAbnormalAmfInact5qi   )
De_DrbRelAbnormalGnbInact5qi      = decompressArray(pmDrbRelAbnormalGnbInact5qi   )
De_SessionTimeDrb5qi              = decompressArray(pmSessionTimeDrb5qi           )
De_DrbRelAbnormalGnbArp           = decompressArray(pmDrbRelAbnormalGnbArp        )
De_DrbRelAbnormalAmfArp           = decompressArray(pmDrbRelAbnormalAmfArp        )
De_DrbRelNormalArp                = decompressArray(pmDrbRelNormalArp             )
De_PdcpPktRecDlDisc5qi            = decompressArray(pmPdcpPktRecDlDisc5qi         )
De_DrbEstabAttArp                 = decompressArray(pmDrbEstabAttArp              )
De_DrbEstabSuccArp                = decompressArray(pmDrbEstabSuccArp             )
De_DrbEstabSuccInit5qi            = decompressArray(pmDrbEstabSuccInit5qi         )
De_DrbResumeSucc5qi               = decompressArray(pmDrbResumeSucc5qi            )
De_DrbEstabAttInit5qi             = decompressArray(pmDrbEstabAttInit5qi          )
De_DrbResumeAtt5qi                = decompressArray(pmDrbResumeAtt5qi             )
De_DrbRelAbnormalGnbActArp        = decompressArray(pmDrbRelAbnormalGnbActArp     )
De_DrbRelAbnormalAmfActArp        = decompressArray(pmDrbRelAbnormalAmfActArp     )

#Accesibility VoNR
#DRB Accessibility Success Rate for Voice Traffic 5QI[1] [%] CORE-B-KPI:608
Acc_VoNRDrbAccSuccRate    = Acc_NrSaDrbAccSuccRate5qi1

#DRB Accessibility Success Rate for IMS Signaling 5QI[5] [%] CORE-B-KPI:608
Acc_VoNRDrbAccSuccRateIms = Acc_NrSaDrbAccSuccRate5qi5

#DRB Establishment Success Rate for Voice Traffic 5QI[1] [%]; CORE-B-PI:987    
Acc_VoNRDrbEstabSuccRate = 100 * @{De_DrbEstabSucc5qi}[1] / @{De_DrbEstabAtt5qi}[1]
 
#DRB Accessibility Success Rate for Emergency call [%] from 22Q3; CORE-F-PI:944
Acc_VoNRDrbAccSuccRateEmArp1  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[1] / @{De_DrbEstabAttArp}[1]  )
Acc_VoNRDrbAccSuccRateEmArp2  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[2] / @{De_DrbEstabAttArp}[2]  )
Acc_VoNRDrbAccSuccRateEmArp3  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[3] / @{De_DrbEstabAttArp}[3]  )
Acc_VoNRDrbAccSuccRateEmArp4  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[4] / @{De_DrbEstabAttArp}[4]  )
Acc_VoNRDrbAccSuccRateEmArp5  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[5] / @{De_DrbEstabAttArp}[5]  )
Acc_VoNRDrbAccSuccRateEmArp6  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[6] / @{De_DrbEstabAttArp}[6]  )
Acc_VoNRDrbAccSuccRateEmArp7  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[7] / @{De_DrbEstabAttArp}[7]  )
Acc_VoNRDrbAccSuccRateEmArp8  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[8] / @{De_DrbEstabAttArp}[8]  )
Acc_VoNRDrbAccSuccRateEmArp9  = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[9] / @{De_DrbEstabAttArp}[9]  )
Acc_VoNRDrbAccSuccRateEmArp10 = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[10] / @{De_DrbEstabAttArp}[10])
Acc_VoNRDrbAccSuccRateEmArp11 = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[11] / @{De_DrbEstabAttArp}[11])
Acc_VoNRDrbAccSuccRateEmArp12 = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[12] / @{De_DrbEstabAttArp}[12])
Acc_VoNRDrbAccSuccRateEmArp13 = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[13] / @{De_DrbEstabAttArp}[13])
Acc_VoNRDrbAccSuccRateEmArp14 = 100 * pmRrcConnEstabSuccEm / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[14] / @{De_DrbEstabAttArp}[14])
Acc_VoNRDrbAccSuccRateEmArp15 = 100 * pmRrcConnEstabSuccEm /(pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm) * pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm * (@{De_DrbEstabSuccArp}[15] / @{De_DrbEstabAttArp}[15])

#####New version of the formula from 22Q4, does not work:
####Acc_VoNRDrbAccSuccRateEmArp1  = 100 * (pmRrcConnEstabSuccEm + pmRrcResumeSuccFallbackEm) / (pmRrcConnEstabAttEm - pmRrcConnEstabAttReattEm + pmRrcResumeAttFallbackEm) * (pmNgSigConnEstabSuccEm / pmNgSigConnEstabAttEm) * (@{De_DrbEstabSuccArp}[1] / @{De_DrbEstabAttArp}[1])

#DRB Establishment Success Rate for Emergency call [%]; CORE-B-PI:988
Acc_VoNRDrbEstabSuccRateEmArp1  = 100 * @{De_DrbEstabSuccArp}[1]  / @{De_DrbEstabAttArp}[1] 
Acc_VoNRDrbEstabSuccRateEmArp2  = 100 * @{De_DrbEstabSuccArp}[2]  / @{De_DrbEstabAttArp}[2] 
Acc_VoNRDrbEstabSuccRateEmArp3  = 100 * @{De_DrbEstabSuccArp}[3]  / @{De_DrbEstabAttArp}[3] 
Acc_VoNRDrbEstabSuccRateEmArp4  = 100 * @{De_DrbEstabSuccArp}[4]  / @{De_DrbEstabAttArp}[4] 
Acc_VoNRDrbEstabSuccRateEmArp5  = 100 * @{De_DrbEstabSuccArp}[5]  / @{De_DrbEstabAttArp}[5] 
Acc_VoNRDrbEstabSuccRateEmArp6  = 100 * @{De_DrbEstabSuccArp}[6]  / @{De_DrbEstabAttArp}[6] 
Acc_VoNRDrbEstabSuccRateEmArp7  = 100 * @{De_DrbEstabSuccArp}[7]  / @{De_DrbEstabAttArp}[7] 
Acc_VoNRDrbEstabSuccRateEmArp8  = 100 * @{De_DrbEstabSuccArp}[8]  / @{De_DrbEstabAttArp}[8] 
Acc_VoNRDrbEstabSuccRateEmArp9  = 100 * @{De_DrbEstabSuccArp}[9]  / @{De_DrbEstabAttArp}[9] 
Acc_VoNRDrbEstabSuccRateEmArp10 = 100 * @{De_DrbEstabSuccArp}[10] / @{De_DrbEstabAttArp}[10]
Acc_VoNRDrbEstabSuccRateEmArp11 = 100 * @{De_DrbEstabSuccArp}[11] / @{De_DrbEstabAttArp}[11]
Acc_VoNRDrbEstabSuccRateEmArp12 = 100 * @{De_DrbEstabSuccArp}[12] / @{De_DrbEstabAttArp}[12]
Acc_VoNRDrbEstabSuccRateEmArp13 = 100 * @{De_DrbEstabSuccArp}[13] / @{De_DrbEstabAttArp}[13]
Acc_VoNRDrbEstabSuccRateEmArp14 = 100 * @{De_DrbEstabSuccArp}[14] / @{De_DrbEstabAttArp}[14]
Acc_VoNRDrbEstabSuccRateEmArp15 = 100 * @{De_DrbEstabSuccArp}[15] / @{De_DrbEstabAttArp}[15]
 

#Retainability VoNR
#DRB Retainability - Percentage of Total Lost for Voice Traffic 5QI[1] [%]; CORE-V-KPI:609
Ret_VoNRLostTraffic = Ret_NrSaDrabLostTraffic5Qi1

#DRB Retainability - Percentage of Active Lost for Voice Traffic 5QI[1] [%]; CORE-B-KPI:753
Ret_VoNRLostActiveTraffic = Ret_NrSaLostActiveTraffic5Qi1

#DRB Retainability - Percentage of Active Lost for IMS Signaling 5QI[5] [%]; CORE-B-KPI:753
Ret_VoNRLostActiveIms = Ret_NrSaLostActiveTraffic5Qi5 

#DRB Retainability - Percentage of Active Lost for Voice Traffic 5QI[1], RRC Inactive State, gNodeB triggered only [%]; CORE-F-PI:993
Ret_VoNRLostActiveTrafficgNB = Ret_NrSaLostActiveTrafficgNB5qi1

#DRB Retainability - Percentage of Active Lost for IMS Signaling 5QI[5], RRC Inactive State [%]; CORE-F-PI:992 
Ret_VoNRLostActiveImsRrcInact = Ret_NrSaLostActiveRrcInact5Qi5

#DRB Retainability - Percentage of Total Lost for Emergency Calls [%] (include active and inactive DRBs) ---- is this a correct KPI??
Ret_VoNRLostTrafficEmArp1  = 100 * (@{De_DrbRelAbnormalGnbArp}[1]  + @{De_DrbRelAbnormalAmfArp}[1])  / (@{De_DrbRelNormalArp}[1]  + @{De_DrbRelAbnormalGnbArp}[1]  + @{De_DrbRelAbnormalAmfArp}[1] )
Ret_VoNRLostTrafficEmArp2  = 100 * (@{De_DrbRelAbnormalGnbArp}[2]  + @{De_DrbRelAbnormalAmfArp}[2])  / (@{De_DrbRelNormalArp}[2]  + @{De_DrbRelAbnormalGnbArp}[2]  + @{De_DrbRelAbnormalAmfArp}[2] )
Ret_VoNRLostTrafficEmArp3  = 100 * (@{De_DrbRelAbnormalGnbArp}[3]  + @{De_DrbRelAbnormalAmfArp}[3])  / (@{De_DrbRelNormalArp}[3]  + @{De_DrbRelAbnormalGnbArp}[3]  + @{De_DrbRelAbnormalAmfArp}[3] )
Ret_VoNRLostTrafficEmArp4  = 100 * (@{De_DrbRelAbnormalGnbArp}[4]  + @{De_DrbRelAbnormalAmfArp}[4])  / (@{De_DrbRelNormalArp}[4]  + @{De_DrbRelAbnormalGnbArp}[4]  + @{De_DrbRelAbnormalAmfArp}[4] )
Ret_VoNRLostTrafficEmArp5  = 100 * (@{De_DrbRelAbnormalGnbArp}[5]  + @{De_DrbRelAbnormalAmfArp}[5])  / (@{De_DrbRelNormalArp}[5]  + @{De_DrbRelAbnormalGnbArp}[5]  + @{De_DrbRelAbnormalAmfArp}[5] )
Ret_VoNRLostTrafficEmArp6  = 100 * (@{De_DrbRelAbnormalGnbArp}[6]  + @{De_DrbRelAbnormalAmfArp}[6])  / (@{De_DrbRelNormalArp}[6]  + @{De_DrbRelAbnormalGnbArp}[6]  + @{De_DrbRelAbnormalAmfArp}[6] )
Ret_VoNRLostTrafficEmArp7  = 100 * (@{De_DrbRelAbnormalGnbArp}[7]  + @{De_DrbRelAbnormalAmfArp}[7])  / (@{De_DrbRelNormalArp}[7]  + @{De_DrbRelAbnormalGnbArp}[7]  + @{De_DrbRelAbnormalAmfArp}[7] )
Ret_VoNRLostTrafficEmArp8  = 100 * (@{De_DrbRelAbnormalGnbArp}[8]  + @{De_DrbRelAbnormalAmfArp}[8])  / (@{De_DrbRelNormalArp}[8]  + @{De_DrbRelAbnormalGnbArp}[8]  + @{De_DrbRelAbnormalAmfArp}[8] )
Ret_VoNRLostTrafficEmArp9  = 100 * (@{De_DrbRelAbnormalGnbArp}[9]  + @{De_DrbRelAbnormalAmfArp}[9])  / (@{De_DrbRelNormalArp}[9]  + @{De_DrbRelAbnormalGnbArp}[9]  + @{De_DrbRelAbnormalAmfArp}[9] )
Ret_VoNRLostTrafficEmArp10 = 100 * (@{De_DrbRelAbnormalGnbArp}[10] + @{De_DrbRelAbnormalAmfArp}[10]) / (@{De_DrbRelNormalArp}[10] + @{De_DrbRelAbnormalGnbArp}[10] + @{De_DrbRelAbnormalAmfArp}[10] )
Ret_VoNRLostTrafficEmArp11 = 100 * (@{De_DrbRelAbnormalGnbArp}[11] + @{De_DrbRelAbnormalAmfArp}[11]) / (@{De_DrbRelNormalArp}[11] + @{De_DrbRelAbnormalGnbArp}[11] + @{De_DrbRelAbnormalAmfArp}[11] )
Ret_VoNRLostTrafficEmArp12 = 100 * (@{De_DrbRelAbnormalGnbArp}[12] + @{De_DrbRelAbnormalAmfArp}[12]) / (@{De_DrbRelNormalArp}[12] + @{De_DrbRelAbnormalGnbArp}[12] + @{De_DrbRelAbnormalAmfArp}[12] )
Ret_VoNRLostTrafficEmArp13 = 100 * (@{De_DrbRelAbnormalGnbArp}[13] + @{De_DrbRelAbnormalAmfArp}[13]) / (@{De_DrbRelNormalArp}[13] + @{De_DrbRelAbnormalGnbArp}[13] + @{De_DrbRelAbnormalAmfArp}[13] )
Ret_VoNRLostTrafficEmArp14 = 100 * (@{De_DrbRelAbnormalGnbArp}[14] + @{De_DrbRelAbnormalAmfArp}[14]) / (@{De_DrbRelNormalArp}[14] + @{De_DrbRelAbnormalGnbArp}[14] + @{De_DrbRelAbnormalAmfArp}[14] )
Ret_VoNRLostTrafficEmArp15 = 100 * (@{De_DrbRelAbnormalGnbArp}[15] + @{De_DrbRelAbnormalAmfArp}[15]) / (@{De_DrbRelNormalArp}[15] + @{De_DrbRelAbnormalGnbArp}[15] + @{De_DrbRelAbnormalAmfArp}[15] )

#DRB Retainability - Percentage of Active Lost for Emergency Calls [%]; CORE-F-PI:945
Ret_VoNRLostActiveTrafficEmArp1  = 100 * (@{De_DrbRelAbnormalGnbActArp}[1]  + @{De_DrbRelAbnormalAmfActArp}[1] )  / ( @{De_DrbRelNormalArp}[1]  + @{De_DrbRelAbnormalGnbArp}[1]  + @{De_DrbRelAbnormalAmfArp}[1] )
Ret_VoNRLostActiveTrafficEmArp2  = 100 * (@{De_DrbRelAbnormalGnbActArp}[2]  + @{De_DrbRelAbnormalAmfActArp}[2] )  / ( @{De_DrbRelNormalArp}[2]  + @{De_DrbRelAbnormalGnbArp}[2]  + @{De_DrbRelAbnormalAmfArp}[2] )
Ret_VoNRLostActiveTrafficEmArp3  = 100 * (@{De_DrbRelAbnormalGnbActArp}[3]  + @{De_DrbRelAbnormalAmfActArp}[3] )  / ( @{De_DrbRelNormalArp}[3]  + @{De_DrbRelAbnormalGnbArp}[3]  + @{De_DrbRelAbnormalAmfArp}[3] )
Ret_VoNRLostActiveTrafficEmArp4  = 100 * (@{De_DrbRelAbnormalGnbActArp}[4]  + @{De_DrbRelAbnormalAmfActArp}[4] )  / ( @{De_DrbRelNormalArp}[4]  + @{De_DrbRelAbnormalGnbArp}[4]  + @{De_DrbRelAbnormalAmfArp}[4] )
Ret_VoNRLostActiveTrafficEmArp5  = 100 * (@{De_DrbRelAbnormalGnbActArp}[5]  + @{De_DrbRelAbnormalAmfActArp}[5] )  / ( @{De_DrbRelNormalArp}[5]  + @{De_DrbRelAbnormalGnbArp}[5]  + @{De_DrbRelAbnormalAmfArp}[5] )
Ret_VoNRLostActiveTrafficEmArp6  = 100 * (@{De_DrbRelAbnormalGnbActArp}[6]  + @{De_DrbRelAbnormalAmfActArp}[6] )  / ( @{De_DrbRelNormalArp}[6]  + @{De_DrbRelAbnormalGnbArp}[6]  + @{De_DrbRelAbnormalAmfArp}[6] )
Ret_VoNRLostActiveTrafficEmArp7  = 100 * (@{De_DrbRelAbnormalGnbActArp}[7]  + @{De_DrbRelAbnormalAmfActArp}[7] )  / ( @{De_DrbRelNormalArp}[7]  + @{De_DrbRelAbnormalGnbArp}[7]  + @{De_DrbRelAbnormalAmfArp}[7] )
Ret_VoNRLostActiveTrafficEmArp8  = 100 * (@{De_DrbRelAbnormalGnbActArp}[8]  + @{De_DrbRelAbnormalAmfActArp}[8] )  / ( @{De_DrbRelNormalArp}[8]  + @{De_DrbRelAbnormalGnbArp}[8]  + @{De_DrbRelAbnormalAmfArp}[8] )
Ret_VoNRLostActiveTrafficEmArp9  = 100 * (@{De_DrbRelAbnormalGnbActArp}[9]  + @{De_DrbRelAbnormalAmfActArp}[9] )  / ( @{De_DrbRelNormalArp}[9]  + @{De_DrbRelAbnormalGnbArp}[9]  + @{De_DrbRelAbnormalAmfArp}[9] )
Ret_VoNRLostActiveTrafficEmArp10 = 100 * (@{De_DrbRelAbnormalGnbActArp}[10] + @{De_DrbRelAbnormalAmfActArp}[10])  / ( @{De_DrbRelNormalArp}[10] + @{De_DrbRelAbnormalGnbArp}[10] + @{De_DrbRelAbnormalAmfArp}[10])
Ret_VoNRLostActiveTrafficEmArp11 = 100 * (@{De_DrbRelAbnormalGnbActArp}[11] + @{De_DrbRelAbnormalAmfActArp}[11])  / ( @{De_DrbRelNormalArp}[11] + @{De_DrbRelAbnormalGnbArp}[11] + @{De_DrbRelAbnormalAmfArp}[11])
Ret_VoNRLostActiveTrafficEmArp12 = 100 * (@{De_DrbRelAbnormalGnbActArp}[12] + @{De_DrbRelAbnormalAmfActArp}[12])  / ( @{De_DrbRelNormalArp}[12] + @{De_DrbRelAbnormalGnbArp}[12] + @{De_DrbRelAbnormalAmfArp}[12])
Ret_VoNRLostActiveTrafficEmArp13 = 100 * (@{De_DrbRelAbnormalGnbActArp}[13] + @{De_DrbRelAbnormalAmfActArp}[13])  / ( @{De_DrbRelNormalArp}[13] + @{De_DrbRelAbnormalGnbArp}[13] + @{De_DrbRelAbnormalAmfArp}[13])
Ret_VoNRLostActiveTrafficEmArp14 = 100 * (@{De_DrbRelAbnormalGnbActArp}[14] + @{De_DrbRelAbnormalAmfActArp}[14])  / ( @{De_DrbRelNormalArp}[14] + @{De_DrbRelAbnormalGnbArp}[14] + @{De_DrbRelAbnormalAmfArp}[14])
Ret_VoNRLostActiveTrafficEmArp15 = 100 * (@{De_DrbRelAbnormalGnbActArp}[15] + @{De_DrbRelAbnormalAmfActArp}[15])  / ( @{De_DrbRelNormalArp}[15] + @{De_DrbRelAbnormalGnbArp}[15] + @{De_DrbRelAbnormalAmfArp}[15])

#DRB Retainability - Session Time Normalized for Voice Traffic 5QI[1] Loss Rate [1/s]; CORE-B-KPI:755
Ret_VoNRSessionTime = Ret_NrSaSessionTime5Qi1
 
#DRB Retainability - Session Time Normalized for Voice Traffic 5QI[1] Loss Rate, gNodeB triggered only [1/s]; CORE-B-KPI:756
Ret_VoNRSessionTimegNB = Ret_NrSaSessionTimegNB5Qi1
 

#Integrity VoNR
#Total volume of packets (PDCP SDUs) transmitted for Voice Traffic QoS[1] in DL [1000 bits]; CORE-B-PI:416    
Int_VoNRDlVolumePdcpSdu = @{Int_TransmittedVolumeDlC5UInt}[1]
 
#Total volume of packets (PDCP SDUs) received for Voice Traffic QoS[1] in UL [1000 bits]; CORE-B-PI:418
Int_VoNRUlVolumePdcpSdu = @{Int_ReceivedVolumeUlC5UInt}[1]
 
#DL Packet loss in gNodeB-CU-UP for Voice Traffic 5QI[1] [x/y]  (packet discard of PDCP SDU) ; CORE-B-KPI:1013  
Int_VoNRDlPdcpPacketLossGnbCuUp = Int_DlPdcpPacketLossGnbCuUp_Qci_1

#DL Packet Loss Captured in gNodeB for Voice Traffic QoS[1] [x/y] (packet lost or discard over F1-U) CORE-B-KPI:678
Int_VoNRDlPdcpPacketLossGnbF1 = Int_DlPacketLossGnbX2_Qci_1
 
#UL Packet Loss Captured in gNodeB for Voice Traffic QoS[1] [x/y]; CORE-B-KPI:557
Int_VoNRUlPdcpPacketLossGnb = Int_PacketLossRateUlQos_1
 
#Average overall DL Latency for Voice Traffic QoS[1] [ms] (internal MAC layer latency); CORE-V-KPI:672
Int_VoNRAvDlMacDrbLat = Int_AvDlMacDrbLat_Qci_1

#Average overall DL Latency for IMS sinalling QoS[5] [ms] (internal MAC layer latency); CORE-V-KPI:672 
Int_VoNRAvDlMacDrbLatIMS = Int_AvDlMacDrbLat_Qci_5

#Average DL MAC DRB Latency for Voice Traffic QoS[1] covering DRX in-sync [ms]; CORE-B-KPI:674 
Int_VoNRAvDlMacDrbLatDrx = Int_AvDlMacDrbLatDrx_Qci_1

#Average DL MAC DRB Latency for Voice Traffic QoS[1] covering non-DRX in-sync [ms]; CORE-B-KPI:673
Int_VoNRAvDlMacDrbLatNoDrx = Int_AvDlMacDrbLatNoDrx_Qci_1 
 

#Mobility VoNR
#Number of successful Release with Redirect procedures triggered by EPS fallback for emergency calls for UE contexts for each cell.
Mob_VoNRSuccRwrEpsEm = pmRwrEutranUeSuccEpsfbEm      

# Number of times Release with Redirect procedure triggered by EPS fallback for emergency call cannot be performed.
Mob_VoNRNoSuccRwrEpsEm  = pmRwrEutranUeNonPerfEpsfbEm 

#Number of successful Release with Redirect procedures triggered by EPS fallback for emergency calls for UE contexts for each cell because of Emergency Fallback Indicator IE.
Mob_VoNRSuccRwrEpsEmFbInd = pmRwrEutranUeSuccEpsfbEmFbInd 


