Link budget planning is part of the network planning process, which helps to dimension the required coverage, capacity and quality of service requirement in the network. UMTS WCDMA macro cell coverage is uplink limited, because mobiles power level is limited to (voice terminal 125mW). Downlink direction limits the available capacity of the cell, as BTS transmission power (typically 20-40W) has to be divided to all users. In a network environment both coverage and capacity are interlinked by interference. So by improving one side of the equation would decrease the other side. System is loosely balanced by design. The object of the link budget design is to calculate maximum cell size under given criteria:
# Type of service (data type and speed)
# Type of environment (terrain, building penetration)
# Behavior and type of mobile (speed, max power level)
# System configuration (BTS antennas, BTS power, cable losses, handover gain)
# Required coverage probability
# Financial and economical factors (use of more expensive and better quality equipment or not the cheapest installation method)
and to match all of those to the required system coverage, capacity and quality needs with each area and service.
In an urban area, capacity will be the limiting factor, so inner city cells will be dimensioned by required Erlangs/km² for voice and data. Even using 25dB as inbuilding penetration loss into the building core area, link budget would typically allow about 300m cell range, which is a way too much for a capacity purposes. In a rural area uplink power budget will determine the maximum cell range, when typically cells are less congested. A typical cell range in rural areas will be several kilometers depending on a terrain.
Below is an example of how WCDMA voice call link budget can be done. Some of the values can be debated, including the propagation model, but it gives an idea of the calculation methods.
Download : MicDecoder
Purpose
MicDecoder is mainly used to decode A and Abis information. One message is showed in one line, so it's easier for the user to have an overview. If the source file offers enough information, the decoder can qualify the IMSI, so only one subscriber’s behavior will be showed.
MicDecoder is not a full function protocol analyzer, it only provides some important information on A and Abis interface, and gives the user some idea of what happen. Not all the information element in the message will be decoded. How much information it can offer largely depends on the source file. The source file comes from the restart data or TEST SYSTEM in BSC. Due to the restriction of the TEST SYSTEM, it's impossible to trace all the A and Abis information in the live site. To use it in live site, more condition should be set in the TEST SYSTEM in order to get useful trace file. So the user's skill of TEST SYSTEM is needed.
MicDecoder supports online decoding, it’s quite usefully feature.
Reversion history
2006-04-10 Version 1.0, for test purpose.
2006-05-17 Version 1.1, add the support to decode the trace from R11 and R12, correct some document fault.
2006-07-13 Version 06.0713, correct the serious fault during IMSI qualification, add the support for G2U handover
2006-07-22 Version 06.0722, correct the fault during IMSI qualification, and a memory leak.
2006-10-20 Version 06.1020, add basic support on SCCP CL messages.
2006-10-23 Version 06.1023, add basic support on supplementary service.
2006-12-20 Version 06.1220, add support on system information, correct fault in decoding message of R12 format.
2006-12-31 Version 06.1231, add basic support on Abis OML messages.
2007-01-31 Version 07.0131, add support on DTM messages.
2007-07-09 Version 07.0709, compile the program on Visual Studio 2005 platform, some user friendly functions are added.
2007-10-24 Version 07.1024, add support on signal function fetched from PLEX.
2008-01-13 Version 08.0113, online decoding is supported.
How to use
Offline Decode
1. Source file generation
Two source files can be recognized by MidDecoder.
One is the restart data from live site, which may contains some traffic information.
Another comes from the trace result of TEST SYSTEM. In order to get the trace file, please put in the following trace in the TEST SYSTEM.
To trace call flow in R8, R9 and R10, use the trace below:
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON IN DO:P MS,P EXECFID,P SWD,;
ON OU DO:P MS,P EXECFID,P SWD,;
ON IN RMHBI RCRECABISMSGC,RCRECABISMSGI,RCCHALLINFO;
ON OU RMHBI RCSENDABISMSGC,RCSENDABISMSGI,RCSNDABISMSGC10;
ON OU RMHAIUL RACOSENDINMSG1C,RACOSNDBSSMAP1C,RACOSNDBSSMAP1I,RACOSENDDTAP1C, RACOSENDDTAP1I;
ON OU RMHAIUL RACOINMSGRSP1C,RACOINMSGRSP1I,RACOINMSGREJ1C;
ON IN RMHAIDL RACOTAKEBSSMAPC,RACOTAKEBSSMAPI,RACOTAKEDTAPC,RACOTAKEDTAPI, RACOTAKEINMSGC,RACOTAKEINMSGI;
INIT;
To trace call flow in R11, R12 and 06A/06B/07A/07B, use the trace below:
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON IN DO:P MS,P EXECFID,P SWD,;
ON OU DO:P MS,P EXECFID,P SWD,;
ON IN RMHBI RNRECABISMSGC,RNRECABISMSGI,RNALLOCINFO;
ON OU RMHBI RNSENDABISMSGC,RNSENDABISMSGI,RNSNDABISMSGC10;
ON OU RMHAIUL RACOSNDBSSMAP1C,RACOSNDBSSMAP1I,RACOSENDDTAP1C, RACOSENDDTAP1I,RTCOSNDINAMSGC;
ON IN RMHAIDL RACOTAKEBSSMAPC,RACOTAKEBSSMAPI,RACOTAKEDTAPC,RACOTAKEDTAPI, RTCOTAKEINMSGC,RTCOTAKEINMSGI;
INIT;
To trace SCCP CL message in R8, R9 and R10:
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON IN DO:P MS,P EXECFID,P SWD,;
ON OU DO:P MS,P EXECFID,P SWD,;
ON IN RABDI RACLSENDDATA1C, RACLSENDDATA1I;
ON OU RABDI RACLTAKEDATAC, RACLTAKEDATAI;
INIT;
To trace SCCP CL message in R11, R12 and R06A/06B/07A/07B:
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON IN DO:P MS,P EXECFID,P SWD,;
ON OU DO:P MS,P EXECFID,P SWD,;
ON IN RABDI RTCLSENDADATAC, RTCLSENDADATAI;
ON OU RABDI RTCLTAKEADATAC, RTCLTAKEADATAI;
INIT;
To trace system information (halt and activate the cell can trigger it):
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON OU DO:P MS,P EXECFID,P SWD,;
ON OU RCSI RHSENDMSGC;
INIT;
To trace Abis OML message (RBS2000):
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON OU DO:P MS,P EXECFID,P SWD,;
ON IN DO:P MS,P EXECFID,P SWD,;
ON OU RXOLH RHSENDMSGC, RHSENDMSGI;
ON IN RXOLH RHRECMSGC, RHRECMSGI;
INIT;
To trace a single call flow in live site is very difficult, IMSI can be used as the filter to qualify the trace, and the trace below can be a reference (it’s not valid for those sites with TMSI using), the position of IMSI vary in different scenarios, message RACOSENDINMSG1C should be studied carefully:
TELMI:TI=50,LOAD=80;
TMSIZE 32768;
ON IN DO:IF BNR=H'9E THEN;
IF DR12 MASK H'FFF0=H'0640; !qualify IMSI 460002200000012!
IF DR13=H'2200; !qualify IMSI 460002200000012!
IF DR14=H'0000; !qualify IMSI 460002200000012!
IF DR15=H'2100; !qualify IMSI 460002200000012!
SET TVAR 0=EXECFID;
P EXECFID,P MS,P IA,P SWD;
ELSE;
IF TVAR 0=EXECFID;
P EXECFID,P MS,P IA,P SWD;
FI,;
ON OU DO:IF TVAR 0=EXECFID,P EXECFID,P MS,P IA,P SWD,;
ON IN RABDI RACOSENDINMSG1C;
ON IN RMHAIDL RACOTAKEBSSMAPC,RACOTAKEBSSMAPI,RACOTAKEDTAPC,RACOTAKEDTAPI, RACOTAKEINMSGC,RACOTAKEINMSGI;
ON OU RMHAIUL RACOSNDBSSMAP1C,RACOSNDBSSMAP1I,RACOSENDDTAP1C, RACOSENDDTAP1I;
ON OU RMHAIUL RACOINMSGRSP1C,RACOINMSGRSP1I,RACOINMSGREJ1C;
save the file with any name, and put it under certain directory, i.g. \DATA.
It's suggested create a directory and put all the trace files there, the result file will be saved in the same directory as the trace file.
The trace above can be used in STP without any problem, however more restriction is needed in live site, otherwise it's hard to get the useful information. To the worse, it may cause the system unstable.
2. Target file generation
Once the source file is ready, run MicDecoder, and open the source file in MicDecoder. A and Abis raw data and decoded information will be showed.
To make it easier to study, filters can be used. There are some filters in MicDecoder:
- IMSI/TMSI filter: to qualify the MS with the specific IMSI/TMSI, it makes sense only when enough information is collected. Normally it’s useless for the log file collected from live site
- A message filter: qualify A interface message
- Abis message filter: qualify Abis interface message, including RSL and OML
- MS filter: show or hide time information
- EXECFID filter: show or hide forlopp information
- Raw Data filter: show or hide raw data, it could be useful that if the decoder can not decode the message, user can decode it by himself/herself.
It could be useful that original information is showed as well as the decoded information (especially when the source file is restart data). This can be set from menu à View à Original Info, however it must be done before source file is opened.
The result file can be saved, by default it will be saved under the same directory as source file.
Online Decode
This function is only tested with WinFiol version 7.0
1. Trace generation
Put the trace into WinFiol, the trace is referred to the above (Source file generation, Offline decode), or any other trace.
2. Decode generation
In MicDecoder, two steps are needed:
- Connect MicDecoder to WinFiol, Menu à WinFiol à Connect, notice the status bar in MicDecoder, it shows “WinFiol is connected” when ready.
- Connect MicDecoder to current active channel in WinFiol, Menu à WinFiol à Connect Current Channel, notice the status bar in MicDecoder, it shows “Connected to channel #x …” when ready.
After that, when there is signal information showed on the WinFiol, the decoded information will show up on MicDecoder at the same time.
To end the online decoding:
- Menu à WinFiol à Disconnected, notice the status bar in MicDecoder, it shows “WinFiol is disconnected” when ready.
Decode signal function
It can be useful to get the signal function sometimes, especially when the user is familiar with signal flow, it give the user an overview.
To make it work, Plex database should be connected to the MicDecoder, then signal function will be fetched and showed with the original information, to make it work, follow the step below:
- Connect plex database, Menu à View à Set plex database
- Tick signal function, Menu à View à Signal Function
- Tick original information, Menu à View à Original info
- Open log file
User friendly function
MicDecoder is not good at text edition. It just offers some basic function like Find, Select, Copy, Paste etc. To get the information further processed, it’s suggested to use other powerful editor like UltraEdit etc.
What’s the benefit
In MidDecoder, one message is showed in one line, so it's easier for the user to have an overview. With enough information, it can qualify single subscriber behavior. This tool is very useful in STP testing, and it can take the place of protocol analyzer to some extend. The log file collected from STP can be used as the reference in trouble shooting later.
MicDecoder supports online decoding, as long as connection between MicDecoder and WinFiol is setup, the signal trace showed on the WinFiol will be decoded and showed up in MicDecoder at the same time.
Due to the restriction of TEST SYSTEM, it may not be very useful in live site, however with the good skill in TEST SYSTEM, setting proper condition, it sill valuable for trouble shooting.
MicDecoder can decode traffic information in restart data as well. This could be quite useful when analyzing some traffic related fault in live site. It has been used in emergency and CSR handling and offer useful tips for trouble shooting.
Restriction
MicDecoder can not decode the entire information element in the message. Only some important information is showed. As for which information element is important, it's judged by the author.
IMSI/TMSI filter doesn’t work properly after mobile handover (A interface message can still be filtered, but not for abis message), so if handover happens in the log file, the user must filter the message by himself/herself.
Not all the message can be decoded, once you find out certain message in your trace file can not be decoded, please feedback the author.
VGCS message is not supported for time being, since there is not log files caught so far. If anyone of you have chance to collect VGCS log, please send a copy to author.
The following A and Abis messages in the trace file will not be handled in current version. However they are seldom used (long message is often seen in SMS or Handover Request).
For R8, R9 and R10:
A interface:
RACOSNDBSSMAP1S, RACOSNDBSSMAP1E
RACOSENDDTAP1S, RACOSENDDTAP1E
RACOINMSGRSP1E
RACOTAKEBSSMAPS, RACOTAKEBSSMAPE
RACOTAKEDTAPS, RACOTAKEDTAPE
RACOTAKEINMSGS, RACOTAKEINMSGE
Abis interface:
RCRECABISMSGS, RCRECABISMSGE
RCSENDABISMSGS, RCSENDABISMSGE
For R11 and R12:
A interface:
RACOSNDBSSMAP1S, RACOSNDBSSMAP1E
RACOSENDDTAP1S, RACOSENDDTAP1E
RACOINMSGRSP1E
RACOTAKEBSSMAPS, RACOTAKEBSSMAPE
RACOTAKEDTAPS, RACOTAKEDTAPE
RACOTAKEINMSGS, RACOTAKEINMSGE
Abis interface:
RNRECABISMSGS, RNRECABISMSGE
RNSENDABISMSGS, RNSENDABISMSGE