Feature Ultra Extended Coverage


Case:
– Equipement 4G FDD Huawei
– Feature Activation Ultra Extended Coverage

Activation
MOD CELL:LOCALCELLID=XX,PREAMBLEFMT=2,CELLRADIUS=25000;

Investigation
According 3GPP TS 36.221, LTE FDD support random access preamble format 0 to 3, Preamble format used by PRACH Channel, Compare to Preamble format 0 (default), format 2 has CellRadius < 77.3 and has CP length 684.4us longer than Format 1 103.1us

Result

TA>6 Increasing

Layer 3 Message SIB1

Please check also you Random Access Success Rate, Payload, User, CSSR, SDR and another KPI that related to Coverage,
Question: need we retune/replanning Root Sequence Index Value?

L.RRC.Redirection.E2G.Coverage Optimization


Case:
– Equipement 4G Huawei
– Your Network using CSFB
– You have GL and GUL Collocated
– Your InterRat Mobility using Redirection

Problem:
– L.RRC.Redirection.E2G.Coverage to High possibility UE directly Redirect to 2G while in the neighbor 3G RSCP still good for Target Redirection

Investigation
MO: CSFALLBACKBLINDHOCFG
Highest priority InterRat = GERAN
Second priority InterRat = UTRAN

CSFB Highest priority InterRat for Idle UE = GERAN
CSFB Second priority InterRat for Idle UE = UTRAN

ENODEBALGOSWITCH:HOALGOSWITCH=
UtranCsfbSwitch-1&GeranCsfbSwitch-1&UtranCsfbSteeringSwitch-1&GeranCsfbSteeringSwitch-1,
UtranPsHoSwitch-0&GeranPsHoSwitch-1&UtranRedirectSwitch-1&GeranRedirectSwitch-1&BlindHoSwitch-1

Analyze:
In site GL (without UTRAN Collocated) When you Set CSFALLBACKBLINDHOCFG Highest priority InterRat to GERAN, actually not only make your CSFB priority to GERAN but also trigger L.RRC.Redirection.E2G.Coverage for priority, HEDEX Reference Below:

Triggering and Stopping of Blind Handling
Events A2 and A1 for blind handling trigger and stop coverage-based inter-RAT blind handling in the same procedures as they trigger and stop coverage-based inter-frequency blind handling. Coverage-based inter-frequency blind handling and inter-RAT blind handling share the same thresholds related to events A2 and A1 and have the same working principles. For details, see Intra-RAT Mobility Management in Connected Mode.

Target Selection
The eNodeB selects the target RAT based on the RAT priorities specified by the following parameters:

CSFallBackBlindHoCfg.InterRatHighestPri: specifies the RAT with the highest priority.
CSFallBackBlindHoCfg.InterRatSecondPri: specifies the RAT with the second-highest priority.
CSFallBackBlindHoCfg.InterRatLowestPri: specifies the RAT with the lowest priority.

Action:
MOD ENODEBALGOSWITCH:HOALGOSWITCH=UtranCsfbSwitch-1&GeranCsfbSwitch-0&UtranCsfbSteeringSwitch-1&GeranCsfbSteeringSwitch-0,UtranPsHoSwitch-0&GeranPsHoSwitch-0&UtranRedirectSwitch-1&GeranRedirectSwitch-1&BlindHoSwitch-1;
MOD CSFALLBACKBLINDHOCFG:CNOPERATORID=0, InterRatHighestPri=UTRAN, InterRatSecondPri=GERAN, IdleCsfbHighestPri=UTRAN, IdleCsfbSecondPri=GERAN;
* in case SRAN 13 you should check your CELLALGOSWITCH

Result:

L.RRC.Redirection.E2G.Coverage switch out to L.RRC.Redirection.E2W.Coverage

CSFB maintain to G

Actually this optimization depend on your strategy in GL and GUL network, in this case we prefer for triggering coverage UE maintain to UMTS and for CSFB on GL Network we prefer to G

LTE TDD Uplink-downlink configurations


when your network has LTE tdd, the basic configuration is UL-DL Configuration which explained in 3gpp 36.211 need to be configured

Table 4.2-2: Uplink-downlink configurations

Uplink-downlink

configuration

Downlink-to-Uplink

Switch-point periodicity

Subframe number
0 1 2 3 4 5 6 7 8 9
0 5 ms D S U U U D S U U U
1 5 ms D S U U D D S U U D
2 5 ms D S U D D D S U D D
3 10 ms D S U U U D D D D D
4 10 ms D S U U D D D D D D
5 10 ms D S U D D D D D D D
6 5 ms D S U U U D S U U D

D = Downlink
U = Uplink
S = Special Subframe

if your network has multiple cells TDD you should configure same UL-DL configuration, you can’t configure with different configure because if subframe in cell on downlink, this rules also in subframe uplink

how to see on your network, example  Ericsson (moshell) and Huawei (u2000)

Ericsson: MO: EutranCellTDD attribute: subframeassigment

2019-02-22 09_34_58-Window

2019-02-22 09_37_31-Window

Huawei: MO: CELL , Parameter: Subframe Assignment

2019-02-22 09_40_03-Window

2019-02-22 09_43_12-Window

not only Subframe Assignment we have to configure also special subframe for configure Downlink part time slot, guard period, and Uplink Part time slot

Table 4.2-1: Configuration of special subframe (lengths of DwPTS/GP/UpPTS)

2019-02-22 10_09_56-Window

Ericsson: MO: EutranCellTDD attribute: specialSubframePattern

2019-02-22 10_11_00-Window

Huawei: MO: CELL , Parameter: Special subframe patterns

2019-02-22 09_40_03-Window

in our network using Uplink-downlink configurations 2 and special subframe 7 with Normal CP. See 3GPP table again, we can calculate this:

UL-DL Config 2 => D:L = 3:1 with 2 Special Subframe

How many DwPTS UpPTS and GP?

2019-02-22 15_18_08-Window

DwPTS = 21952*Ts
UpPTS 4384*Ts

1 Radio Frame = 10ms = 307200Ts
1 Subframe = 1ms = 30720Ts

DwPTS+UpPTS+GP= 1 Subframe = 30720Ts
2192Ts+4384Ts+GP = 30720Ts
GP = 4384Ts

DwPTS ~ 5*GP ~ 5UpPTS, which means 10 Symbol will be allocated for DwPTS + 2 Symbol for GP + 2 Symbol for UpPTS on one special subframe

 

Combine exported tar.gz performance measurement files from U2000


After exported measurement from U2K we’ve little bit problem, if you have several host, the files will be separated with the host. You can combine the files manually (extract files and open it one by one and copy paste), this method exactly not effective. The alternative you can use Excel External Tools like RDBmerge or another tools. But now we wanna create simple tools with Bash Script

Bash Script actually need running on Unix Operating System, but if used windows, we can use bash on windows alternatively

input: Exported tar.gz files
output: combined csv file

exec bash
array=($(ls *.gz))
for i in ${array[@]}; 
do 
echo $i;
tar -xzvf $i 
done
k=0
b=0
array_csv=($(ls *.csv))
p=${#array_csv[@]}
for i in ${array_csv[@]}; 
do
if [ "$k" -eq "$b" ] 
then
echo $i; 
cat $i | sed -n -e '8,$p' > test$k.txt
else
cat $i | sed -n -e '9,$p' > test$k.txt
fi
let k=$k+1
done
rm *.csv

NOW=$(date +"+%Y-%m-%d_%H%M%S")
NOWT=$(date +"%T")

FILE=Query_$NOW.csv
echo $FILE
cat *.txt > $FILE
rm *.txt
ls -l
rm *.gz
ls -l

Sample step by step

Export from u2K

Exported Folder

Change your file directory on bash into exported files folder

copy paste your script

csv file is ready

actually you still can optimize this method

MoShell Command Counter + KPI


Beberapa command dari variasi pmx dan pmr
pmx => untuk menquery nilai counter
pmxh => sama dengan pmx namun ditampilkan dalam bentuk horizontal
pmxe => untuk menquery nilai KPI based on formula yang telah di definisikan
pmxl => untuk menquerynilai counter dan di export dalam bentuk report excell
pmr => untuk menquery KPI based on Reporting yang telah di definisikan
pmrw => untuk menquery KPI based on Reporting yang telah di definisikan dan direportkan dalam bentuk web report

pmx option yang biasa digunakan adalah sebagai berikut:
-tz => menyesuaikan time zone, biasanya di indonesia +7 (-tz 7)
-m => waktu hour yang kita akan query (-m 3 artinya 3 jam akan diambil)
-h => pada dasarnya counter pmx based on rop (15 menit) kalah di option -h maka setiap 4 rop (1 jam) akan diakumulasikan
-a => aggregation semua -m akan di aggregasi menjadi satu value]
| => digunakan untuk mengambil lebih dari satu counter, bisa juga digunakan untuk cellid (rbs003w1|rbs003w2)

Berikut tips and trick penggunaan function diatas:

untuk query drop dari channel PS, URA, HS dalam waktu 2 jam
RNC> pmx cellid pmNoSystemRabReleasePacket|pmNoSystemRabReleasePacketUra|pmNoSystemRbReleaseHs -m 2 -tz 7
hasil:
Date: 2017-10-04
Object Counter 07:00 07:15 07:30 07:45 08:00 08:15 08:30 08:45
UtranCell=cellid pmNoSystemRabReleasePacket 16 7 7 6 10 12 6 11

query rejection yang ada di 3G dalam waktu 3 jam dan diaggregasikan dalam jam/hour
RNC> pmx cellid failedafteradm|pmNoRrcReqDeniedAdmDlChnlCode|pmNoRrcReqDeniedAdmDlHw|pmNoRrcReqDeniedAdmDlPwr|pmNoRrcReqDeniedAdmUlHw|pmNoOfNonHoReqDeniedHs|pmNoServingCellReqDeniedEul|pmNoOfNonHoReqDeniedEul -m 3 -tz 7 -h

Date: 2017-10-03
Object Counter 21:00 22:00 23:00
UtranCell=cellid pmNoFailedAfterAdm 3 1 2
UtranCell=cellid pmNoOfNonHoReqDeniedEul 0 0 0
UtranCell=cellid pmNoOfNonHoReqDeniedHs 0 0 0
UtranCell=cellid pmNoRrcReqDeniedAdmDlChnlCode 0 0 0
UtranCell=cellid pmNoRrcReqDeniedAdmDlHw 0 0 0
UtranCell=cellid pmNoRrcReqDeniedAdmDlPwr 0 0 0
UtranCell=cellid pmNoRrcReqDeniedAdmUlHw 0 0 0
UtranCell=cellid pmNoServingCellReqDeniedEul 0 0 0
UtranCell=cellid pmNoServingCellReqDeniedEulTti2 0 0 0

setelah contoh pmx diatas, sekarang kita mencoba untuk pmxe yang digunakan untuk mengenerate KPI:

Contoh:kita akan mengenerate accessibility dan availability dalam waktu 3 jam dan dibagi per ROP
RNC> pmxe cellid HsAccess$|SpchAccess$|EULAcces$|PSAccess$|availability$ -m 4 -tz 7
Date: 2017-10-04
Object Counter 05:00 05:15 05:30 05:45 06:00 06:15 06:30 06:45 07:00 07:15 07:30 07:45
UtranCell=cellid Availability 100 100 100 100 100 100 100 100 100 100 100 100
UtranCell=cellid HsAccess 100 98.9 99.3 100 99.7 99.4 98.0 98.2 97.5 98.6 99.3 98.4
UtranCell=cellid PSAccess 100 98.9 99.3 100 99.7 99.4 98.0 98.2 97.5 98.6 99.3 98.4
UtranCell=cellid SpchAccess N/A N/A N/A N/A 100 100 100 100 93.8 100 100 100

bagaimana dengan formula yang digunakan?, kita bisa cek di saat kita merunning command tersebut. contoh /opt/../opt/ericsson/amos/moshell/commonjars/pm/FORMULA_RNC_N_1_360.txt

didalam formula text tersebut berisi formula sbb:
HsAccess = ( 100 * pmTotNoRrcConnectReqPsSucc / ( pmTotNoRrcConnectReqPs – pmNoLoadSharingRrcConnPs ) ) * ( 100 * pmNoRabEstablishSuccessPacketInteractiveHs / pmNoRabEstablishAttemptPacketInteractiveHs ) * ( 100 * pmNoNormalNasSignReleasePs / ( pmNoNormalNasSignReleasePs + pmNoSystemNasSignReleasePs ) ) / 10000
PSAccess = ( 100 * pmTotNoRrcConnectReqPsSucc / ( pmTotNoRrcConnectReqPs – pmNoLoadSharingRrcConnPs ) ) * ( 100 * pmNoRabEstablishSuccessPacketInteractive / pmNoRabEstablishAttemptPacketInteractive ) * ( 100 * pmNoNormalNasSignReleasePs / ( pmNoNormalNasSignReleasePs + pmNoSystemNasSignReleasePs ) ) / 10000
SpchAccess = ( 100 * pmTotNoRrcConnectReqCsSucc / ( pmTotNoRrcConnectReqCs – pmNoLoadSharingRrcConnCs ) ) * ( 100 * pmNoRabEstablishSuccessSpeech / pmNoRabEstablishAttemptSpeech ) * ( 100 * pmNoNormalNasSignReleaseCs / ( pmNoNormalNasSignReleaseCs + pmNoSystemNasSignReleaseCs ) ) / 10000
Availability = 100 * ( 3600 – ( pmCellDowntimeAuto + pmCellDowntimeMan ) ) / 3600

bagaimana jika formula tersebut tidak sesuai dengan standart yang kita punya, kita bisa menggunakan formula kita sendiri dan kita simpan di folder moshell kita dan menambahkan -f lokasiformula

pmxe TTN297W HsAccessNew$|PSAccessNew$ -m 4 -tz 7 -f /home/username/ridho/FORMULA_RNC_ridh.txt

sekarang kita coba lebih advance lagi untuk menambahan script unix sort and head. case ini sangat berguna misal didalam satu RNC kita mempunyai 1000 cell, dalam kurun waktu 4 jam kita ingin mencari 10 cell mana yang memiliki masalah dalam 1 jam terakhir. Script ini sangat berguna untuk contoh pmNoFailedAfterAdm memiliki nilai besar biasanya ada transport issue
sort => untuk nge-sort dari nilai terbesar sampai terkecil atau sebaliknya
head => untuk mengambil top n line
contoh:
kita ingin mengambil 15 contributor cell yang memiliki failafteradm yang tinggi di 1 jam terakhir tambahkan script berikut
=> (sort -k6 -n -r => untuk meng-sort dari kolom keenam)
=> (head -15 ==> untuk mengambil 15 top)
RNC> pmx UtranCell=.* failedafteradm -m 4 -tz 7 -h | sort -k6 -n -r | head -15

Report from 2017-10-03 22:15 UTC to 2017-10-04 02:14 UTC (16 ropfiles)
Node SW: CXP9021776/4_R4YB04 (W15B)
UtranCell=XXX042W2 pmNoFailedAfterAdm 78 41 9 26 34
UtranCell=XXX304W1 pmNoFailedAfterAdm 0 1 3 44 33
UtranCell=XXX885W3 pmNoFailedAfterAdm 5 29 28 83 20
UtranCell=XXX967W1 pmNoFailedAfterAdm 13 39 37 66 16
UtranCell=XXX702W2 pmNoFailedAfterAdm 3 7 14 36 15
UtranCell=XXX351W1 pmNoFailedAfterAdm 0 2 2 6 14
UtranCell=XXX311W6 pmNoFailedAfterAdm 6 6 14 48 14
UtranCell=XXX508MA2 pmNoFailedAfterAdm 3 23 25 25 14
UtranCell=XXX042W5 pmNoFailedAfterAdm 11 16 6 19 14
UtranCell=XXX002W9 pmNoFailedAfterAdm 1 2 5 10 14
UtranCell=XXX516MA2 pmNoFailedAfterAdm 2 10 22 30 13
UtranCell=XXX365W3 pmNoFailedAfterAdm 13 23 26 38 11
UtranCell=XXX933W3 pmNoFailedAfterAdm 4 20 9 9 11
UtranCell=XXX730MA2 pmNoFailedAfterAdm 2 5 14 12 11
UtranCell=XXX508MA1 pmNoFailedAfterAdm 20 54 29 69 11

Note: untuk sort dan head diatas, masih belum ketemu cara exclude time ROP nya agar ngak ikut di sort, tetapi tidak merubah result analisa secara keseluruhan

kita coba satu case lagi untuk pmx, misal kita ingin mencari NodeB yang flicker, flicker ya bukan down. counter yang kita pakai pmCellDowntimeAuto yang menunjukan nodeB outage yang bukan di locked. Jika nodeB itu outage full 1 jam (60 menit) maka pmCellDowntimeAuto akan bernilai 3600 (pmCellDowntimeAuto satuannya second). jadi kita ingin menexclude node B yang down selama 1 jam dan menampilkan RBS yang memiliki downtime flicker. Script ini sangat berguna untuk memonitor nodeB yang flicker due to Transport problem
RNC> pmx . pmCellDowntimeAuto -m 12 -tz 7 -h | sed -e ‘s/3600/Mati/g’ | sort -rk14 | head -40 | grep -v “Mati”

Object Counter 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00
UtranCell=XXX516W9 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W8 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W7 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W6 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W5 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W4 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W3 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W2 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX516W1 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1558 1090 0
UtranCell=XXX506W9 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W8 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W7 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W6 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W5 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W4 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W3 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W2 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX506W1 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 0 0 1556 863 0
UtranCell=XXX605W9 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 1632 0 1558 859 0
UtranCell=XXX605W8 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 1632 0 1558 859 0
UtranCell=XXX605W7 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 1632 0 1558 859 0
UtranCell=XXX605W6 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 1632 0 1558 859 0
UtranCell=XXX605W5 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 1632 0 1558 859 0
UtranCell=XXX605W4 pmCellDowntimeAuto 0 0 0 0 0 0 0 0 1632 0 1558 859 0

Berkikut beberapa script yang mungkin berguna khusus nya untuk monitoring performance

//query contributor rejection due to, sort and head
RNC> pmxe UtranCell=.* DlConnLimit$|DlAse$|DlChnlCode$|DlHw$|DlHwBest$|DDlPwr$ -m 6 -tz 7 -h | sort -nrk9 | head -40
//query contributor fail due to, sort and head
RNC> pmxe UtranCell=.* Fail$ -m 6 -tz 7 -h | sort -nrk9 | head -40
//query KPI accessability, sort and head
RNC> pmxe UtranCell=.* HsAccess$|EULAcces$|PSAccess$ -m 6 -tz 7 -h | sort -k9 | head -40
//query KPI Drop, sort and head
RNC> pmxe UtranCell=.* CS64Drop$|SpchDrop$|CS57Drop$|PSDrop$|HsDrop$ -m 6 -tz 7 -h | sort -rk8 | head -40
//query afteradm, sort and head
RNC> pmx UtranCell=.* failedafteradm -m 4 -tz 7 | sort -k17 -n -r | head -15
//query Rejection license EUL, sort and head
RNC> pmx UtranCell=.* pmNoOfNonHoReqDeniedEul -m 4 -tz 7 | sort -k18 -n -r |head -30
//query Rejection Code, HW, Pwr, License HS, sort and head
RNC> pmx UtranCell=.* pmNoRrcReqDeniedAdmDlChnlCode|pmNoRrcReqDeniedAdmDlHw|pmNoRrcReqDeniedAdmDlPwr|pmNoRrcReqDeniedAdmUlHw|pmNoOfNonHoReqDeniedHs -m 4 -tz 7 | sort -k18 -n -r |head -30
//query RBS Flicker
RNC> pmx . pmCellDowntimeAuto -m 12 -tz 7 -h | sed -e ‘s/3600/Mati/g’ | sort -rk14 | head -40 | grep -v “Mati”
//ini buat liat attempt hand over
RNC> pmxh UtranCell pmrladd.*bestcellspeec -m 48 -tz 7 -a
//query speech drop
RNC> pmx cellid pmNoSysRelSpeechNeighbr|pmNoSystemRabReleaseSpeech -m 4 -tz 7

//check frame lost
RBS> pmxl . pmHsData -m 48 -tz 7
RBS> pmx . pmHsData -m 4 -tz 7

Untuk yang pmr dan yg 4G, next kita bahas kembali