Sie sind auf Seite 1von 74

1

Analyzer Queries
Training Course

UMTS Radio
2

The content of this manual is provided for information only, is subject to change without
notice, and should not be construed as a commitment by Actix. Actix assumes no
responsibility or liability for any errors or inaccuracies that appear in this documentation.
Copyright Actix 2007. All rights reserved. All trademarks are hereby acknowledged.
3

Contents
1 ABOUT THIS COURSE ................................................................................................................... 4
1.1 OBJECTIVES OF THE COURSE .............................................................................................. 4
1.2 COURSE PRE-REQUISITES ................................................................................................... 4
1.3 COURSE STRUCTURE .......................................................................................................... 4
2 WHAT ARE QUERIES? .................................................................................................................. 6
2.1 QUERY TYPES .................................................................................................................... 6
2.2 FILTER QUERIES ................................................................................................................. 6
2.3 HISTOGRAMS ...................................................................................................................... 8
2.4 STATISTICS ........................................................................................................................ 8
2.5 BINNED .............................................................................................................................. 9
2.6 CROSSTAB ....................................................................................................................... 10
2.7 EVENT.............................................................................................................................. 11
3 INTRODUCTION TO THE ANALYSIS MANAGER............................................................................... 12
4 CONFIGURATION ....................................................................................................................... 14
5 QUERY DESIGN......................................................................................................................... 17
5.1 COVERAGE HOLES FILTER .............................................................................................. 17
5.2 COVERAGE HOLES BINNED ............................................................................................. 21
5.3 PILOT POLLUTION 1 BINNED ............................................................................................ 25
5.4 EXERCISE: BINNED QUERY (PILOT POLLUTION) ................................................................. 28
5.5 SOLUTION: BINNED QUERY (PILOT POLLUTION)................................................................. 29
5.6 EXERCISE: BINNED QUERY (INBOUND PILOT POLLUTION PER SC)....................................... 31
5.7 SOLUTION: BINNED QUERY (INBOUND PILOT POLLUTION PER SC)....................................... 32
5.8 CALL SETUP TIME ANALYSIS HISTOGRAM ........................................................................ 33
5.9 DROPPED CALL STATISTICS STATISTICS .......................................................................... 36
5.10 UE ANALYSIS STATISTICS CROSSTAB............................................................................ 37
5.11 SCANNER AND UE ANALYSIS AT CALL SETUP EVENT ..................................................... 44
5.12 DROPPED CALL ANALYSIS EVENT ................................................................................. 48
5.13 CALL SETUP SEQUENCE ANALYSIS CROSSTAB .............................................................. 52
6 REPORT TEMPLATES ................................................................................................................. 57
6.1 SINGLE FILE REPORT TEMPLATE ....................................................................................... 57
6.2 MULTIPLE FILE REPORT TEMPLATE.................................................................................... 60
7 APPENDIX ................................................................................................................................. 63
7.1 STATE() VS. PREV_STATE() ........................................................................................... 63
7.2 LITTLE-KNOWN QUERY COMMANDS .................................................................................... 64
7.2.1 abstime( rounding_factor ) ..................................................................................... 64
7.2.2 delta( parameter ) .................................................................................................. 64
7.2.3 get( parameter, index, message_number )............................................................ 65
7.2.4 default( primary_ expression, secondary_ expression ) ........................................ 65
7.3 SETTING A TIMER STATISTICS USING CROSSTAB QUERIES .................................................... 65
7.4 CELL LOOKUP QUERY FUNCTIONS ..................................................................................... 66
7.5 CELLHANDLE LOOKUP FUNCTION ...................................................................................... 68
7.6 EXAMPLE ......................................................................................................................... 68
7.7 EDITING EXISTING REPORT TEMPLATES .............................................................................. 69
7.8 USEFUL FORMAT GROUPS (FOR FREQUENT USE) ............................................................... 70
7.9 PARAMETERS USED .......................................................................................................... 71
4

1 About this course


1.1 Objectives of the course
After completing this course, the delegate will be able to:

Select the most appropriate query for the type of analysis

Design the query in the most efficient manner

Use queries for both structured and ad-hoc analysis methods

This course steps through the different types of queries, teaching each method
through real-world scenarios, from simple queries and building in complexity, to give
engineers the understanding and confidence to design their own queries from the
minute the course ends.

1.2 Course pre-requisites


Delegates must have completed the Platform Training before beginning this Query
Training course. This course documentation provides screenshots based on Build
4.04.30142 with specific settings enabled in Tools > Preferences Each PC should be
set in an identical manner. Subsequent releases may include differences in averages
or message totals due to different features being introduced in the future.

1.3 Course structure


This course is structured over 1.5 days according to the following agenda:

Introduction to the Analysis Manager

Query types overview

Query building

Coverage holes

Interference analysis

Server dominance analysis


5

Call setup sequence analysis

File and call analysis

Dropped Call Analysis

Combining two handset data streams into the same expression

Call sequence messaging

Commonly-used functions

Analysing information held in different Layer 3 messages

Formatting results

Exporting queries to create report templates

Tips and Tricks for faster and more efficient query building
6

2 What are queries?


The Analyzer Platform includes a sophisticated method of analysing drive-test and
protocol data, further than simply visualising the collected measurements on a
map/chart/table. Queries are a method for combining collected measurements
together, applying thresholds and applying built-in functions to the measurements to
highlight radio problems, generate KPI statistics or investigate problems.

2.1 Query types


Queries are available in the following types, each with an increasing level of
complexity:

Filters

Histograms

Statistics

Time-Series (called Binned Queries)

Multi-Dimensional Statistics (called Crosstab Queries)

Event-Triggered Window Statistics (called Event Queries)

2.2 Filter queries


Filters can be very simple, and can be applied in combination to narrow down a
problem to a specific area. It is important to note that the filter is applied to each
view, meaning that the underlying raw data has not changed, but all maps, charts,
tables etc now contain a filtered view, regardless of which parameter is being viewed.

For example, if a simple filter of RSSI < -85 dBm is applied to the following chart.
7

Only the values that meet the filter requirement will be returned.
8

2.3 Histograms
Histogram query processes data for a single dimension into a bar chart, which is good
for producing a high-level view of the data. This data is available for any time-series
data displayed in a workbook. It can also be displayed using the Histogram button in a
chart. Example below returns the PDF (count) histogram for any parameter or
expression, either using the ranges found in the datafile, or by specifying ranges or
discrete values for the histogram bars and can only be viewed in the histogram tab of
the chart, table and workbook, as can be seen by the following breakdown of In SHO
states.

2.4 Statistics
The Statistic query allows you to generate data based on the statistics available for a
single dimension. It is useful for generating a high-level view for system metrics
purposes. These return the Mean, Mode, Median, Maximum, Minimum, Count,
Standard Deviation and Variance of the parameter or expression used. These can only
be viewed in the Statistics tab of the table and workbook.
9

2.5 Binned
Binned queries provide a simple way of creating a formula and displaying the results
on the map or exporting the results to Excel using the Display on Workbook command
(where they appear on the Series Formatted Data tab). These queries can be as
simple, or as complex as needed to be, but have the advantage of running at every
binned message point in the file, so they can be used to create a new time-series
dataset. As you are essentially creating a new time-series parameter, these can be
viewed on the map, time view chart, series tab of the table and workbook. However,
these will be subject to which ever binning method has been chosen, but it is also
possible to override the platform binning setting from inside the expression builder
window.
10

2.6 Crosstab
Crosstab queries (also known as multidimensional statistical queries) are used to
provide high-level overviews, typically of the state of the network. This type of query
can be used to generate statistics against any dimension available, where it process
the sequential message data and extract and calculate summary information (called
statistics), which is broken down by one or more dimensions (such as region and
serving cell). The results will be across the whole file, so the results are not in the
time-series domain anymore, but any number of statistics can be returned, from a set
of possible options such as Count, Percent True, Last Value or Sum. These
have theirs own visualisation tool, the Statistics Explorer. Example below displays 6
statistic columns for each unique Site ID row.
11

2.7 Event
Event queries (sometimes called window queries or triggered queries) are a
special type of crosstab query that are used to create a list of individual occurrences of
a problem so that users can drill down into the details of what was going at that time.
Generally you use an event query to create a list of failure or warning events, such as
dropped calls, handover failures, or throughput measurements that are less than a
given threshold. You specify the problem you want to list as the trigger (sometimes
called the triggering event). This can be any attribute or expression, although
typically it will be an event attribute.

This type of query is essentially the same as a crosstab query with the difference being
that a trigger event is defined first, and an optional window before and after
(measured in either time or number of messages) can be defined. It is within these
windows that the statistics are calculated.

5000 ms 5000 ms

Event Event
trigger trigger

0 5000 10000 15000 20000


Time in milliseconds
12

3 Introduction to the Analysis Manager


The Analysis Manager is the central point for managing queries. It allows new queries
to be written, edited and deleted, existing queries to be imported and exported, and
event queries to be set to load-time (covered later). There are 6 different types of
queries: Crosstab, Binned, Filter, Histogram, Statistic, and Event queries.

It is also possible to view any of the existing queries already embedded into the
solution by selecting the second tab Existing Analyses.
13

There are also three other terms which will be used throughout this query training
course which, although new to begin with, will become common tools for creating and
editing queries, these are: the Expression Builder, Format Group and the
Attribute Picker.

Query Format of Attribute


Name Results Picker

Expression
Builder Quick-Pick
Pre-written Functions
Expressions Window

Binning Attribute Enumerated List Function


Override List Selector List

The Expression Builder is shown above. You can see the main expression builder
window, with the three panels at the bottom for the attribute list, enumerated list
selector, and list of available functions. In the top-right corner, it is possible to select
a different format for your results, either using the drop-down list of available formats

or by using the Attribute Picker (denoted by the button).


14

4 Configuration
Before we begin to design a query, it is important that all PCs are set identically during
the training. This is to allow the course instructor to be able to explain any problems
as the course progresses. This section contains the settings needed for the remainder
of the course.

Analyzer Classic will be used to view the throughout of the training course.

In the Tools Display Thresholds UMTS Event Control Threshold Editor


window, set the following values:

Uu_CallSetupFailure_Num_RRCConnReq = 4

Uu_CallSetupFailure_TimeDelay = 2

Uu_ReEstablishment_wait_timer = 0

Uu_wait_timer_Complete = 0

In the Tool Preference Change Preferences window, set the following values:

Cellrefs file should be set to the CELLREFS_RVS_QUERY.TXT file


Note: You are required to restart your Analyzer Classic after a new cellref is set.

GPS Interpolation should be disabled

Time offsets from GMT should both be set to 0 (switch and mobile)

Binning should be set to message with the bin size of 1


15

Decode Settings Scanner Ec/Io Threshold should be set to -30

Scanner Load Mode should be set to Load all scanner data

Load Speed Default should be set to Load all

WCDMA SHO simulation settings should be kept at the default values


Reporting range Events = 5dB
Hysteresis Events = 3dB
Time To Trigger Events = 1000ms
Max. Active Set Size =8
16

GPS Transformation should be set to Default (degrees)


17

5 Query Design
5.1 Coverage Holes filter
Logfile WCDMA UE + Scanner Drive.SD5
Name Coverage Holes filter
Aim To find areas in the network which have bad RSSI coverage
Definition Scanned RSSI < -85 dBm

Step 1: From Analyzer Classic view, load the logfile WCDMA UE + Scanner
Drive.SD5.

Step 2: Locate the Uu_Scan_RSSI parameter from the Attribute Explorer (under

UMTS Other grouping) and by right-clicking on it, display it on a chart.

Step 3: By right-clicking on the scanner stream name, select Create new filter.

Step 4: Create the filter with the title as above, and select the Uu_Scan_RSSI

parameter using the Attribute Picker button ( ). You will notice that the wizard
automatically puts the state( ) function around the parameter name. This is
because not every message contains every parameter. So to include it in a filter, it
will need to be held across messages which do not contain the RSSI.

Step 5: Selecting the filter type to be strictly less than (<) and enter the threshold
coverage level of -85dBm.
18

Attribute
Picker
Title

Expression
Builder

Boolean
operator

Output
format
Threshold

Step 6: Click OK to apply the filter.

The chart should be filtered to only show the values below -85dBm:

Step 7: Add the CPICH_Scan_EcIo_SortedBy_EcIo_0 parameter to the same chart


by dragging it onto the chart (from the UMTS Nth Best grouping). Notice how this
parameter has also been filtered.
Note: Filters are applied to the whole stream, meaning when you display the best
EcIo value on a chart, you are only showing the EcIo values where the RSSI is greater
than -85dBm.
19

Step 8: Now open Tools Analysis Manager, select the Filter option and click the
New button. This will open the Filter Wizard.

Step 9: Give your new filter the title: Poor EcIo.

Step 10: Using the Attribute Picker ( ) as before, select


CPICH_Scan_EcIo_SortedBy_EcIo (from the UMTS Nth Best grouping).

Step 11: Choose the less than or equal to (<=) option, and enter -10 as the
threshold.

Step 12: Click OK to close the wizard, and OK again to save your query into the
workspace.

Step 13: Right-click on the scanner stream name and follow the Filter sub-menu. The
new Poor EcIo filter is not selected. This is because it was created from the
Analysis Manager, not from the right-click menu of that stream.

Step 14: Select your new filter and you will see the chart filtered even further to
only show areas where there is both RSSI < -85 AND EcIo <= -10.

Step 15: Right-click on the scanner stream name and follow the Filter sub-menu.
Select the OR option, and you will see your chart change to look like this:
20

This is because you are now filtering for all areas where either RSSI < -85 OR EcIo <=
-10. You have displayed the RSSI and EcIo on the chart, and are now showing all
areas where either of these 2 filters has been triggered.

Step 16: Disable both the filters by de-selecting it in the filter list again.

(When filters are enabled, they have the small tick displayed next to them.)

Important Note about filters: Regardless of which parameter you use to filter the
device stream, all parameters you view on the map, chart, table etc. will also be
filtered.
21

Therefore, it is best to use the Attribute Picker( ) to choose your parameter,


because RVS will automatically add the state( ) function around your filter parameter,
to hold it across all other messages that do not contain that parameter. See the
Annex in page 63 for a more detailed description of the state( ) function.

5.2 Coverage Holes binned


Logfile WCDMA UE + Scanner Drive.SD5
Name Coverage Holes binned
Aim To find bad pilot coverage areas within the network
Definition Strongest RSCP < -90 dBm

Step 1: Unless it was opened in the previous exercise, open logfile


WCDMA UE + Scanner Drive.SD5.

Step 2: Open the Tools menu and select Analysis Manager.

Note: This can also be performed by the hotkey CTRL-A

Step 3: Select the Binned Query type and click the New button.

Step 4: Type the name Poor Coverage (scanner) into the Description field.

Step 5: Click the left mouse button to place the cursor into the expression builder area

Step 6: In the Attribute List, scroll down to find the UMTS grouping. Then from inside
the Nth Best grouping, double-click on:

CPICH_Scan_RSCP_SortedBy_EcIo

Step 7: You will notice that the parameter has been added to the expression builder
panel, but with a difference, where there are two square braces after it and the cursor
has been placed between them. This denotes that the parameter is actually an array.
It can contain many RSCP values all at the same message point, but it is sorted by the
relative EcIo value of each. This sorted array contains the strongest signal at array
22

position 0, the next strongest at position 1, and so on, for all values scanned at a
particular message point.1

Step 8: Type 0 (zero) between the square braces (to indicate the strongest signal),
and complete the expression by typing the equality check:

CPICH_Scan_RSCP_SortedBy_EcIo[0] < -90

Step 9: You will also notice that the Format in the top-right corner has automatically
jumped to WCDMA RSCP. This is now incorrect, as we have just created a Boolean
expression an expression that can only evaluate to either FALSE or TRUE,
represented internally as 0 or 1.

Step 10: To change the format of the result to match the expression, it is possible to
either scroll through the list until you find it, or if you know another parameter with
the same units you can select it from the Attribute Picker( ). It is also possible to
type directly into the format box, and it will automatically index the search on what
you type. Select the format box, and type b and o and you will notice that you
have already selected Boolean.

Step 11: Click OK to close the Binned Query builder, and OK again to save your query
into the Analysis Manager.

Step 12: Inside the scanner stream in the Workspace Explorer, you will be able to find
your new Binned Query, which you can display on the map.

1
Arrays can be either sorted arrays where the array elements are sorted from 0..n (where n is the number
of valid measurements) or sparse arrays which are indexed according to a different parameter, such as
Scrambling Code.
23

Step 13: This gives a good overall picture of where the problem lies, but it would be
better to only show the points where the holes existed. We will now modify our query
to remove the orange false points. Right-click on the query name in the Workspace
Explorer:
24

Step 14: Modify the expression to place an if( ) function around it2:

if( CPICH_Scan_RSCP_SortedBy_EcIo[0] < -90, 1, NULL )

Step 15: Save the query again and re-display it on a map. You will notice that all the
points are now visible (some may have been hidden by false values previously.

2
Notice the commas separating the elements of the statement, and the use of the keyword NULL to create
an empty bin for the query at that message point. This works in the same way as MS Excels conditional
statement:
if( condition, true statement, false statement)
25

5.3 Pilot Pollution 1 binned


Logfile WCDMA UE + Scanner Drive.SD5
Name Pilot Pollution 1
Aim To find areas where there are too many good quality signals.
Definition For every point in the map, find and locate the count of the number of EcIo
values that are greater than -14dBm and test whether it is > 3.

Step 1: Create a new binned query and enter the title Pilot Pollution 1.

Step 2: Click inside the expression builder panel to move the cursor and scroll down
inside the functions list on the right-hand side until array_count is found.

Step 3: Double-click on array_count and you will notice that it has been added to
the expression builder with placeholders for the various elements of the function. This
function needs a parameter, a test and a constant expression:

array_count( <<attribute[]>> , <<operation>> , <<expr>> )

Notice how you are prompted for an array-parameter by the square braces.

Step 4: With the <<attribute>> part still highlighted, scroll down inside the attribute
list inside the UMTS grouping and inside Nth Best and double-click on the parameter:

CPICH_Scan_EcIo_SortedBy_EcIo

Step 5: Now select the operation marker in the middle of the function and type >
and select the expression marker at the end of the function and type -14.

Step 6: Your expression should look like this:

array_count(CPICH_Scan_EcIo_SortedBy_EcIo[], > , -14)

Step 7: Once you have saved your query, display it on the map (ensuring you select it
from the scanner stream of the file, not the UE stream!)3

3
Notice how the legend has its highest range as above 0 and all values are concentrated into this range.
This is because the format automatically set itself when we selected the sorted EcIo parameter.
26

Step 8: Edit your query and change the format to Count, and your results should be
as follows. The important thing to note is that the results are still the same, but the
formatting of the results is much more meaningful.
27

Step 9: Now we have displayed the count of scanned values above -14 dBm, edit
your query to repeat the addition of the if( ) statement from the earlier example and
tighten the definition to only show the areas where there is pilot pollution according to
the original aim of the query.

Your query expression should look like:


if((array_count(CPICH_Scan_EcIo_SortedBy_EcIo[]) , > , -14 ) > 3, 1, NULL)
28

5.4 Exercise: Binned Query (Pilot Pollution)


Logfile WCDMA UE + Scanner Drive.SD5
Name Pilot Pollution 2
Aim To find areas where there are too many signals within 6dB of the strongest SC.
Definition For every point in the map, find and locate the areas where there are 4 or more
scanned signals within 6 dB of the strongest scanned signal.

Hint: Modify your query in the previous example, which look as below:

array_count(CPICH_Scan_EcIo_SortedBy_EcIo[], > , -14)


Make sure the end result shows you the areas, which contains >=4 scanned signals
within 6 dB of the strongest scanned signal.

Expected Result: With the new expression youve modified, you should be able to spot
out the badly affected areas, which contains >=4 scanned signals within 6 dB
of the strongest scanned signal.
29

5.5 Solution: Binned Query (Pilot Pollution)


Logfile WCDMA UE + Scanner Drive.SD5
Name Pilot Pollution 2
Aim To find areas where there are too many signals within 6dB of the strongest SC.
Definition For every point in the map, find and locate the areas where there are 4 or more
scanned signals within 6 dB of the strongest scanned signal.

Solution 1: Build up your query as in the previous examples, until you have the
following expression:

This should display results as follows (after a legend re-format):


30

Badly affected
area

>= 4 scanned
signals within
6dB of the
strongest
scanned
signal
31

5.6 Exercise: Binned Query (Inbound Pilot Pollution per SC)


Logfile WCDMA UE + Scanner Drive.SD5
Name Pilot Pollution 3
Aim To find poor quality Scrambling Codes in good coverage areas
Definition For every point in the map, find and locate the SC, where the EcIo was worse
than -14 dBm and RSCP better than -100 dBm.

Hint: For this query, use the strongest scanners (not handset) Nth Best grouping
(sorted by EcIo) parameter and make sure the following information is included:

Strongest EcIo is < -14, and

Strongest RSCP is > -100

Return the strongest SC value at message points where this is true,

Your expression should look like:

If ((Strongest EcIo is < -14) AND (Strongest RSCP is > -100), display strongest SC
value, NULL)

Expecting Result: The map legend results should show most of the pilot pollution is
affecting a small number of cells, such as 266, 267, 269 and 271. This is all
concentrated around the same area.
32

5.7 Solution: Binned Query (Inbound Pilot Pollution per SC)


Logfile WCDMA UE + Scanner Drive.SD5
Name Pilot Pollution 3
Aim To find poor quality Scrambling Codes in good coverage areas
Definition For every point in the map, find and locate the SC, where the EcIo was worse
than -14 dBm and RSCP better than -100 dBm.

Solution: For this query, use the strongest scanners (not handset) Nth Best grouping
(sorted by EcIo) parameter. Your solution should look like:

if ((CPICH_Scan_EcIo_Sorted_EcIo[0] < -14) AND


(CPICH_Scan_EcIo_Sorted_EcIo[0] > -100),
CPICH_Scan_Sc_Sorted_EcIo[0], NULL)

Your final result should look like the map below:


33

Interpretation of the results:

The map legend results show that most of the pilot pollution is affecting a small
number of cells such as 266, 267, 269 and 271. This is all concentrated around the
same area.

5.8 Call Setup Time Analysis histogram


Logfile WCDMA UE + Scanner Drive.SD5
Name Call Setup Time Hist
Aim To display the distribution of the call setup time between the RRC Connection
Request and the call start.
Definition Show the counts of setup time in 1 second steps up to 6 seconds, and then
group all times greater than 6 seconds together.

Step 1: Press CTRL-A to display the Analysis Manager.

Step 2: Double-click the Histogram Query icon to open the Histogram Wizard.

Step 3: Enter the histogram querys name: Call Setup Time Hist

Step 4: From the Attribute Picker ( ) , select:

Uu_TimeBetweenRRC_REQandCallStart

(from the UMTS Statistics Data grouping.4)

4
You will notice that the state( ) function has not been added this time. This is because we are performing
more of a statistical analysis of only the setup times themselves, and do not require the value to be held
across subsequent messages.
34

Attribute
Title Picker

Expression
Builder

Histogram
Type

Column
settings
Manually
create & edit
columns

Number
of auto-
generate
columns

Filter Auto-generate columns

Step 5: Select the 3rd option of histogram types I want to specify ranges for my
histogram bars..

Step 6: Set the minimum value to be 0.

Step 7: Set the maximum value to be 6000, and select the Inclusive checkbox.

Step 8: Type 6 as the number of columns to generate and click the Generate button
to generate these columns.

Step 7: You will see your 6 ranges appear in the box above. Notice how they are all
set to be non-inclusive on the lower range, but inclusive on the upper range. This is
important to note, as it will stop values from being counted twice.
35

Step 8: Now we want to set our final rangetype 6000 in the minimum value.

Step 9: Disable the inclusive box from before, and click the Add button. Your range
of Greater than 6000.0 will be added at the end of the list.

Step 10: Click OK to end the wizard, and OK to save you query.

Step 11: From the Query section in the Workspace Explorer (ensuring you are looking
at the handset device stream now), open the Histogram grouping, right-click on your
new histogram and display on a table.

Step 12: Change the view to the Histogram tab in the middle, and you will see your
results displayed.5

5
To improve the efficiency of this query, edit the query, and select the Filter button. Build the following
filter:
Uu_TimeBetweenRRC_REQandCallStart > 0
This will only trigger the query on message points where there are values for the call start time. It will not
affect the results, but the query will be more efficient in terms of speed and memory usage
36

5.9 Dropped Call Statistics statistics


Logfile WCDMA UE + Scanner Drive.SD5
Name Dropped Call Stats
Aim To display the count of the dropped calls.
Definition Generate statistics for the dropped calls, to show the total count.

Step 1: From the handset device stream, right-click on the Queries item in the
Workspace Explorer and choose Create a New Query.

Step 2: Select the Statistic query wizard and click the New button.

Step 3: Enter the statistic querys name: Dropped Call Stats.

Step 4: Choose the Uu_CallDopped parameter using the Attribute Picker ( ) from
the UMTS Event Data Call grouping.

Step 5: Keep the default option of not excluding any data from the calculation. This
option should only be used if the engineer is certain that the beginning of end of the
collection contains useless information, or for example, the drive test trace started
while being served by a micro-cell in an underground car-park which should be
excluded from the statistics.

Step 6: Select OK to exit the wizard and OK to save your query.


37

Step 7: From the Workspace Explorer, open your query onto a Workbook.6

5.10 UE Analysis Statistics crosstab


Logfile Nemo Pilot Pollution.dt1
Name File and UE statistics
Aim To generate statistics for each call which is contained in the logfile
Definition Generate file and call statistics for each call, indexed using the call ID, using
UE parameters collected during the calls.

This set of examples will build up a large crosstab query to return overview
information for the logfile and also call-by-call statistics such as setup time, setup
procedure outcome, average quality and SHO overhead. To define the initial query,
first we have to define a set of file statistics such as the start & end time, file-size,
and relate these to the filename. In another word, it can be expressed as:

Return statistics x, y & z per file.

This statement is divided into 2 parts: the statistics (X, Y & Z) and the dimension
(File). So our crosstab query is built up from these basic objects a dimension and a
set of statistics. The dimension will be used to create a set of unique rows, and the
columns will contain the statistics results.

6
Notice that it has been created into a sheet called Statistic Formatted Data. All statistics will be added to
this sheet. Similar sheets are created for histograms, time series binned queries and crosstab/event
queries.
38

Step 1: Load file Nemo Pilot Pollution.dt1

Step 2: Open the Analysis Manager and select the Crosstab query wizard.

Step 3: Enter the crosstab querys name: File and UE statistics

Step 4: Choose the dimension of FileName from the Attribute Picker ( ) from the
Independent File Info grouping.7 Note that the title shows (last valid value).
Note that the state( ) function has been added around your dimension to make sure
that the FileName attribute is held across the whole file (so you can ask for any
statistics from any Layer 3 or proprietary message, and they will still be calculated for
the filename).

Dimension
Title Attribute
Picker

Dimension
List

Reorder &
Copy
Buttons
Statistics
List

Crosstab
Global
Filter

Step 5: Click on the New Statistic button to add a new statistic.

Step 6: Enter the statistics name: File Size.

7
By using the Attribute Picker, state( ) will always be placed around the parameter. If the Expression
Builder is used, the function should be manually added to the expression before choosing the dimension
parameter.
39

Attribute
Title Picker

Expression
Builder
Statistic
Type

Statistic
filter

Step 7: Each statistic can take one of a number of pre-defined types, but for this case,
we will be using the Last Valid Value statistic to return the most recent value.

Step 8: Choose the FileSize parameter from Attribute Picker (inside Independent
File Info).

Step 9: Click OK to save the statistic, OK to exit the Crosstab wizard and OK to save
the query.

Step 10: From the Nemo Pilot Pollution file, right-click on the new Crosstab query and
display on the Statistics Explorer. You can see the Filename dimension is displayed
in an unique row right on top, and the File Size column as the statistic.
40

Step 11: The file size units are still bytes, so edit the query and select the File Size
statistic.

Step 12: Click the Edit Statistic button, and then click Edit to open the Expression
Builder for the expression.

Step 13: Divide the FileSize by 1024, and set the format to Unsigned 64-bit
integer.

Step 14: Save the modification and select the query again in the Statistics Explorer.
Note: Your filesize will now be formatted in Kb.

Step 15: Add 2 new statistics: Mean EcNo (0), and Mean Lin. EcNo (0). These
should be both using the Uu_ActiveSet_EcNo parameter from the UMTS Downlink
Measurements grouping. The statistics types to be used as Mean, and Mean
(linear) respectively.

Step 16: Your Statistics Explorer should now display the following results.8

8
The Mean statistic simply averages using the arithmetic mean of all valid values. Mean (linear) value
converts the values into the Watt scale, performs the average and then converts the values back into dBm
scale.
41

Step 17: Now we want to create sub-dimensions, so we can calculate the statistics for
each call inside the file, so we add another dimension of Uu_Call_ID. Edit the query

and use the Attribute Picker ( ) to add the Uu_Call_ID as a second dimension.

Step 18: Now add the following statistics on your own (see over the page at Step 19
for the Format to use in each case):

Count of drops,

Setup Time (s),

SHO Overhead, and

Call start
42

Step 19: The formats of the statistics should be set as follows:

Count of drops = Count

Setup Time (s) = Float

SHO Overhead = Percentage

Call Start = TimeOfDay


43

This can be done by editing the statistic parameter and setting the Format option in
the Expression Builder manually. This should give results formatted as follows:

Filter by Mean statistic


dimension gives average for HH:MM:SS:sss
whole file, but
accurate per call

Only Valid at
6 2
start of file
decimal decimal
places places

Interpretation of the results:

There were a total of 11 calls (call ID starts from 1 at the first call), where 8 of
them were dropped calls.

Out of the 3 remaining calls, none of them was set up successfully.

Just over 4% of the whole file was spent in SHO (>1 SC in the Active Set).

Individual calls can be analysed by selecting the row and clicking the Filter button
all other views (Message Browser, Map, Chart etc) will only display that call.

The number in brackets after the dimension refers to the number of messages
from the file, which was identified by that dimension. Eg: call 10, which failed to
set up only had 78 messages between (and including) the RRC Connection
Request and the failure.
44

5.11 Scanner and UE Analysis at Call Setup event


Logfile WCDMA UE + Scanner Drive.SD5
Name Merged Call Setup Analysis
Aim To generate statistics at each call setup which contains UE and synchronised
scanner data
Definition Create event query triggered on RRC Connection Request, reporting UE and
scanner statistics, indexed using the UEs call ID.

With the scanner and UE collecting data at the same time, it is important to be able to
analyse both at the same time. To allow queries to be constructed so that both
devices can be analysed at the same time, they can be merged using the
Superstream function (under the Tools Create Superstream menu, or use the
hotkey Ctrl-U). An event query will be used for this example, which is a special
type of crosstab query, with a trigger condition and window applied to it.

Step 1: Open the Analysis Manager and select the second tab: Existing
Analyses.

Step 2: Select the previous query File and UE Statistics and click the Export
button to save your query. We will be using it later.

Step 3: Superstream the scanner and handset device streams from the above file,
using the default merge settings (based on timestamps). It is possible to merge on
the timestamps as both devices were connected to the same collection unit.

Step 4: Press CTRL-A to open the Analysis Manager, and double-click the Event
Query wizard.
45

Step 5: Create the trigger Uu_RRC_MsgType== 202 (RRC Connection


Request), use a window setting of 5000ms before the event.

Trigger
Attribute
Picker

Trigger
Expression
Builder
Window Options

Window Size

Discriminator
Protocol Attribute
Discriminator Picker

Step 6: Click Next > and the usual crosstab query wizard will be displayed, with the
EventTime dimension added automatically. This is the function event_time() in
relative milliseconds from the beginning of the file, and will uniquely identify the event
on a row.

Step 7: Enter the title Merged Call Setup Analysis, and create the first statistic as
the Last Value of state(Uu_Call_ID).

Step 8: Click OK to close the wizard, and OK to save your query. Display the query
on the Statistics Explorer from the Queries Crosstab grouping.9

9
The query will only evaluate when the trigger condition is fulfilled. A window before and/or after the
trigger condition in a number of messages or milliseconds is created, and the crosstab query will be
evaluated only during the window. The discriminator is mainly used to distinguish between calls on protocol
interfaces, but it can also be used to extract individual calls from a drivetest file.
46

Call ID = 0, indicating
RRC Connection
Request for another
reason

Repeated call ID,


indicating retry

We will now filter for only the requests for Establishment Causes of MOC.

Step 9: Edit the trigger to also trigger on all establishment causes valid for MOCs.

Step 10: Click Next to display the crosstab details.


47

Step 11: Add new statistics for:

Scanned EcIo (Mean of CPICH_Scan_EcIo_SortedBy_EcIo[0]), and

UE EcNo (Mean of Uu_ActiveSet_EcNo[0])

This is the important step in this exercise because you have merged the handset and
scanner into the same stream, where you can access the parameters from both
devices in the same query.

You can see here that there are a different number messages being analysed in each
5-second window before each connection request message. This is due to the fact
that each window may contain more handset mode messages than another, but the
scanner messages should be uniform (to the logging frequency set in the scanner
device).

Step 11: Open the Analysis Manager and switch to the second tab: Existing
Analyses.

Step 12: Highlight all queries created so far and click the Export button. Save your
queries to your desktop. We will be using these queries later.
48

5.12 Dropped Call Analysis event


Logfile Nemo Pilot Pollution.dt1
Name UE Dropped Call Query
Aim To analyse each dropped call to report possible diagnosis
Definition Create event query triggered on dropped call event, to analyse Pilot Pollution, and
Missing Neighbours.

This event query will concentrate around the Uu_CallDropped events in the file. We
will create 2 windows this time, one with 10 seconds before and 5 seconds after
the drop. We will compare the SC before and after the drop, use the definition of
pilot pollution already covered in an earlier example, and also the difference between
the RSSI and RSCP. These will give us a good diagnosis of possible contributors to the
drop.

Step 1: Ensure that the Nemo Pilot Pollution.dt1 file is loaded.

Step 2: Create an event query that triggers on the Uu_CallDropped event, and
create 2 windows, 10000ms before and 5000ms after the trigger

Note: Do not merge the windows

Step 3: Do not choose a discriminator, but click the Next > button.

Step 4: Change the Format of the EventBefore dimension to Before After. This
returns text in the Statistics Explorer that is easier to understand.10

10
This 2nd dimension allows us to separate out the window around the trigger event into strictly before,
and on or after the event, allowing us to analyse statistics around the event.
49

Step 5: Create the other statistics to match the following:

New
Automatic
Dimension

Step 6a: The Drop time statistics should be the Last Value of:

reltime2abstime( event_time() /1000 )

with a format set to TimeOfDay.

Step 6b: The Mean EcNo(0) statistics should be the arithmetic mean of the
strongest EcNo value in the Active Set.

Step 6c: The parameter to use for the Recent IntraFreq Event statistics can be
found in UMTS Uu_RRC UL-DCCH Measurement Report:

Uu_RRC_IntraFreqEventResults_eventID

Step 6d: The % Pilot Pollution statistic is a Percent True statistic, with the
equation set to:

array_count(Uu_MonitoredSet_EcNo[], > , Uu_ActiveSet_EcNo[0]-6) > 0

with the format set to Percentage.


50

Step 6e: The Recent Active Set SC(0) statistic is a Last Value statistic, of the SC of
the strongest cell (strongest according to the EcNo).

Step 6f: There is also a rough Missing Neighbour detection statistic, comparing the
difference between RSSI and strongest (in terms of EcNo) RSCP.
The % (RSSI-RSCP) > 15 statistic is a Percent True statistic, with a format of
Percentage.
The expression should look like:
(UTRA_UE_CarrierRSSI Uu_ActiveSet_RSCP[0]) > 15

Step 7: Add a new statistic, called Count MR and set the type to Count. This is
the final statistic of Measurement Reports within the window.

Step 8: Open the Expression Builder and choose the parameter Uu_RRC_MsgType
from UMTS Uu_RRC grouping.

Step 9: The Format will automatically change to match the enumerated type, but reset
it to be Count to match the statistic we are creating.

Step 10: Click the OK button to close the Expression Builder, and click Edit to open
the filter Expression Builder.
51

Step 11: Here you will be creating a filter, to only trigger the statistic at certain
messages. Click on Filters Edit button to create the following expression:

Uu_RRC_MsgType == 9

This has created a filter to be applied inside the window, and count the number of
messages that satisfy the filter criteria. When the query is evaluated, it will trigger on
the dropped call and run the statistics inside the defined windows.
Note: This statistic will only be run when the Measurement Reports are found, and
then the messages will be counted.

Step 12: Click OK to close the wizard and OK to save the query. The results of the
query should be as follows when analysed in the Statistics Explorer.

Missing Neighbour problem? Or was it Pilot Pollution, and a


network problem in adding to the Active Set?

Interpretation of the results:

The drop expanded (at event time 627999) was on SC 482 before the drop, and
SC 282 just after the drop.

The difference between RSSI and RSCP was greater than 15dB for 70% of the
before window.

The pilot pollution (defined as the percentage of time when there were SCs in the
Monitored Set within 6dB of the strongest in the Active Set was at 30%.
52

There was also an average strongest EcNo of -17.1dBm during the 10 seconds
before the drop. However, there were no requests made by the UE to modify the
Active Set.

Two of the drops also contained an Intra frequency event (RRC_e1b)


Measurement Report within the 10-second window before the event, and the
count of Measurement Reports within the windows is shown.

5.13 Call Setup Sequence Analysis Crosstab


Logfile Nemo Pilot Pollution.dt1
Name Call Sequence Analysis
Aim To analyse the Layer 3 messaging for call setup procedures
Definition Create a crosstab query to display the RRC Connection sequence, CM Service
Request and CC Alerting messages for each call setup sequence.

To create this query, we shall keep the final result in mind to guide us through our
query design. In another word, we want to see the individual messages in their
sequence to spot any problems in each call in our results. This implies that your query
will contains a dimension of Call ID, and a set of columns to hold each RRC / NAS
message in the sequence.

Step 1: Open the Analysis Manager and double-click on the Crosstab query wizard.
Enter the querys title Call Sequence Analysis

Step 2: Create the dimension of Uu_Call_ID from the Attribute Picker( ), and add
Last Valid Value after the name.

Next, we will create our statistics columns: RRC message type, and NAS messages.

Step 3: Create a new statistic, returning the Uu_RRC_MsgType parameter. We set


the statistic type to Last Value. 11

11
If you open the Expression Builder for this parameter, you will see the format set to
WorkingSetUu_RRC99Proj. This will format the numerical code number to the correct text.
53

Step 4: Repeat this process for the GSM_Um_Msg_Type parameter (from GSM
Dedicated Radio Link grouping).

Step 5: Now click OK to close the query wizard and OK to save your query, and
display the results so far on the Statistics Explorer:

Not a
call
attempt
Too many
messages
included for
our
purposes
54

You can see that although we have returned a unique row for each call, we have not
isolated the exact RRC messages we wanted to find, and looking at the number of
messages in brackets after the call ID, we can see that we have actually included all
messages in each call in the search.

To isolate the individual messages, we will add a global crosstab filter.

Step 6: Right-click on your query name and choose Edit Analysis Definition.

Step 7: Click on the Filter button on the bottom left corner and you will be
presented with the Expression Builder.

Step 8: Build the following filter.

Filter only for Only trigger on


Note the AND / messages we are
valid calls (no
OR Boolean interested in
Location Updates)
logic

Step 9: Save your query and check the results in the Statistics Explorer. Notice how
the number of messages being checked has significantly reduced.12

Fewer
messages

12
This filtering method is useful for improving the efficiency of your query, but it should be used with care,
as it can influence the results of averaged statistics, as the query is only evaluated at message points where
the filter criteria is satisfied.
55

We have still not isolated individual messages on unique rows though. To achieve this
we need to identify another parameter to include in our dimension one that uniquely
identifies each message point, and that is Time.

Step 10: Add a second dimension of Time (from the Independent > Message Info
grouping) and re-save your query.

Single
messages

Now we can see that as well as filtering our query for only specific messages, we have
identified each of these on their own row (this can be seen by verifying the number of
messages in brackets after the dimension). This has made our query much more
efficient too, as the number of messages scanned for the query has reduced from over
10500 to just 46! Compare the successful call setup 1 and failure 4.

Step 11: Open the Protocol Stack Browser (at the streamname) for the UMTS Radio
Interface view, and tile the two windows horizontally.
56

Step 12: Highlight the top level of call 4 as in the screenshot above, and click the
Filter button in the Statistics Explorer:

You will now see only call 4 extracted into the Protocol Stack Browser, so you can
isolate all the messaging in that call. In fact, all views (map, chart, table, Message
Browser etc) will now be filtered for this call, allowing you to concentrate on only this
call. To disable this ad-hoc filter, simply toggle the filter button OFF in the Statistics
Explorer.
57

6 Report Templates
6.1 Single File Report Template
Logfile WCDMA UE + Scanner Drive.SD5
Name Single File Report Template
Aim To create a report template that will return KPIs from one file.
Definition Create a report template from existing parameters and queries which can
be run on any file. This will return the total number of dropped calls, a
histogram of the handoff state, the average call setup time, mean (linear)
RSCP for the strongest SC in the Active Set and total call duration for all
calls in the whole file.

Step 1: Ensure the above Nitro file is loaded.

Step 2: First we look at the requirements for the report. These can be separated into
existing parameters and those we need to generate through queries.

Existing KPIs

Average call setup time

Dropped call total

New KPIs

Handoff State histogram

Mean (linear) RSCP from the strongest Active Set SC

Total call duration for the whole file.

The Handoff State may already be a parameter, so it could be possible to add this to a
workbook to obtain the automatic histogram view of the data, but we are trying to
create a generic report template to be run on other files. To use the automatic view,
the legends will be controlled through the format group of the parameter and may
filter out ranges not found in the file. For this reason, we need to force the number of
ranges used in the histogram through a query.
58

Step 3: Find the call setup time parameter Uu_TimeBetweenRRC_REQandCallStart


(from UMTS Statistics Data grouping). Display it on a workbook by right-clicking
on the parameter.

Step 4: Keeping the workbook open, switch back to the RVS solution and find the
Uu_CallDropped parameter from the Events grouping and from the right-click menu,
add or displaying it to the existing workbook (active workbook).

Step 5: Notice how all 3 views from these two parameters have been added to the
workbook (Series, Histogram and Statistic Formatted Data tabs). Save the workbook
to your desktop.

Step 6: Now we need to create the queries to add to the report. Create a histogram
query using the Uu_UE_HandoffState parameter, and creating discrete values from
0 (inclusive) to 6 (inclusive).

Step 7: Create a crosstab query with FileName from the Attribute Picker( ) as the
dimension, and add 2 new statistics for:

Mean (linear) of Uu_ActiveSet_RSCP[0] formatted as WCDMA RSCP, and

Sum of Uu_CallDuration formatted as Time.

Step 8: Save your query into the workspace and check the results are accurate.

Step 9: Open the report template through the Workbook Open


Workbook/Report menu option, and choose to run it on the Nitro file.

Step 10: From the right-click menu, find your new query and display it on the existing
workbook. It will be added to a new sheet called Crosstab Formatted Data.

Step 11: These tabs will contain the results from whatever file you run the report
template on. Open Sheet 1 and create your KPI statistics here as follows:
59

Holding Time or Mean Time Between From Statistics


Failures = call duration / drops results
(roughly)

From Crosstab
results

From Histogram results

Step 12: Now go back into the all other sheets and delete the raw data from row 2
downwards. This cleans the report template so that it can be run on any other file, of
varying size.

Step 13: Save your report template.

Step 14: Open the Nemo Pilot Pollution log file and run the report template on
this file as you did in step 9. Compare the results.
60

6.2 Multiple File Report Template


Logfile WCDMA UE + Scanner Drive.SD5
Nemo Pilot Pollution.dt1
Name Multi-File Report Template
Aim To create a report template to be used to compare KPIs from 2 files.
Definition Add a previous query onto a workbook and convert it into a report template
using Excel links and formulae.

For this exercise, we will build up a report template using both of the above files and
the previous query that we saved: File and UE Statistics.

Step 1: If you have closed the workspace since writing the previous query, open the
Analysis Manager and import the query again.

Step 2: Find the query from the handset device stream of the WCDMA UE+Scanner
Drive file. Right-click on the File and UE Statistics query and choose Display on
Workbook.
Note: The sheet is automatically named Crosstab Formatted Data.

Step 3: Leaving the Excel workbook open, right-click on the query from the Nemo
Pilot Pollution file and select Display on Workbook (Active).
61

Step 4: You will notice that query results from both files have been added to the Excel
workbook, separated by a blank column. Change to Sheet 1 and create the
following template:

=MAX('CrossTab Formatted
Data'!B:B)
Threshold

=IF(D7>$G$4, "Fail",
"Pass")
='CrossTab =SUM('CrossTab Formatted
Formatted Data'!A2 Data'!Q:Q)/Sheet1!C7*100

Step 5: Switch sheets back to the Crosstab Formatted Data sheet.

Step 6: Highlight all rows from 2 downwards, and delete the data from the queries.13

Step 7: Close your report template and save it to your desktop.

Step 8: From the Workbook menu, choose Open Workbook/Report, and select
your report template.

Step 9: You will be presented with the following dialog, where it prompts you the most
recent file is used to create the report. This time, choose the WCDMA UE+Scanner
Drive file first and click OK.

13
This might seem a little strange, but we have already embedded the query definition into the workbook
and set up the front sheet template. Now we need to make sure the data used to create the template does
not affect the statistics next time it is run.
62

Step 10: The dialog will re-appear, but this time prompting to replace the WCDMA
UE+Scanner Drive file. Choose the Nemo Pilot Pollution file stream and click OK.

Step 11: The report will be regenerated, but this time with the handset results
reversed.

You have now created and run your first report template, successfully running it on
different handsets. The Dropped Call Rate threshold can be modified inside the report
template, and each file will be analysed individually against this threshold value.
63

7 Appendix
7.1 state() vs. prev_state()
Due to the nature of how the information elements are reported in different Layer 3
messages, useful engineering parameters such as signal strength and quality may not
be at the same message point as events such as dropped calls or call setup failures.

Therefore, any query such as an Event query that triggers on a dropped call may
trigger on an idle-mode System Information message, or a CC Disconnect message
with an abnormal cause code. If the most recent EcNo or ServRxLev are required, it is
necessary to look back in the message sequence to the exact message where they
were reported.

This is performed using the state() function. This function starts by looking in the
current message for the parameter, but if it does not find a valid value, it iterates back
in the message sequence until it finds the first valid value.

The prev_state() function works in exactly the same manner, but the difference is, it
begins its search at the previous message. This is illustrated by the following two
screenshots:
64

Where the selected message is the Measurement Report where SerRvLevSub = -


71dBm, the stateform shows that the prev_state() function still returns -75.
However, when the following message is selected.

Both values are the same.

This can be used to easily identify GSM cell-reselections where:

state( ServCI ) != prev_state( ServCI )

7.2 Little-known query commands


7.2.1 abstime( rounding_factor )
This function can be used as a dimension in Event Queries. The window defined
before and/or after the event trigger will be sub-divided into rounded seconds. The
rounding factor (seconds) is used to subdivide the window by starting at the event
time and creating bins just before the event (rounded down). Eg: abstime( 0.5 )
creates half-second sub-dimensions throughout the defined window, rounded down to
the nearest half-second. This can also be used as a statistic for an event query, to
return the absolute time. A useful tip when you choose this as a dimension, is to set
the Format Group to TimeOfDay which formats the results as HH:MM:SS.mmm.

7.2.2 delta( parameter )


This function (for crosstab and event queries) returns the difference between the
current value of the parameter and the previous value. Essentially, this command
performs the following:

state( parameter_x ) prev_state( parameter_x )


65

7.2.3 get( parameter, index, message_number )


For example, when used as a statistic in an Event Query,

CPICH_AllSets_UE_EcNo_For_SC[ state( get(Uu_ActiveSet_SC, 0, event_message()) )


]

extracts the zero array position (strongest) of the Active Set Scrambling Code at the
time of the event trigger, and then uses that SC value to lookup the EcNo value in the
CPICH_AllSets_UE_EcNo_For_SC[ ] array.

7.2.4 default( primary_ expression, secondary_ expression )


This function is used in expressions when it is not possible to guarantee that the
primary_expression contains a value. If this was not used, any message points where
the primary_expression evaluates to NULL would cause the expression to fail. By
using the default() function, if the primary_expression is NULL, the
secondary_expression will be used. The secondary_expression should be numerical to
ensure the same situation does not arise.

Eg: Uu_ActiveSet_EcNo[0] default( Uu_MonitoredSet_EcNo[0], 0 )

7.3 Setting a timer statistics using crosstab queries


This method requires a trigger message, and a search message, and the result is then
the time offset between the two. The design of the crosstab query requires a filter,
dimension and a statistic. In the following example, we will calculate the duration of a
soft-handoff event in WCDMA, starting at the UL Measurement Report, and
terminating at the UL Active Set Update Complete message. The method we use is to
trigger the query on the last message in the sequence, and then look backwards in the
file for the first message in the sequence.

Trigger message = UL_Active_Set_Update_Complete

Search message = UL_Measurement_Report

Dimension = Time (this returns a row for each unique trigger message)

Statistic

Type = Last Value


66

Expression = Time prev_time_where(Uu_RRC_MsgType == 9)

Format = Time

Filter = <blank>

Crosstab Filter = Uu_RRC_MsgType == 1 (our trigger message)

The problem with this method is that it assumes that the message sequencing in the
logfile has no abnormal cases. If the logging tool missed an
UL_Measurement_Report, the query would trigger on the
UL_Active_Set_Update_Complete message but the search message would actually
be the UL_Measurement_Report of the previous soft-handoff event, so the timer
will be incorrect.

7.4 Cell Lookup Query Functions


It is possible to search the cell database for extra data added to the cellrefs file (using
an edited .INI file). The following functions can be used in Crosstab and Event queries
to give even more useful information to the engineer to help investigate the problem.

These functions return elements of a specific GSM serving site or sector:

GSMServingSiteLookup( parameter, MCC, MNC, LAC, CI )


67

GSMServingCellLookup( parameter, MCC, MNC, LAC, CI )

These functions return elements of the nearest neighbour site or sector:

GSMNeighbourSiteLookup( parameter, Lat, Long, MCC, MNC, BCCH, BSIC )

GSMNeighbourCellLookup( parameter, Lat, Long, MCC, MNC, BCCH, BSIC )

These functions return elements of a specific WCDMA site or sector:

WCDMASiteLookup( parameter, Lat, Long, SC )

WCDMACellLookup( parameter, Lat, Long, SC )

For example, if your cellrefs file had the following extra columns added to it:

Antenna_Type = String

Mech_Tilt = Integer

These columns could be accessed as statistics in an Event query as follows:

WCDMACellLookup("Antenna_Type", Latitude, Longitude,


state(Uu_ActiveSet_SC[0]))

using FormatGroup set to String, and

WCDMACellLookup("Mech_Tilt", Latitude, Longitude, state(Uu_ActiveSet_SC[0]))

using FormatGroup set to Short.

The Latitude and Longitude of the triggering dropped call are used, as is the most
recently reported strongest SC value.
68

7.5 CellHandle Lookup Function


CellHandle Lookup Function is a much faster function than the corresponding
technology-specific cell lookup functions.

This function returns a named parameter for a given site or cell:

CellHandleLookup( "Parameter", CellHandle )

This function returns the WCDMA site ID:

CellHandleLookup("SiteID",
ServingSiteHandleBySC[CPICH_Scan_SC_SortedBy_EcIo[*]])

This function returns the WCDMA sector ID:

CellHandleLookup("Sector_ID",
ServingSectorHandleBySC[CPICH_Scan_SC_SortedBy_EcIo[*]])

Note: ServingSiteHandleBySC attribute is used to return the identifier for the site. This
array attribute is indexed by scrambling code, and so the
CPICH_Scan_SC_SortedBy_EcIo attribute is used to return the scrambling code. These
examples use the array indexer suntax ([*]) to return all of the values stored in the
CPICH_Scan_SC_SortedBy_EcIo array attribute at each message point.

7.6 Example
A Crosstab query that uses these two expressions to define two of its three dimensions
(the first dimension is based on the scrambling code). The Azimuth and Downtilt
statistics also use the CellHandleLookup function, as follows:

CellHandleLookup("Azimuth",
ServingSectorHandleBySC[CPICH_Scan_SC_SortedBy_EcIo[*]])

CellHandleLookup("Tilt",
ServingSectorHandleBySC[CPICH_Scan_SC_SortedBy_EcIo[*]])
69

7.7 Editing existing report templates


Actix solutions use Excel as the standard reporting tool in fact, by displaying any
parameter or query on a workbook, you have created a report template which can be
run on other files or superstreams. This is because the workbook actually stores the
name of the parameter and any query definitions inside itself, and also the name of
the most recent file the report was ran/created against.

This is useful when sharing report templates, as the embedded queries do not need to
be distributed with the report template they are automatically loaded and evaluated
when the report is run against a new file. However, to modify the queries embedded
inside a report template, a particular process needs to be followed:

Step 1: Load a data file.

Step 2: Run the old report template against the file. This will load the queries
embedded in the report template into the workspace.

Step 3: Close the report template.

Step 4: Modify the queries and check the results are correct. Do not change the query
names.

Step 5: Re-run the report template. The old queries in the template will be replaced
with the modified versions.

Step 6: Save the report template again. The next time it is run against a file, the new
query definitions will be used.

If you need to add a query to a report template, first run the report, and then by
right-clicking on the query, choose Display on workbook (Active).
70

7.8 Useful Format Groups (for frequent use)


Format Group Description
Unsigned 64 bit integer For integer values greater than zero
String For returning string values on the map
Percentage Formats floating point numbers to 2 decimal places
Boolean Converts 0 to False and 1 to True
Before After Converts 0 to After and 1 to Before
Time Relative milliseconds
TimeOfDay Formats absolute times into HH:MM:SS.sss
Count Integer values of zero and greater
Float Formats floating point numbers into 6 decimal places

If you know the units of the parameter you want, and know it is the same as another
parameter, it may be easier to use the Attribute Picker button, and choose a similar
parameter. This way, your results will be formatted to match the ones you chose.
71

7.9 Parameters Used


While there are various features allowing users to search for, and save parameters as
favourites, this screenshot can be used as a reference for the various parameters used
in this course.

[Scanner parameters] [UE RSSI and Active Set]


72

[Call ID and Handoff State] [NAS message type]


73

[RRC Messages] [Dropped Call and call statistics]


74

Das könnte Ihnen auch gefallen