74
1 UMTS Radio Analyzer Queries Training Course

Query Training _UMTS Radio

  • Upload
    atices

  • View
    208

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Query Training _UMTS Radio

1

UMTS Radio

Analyzer Queries

Training Course

Page 2: Query Training _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.

Page 3: Query Training _UMTS Radio

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

Page 4: Query Training _UMTS Radio

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

Page 5: Query Training _UMTS Radio

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

Page 6: Query Training _UMTS Radio

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.

Page 7: Query Training _UMTS Radio

7

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

Page 8: Query Training _UMTS Radio

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.

Page 9: Query Training _UMTS Radio

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.

Page 10: Query Training _UMTS Radio

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.

Page 11: Query Training _UMTS Radio

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.

0 5000 10000 15000 20000

Event trigger

Event trigger

5000 ms 5000 ms

Time in milliseconds

Page 12: Query Training _UMTS Radio

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”.

Page 13: Query Training _UMTS Radio

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.

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).

Expression Builder Window

Enumerated List Selector

Pre-written Expressions

Attribute List

Binning Override

Format of Results

Quick-Pick Functions

Function List

Query Name

Attribute Picker

Page 14: Query Training _UMTS Radio

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

Page 15: Query Training _UMTS Radio

15

• Decode Setting’s 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

Page 16: Query Training _UMTS Radio

16

• GPS Transformation should be set to “Default (degrees)”

Page 17: Query Training _UMTS Radio

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.

Page 18: Query Training _UMTS Radio

18

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.

Title

Attribute Picker

Boolean operator

Threshold

Output format

Expression Builder

Page 19: Query Training _UMTS Radio

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:

Page 20: Query Training _UMTS Radio

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.

Page 21: Query Training _UMTS Radio

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

Page 22: Query Training _UMTS Radio

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.

Page 23: Query Training _UMTS Radio

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:

Page 24: Query Training _UMTS Radio

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 Excel’s conditional statement: if( condition, true statement, false statement)

Page 25: Query Training _UMTS Radio

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.

Page 26: Query Training _UMTS Radio

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.

Page 27: Query Training _UMTS Radio

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)

Page 28: Query Training _UMTS Radio

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 you’ve 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.

Page 29: Query Training _UMTS Radio

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):

Page 30: Query Training _UMTS Radio

30

Badly affected area

>= 4 scanned signals within

6dB of the strongest scanned signal

Page 31: Query Training _UMTS Radio

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 scanner’s (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.

Page 32: Query Training _UMTS Radio

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 scanner’s (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:

Page 33: Query Training _UMTS Radio

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 query’s 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.

Page 34: Query Training _UMTS Radio

34

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.

Title Attribute

Picker

Expression Builder

Histogram Type

Column settings

Auto-generate columns

Number of auto-generate columns

Filter

Manually create & edit

columns

Page 35: Query Training _UMTS Radio

35

Step 8: Now we want to set our final range…type “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

Page 36: Query Training _UMTS Radio

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 query’s 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.

Page 37: Query Training _UMTS Radio

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.

Page 38: Query Training _UMTS Radio

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 query’s 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).

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.

Dimension Attribute

Picker

Dimension List

Statistics List

Crosstab Global Filter

Reorder & Copy

Buttons

Title

Reorder & Copy

Buttons

Page 39: Query Training _UMTS Radio

39

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.

Attribute Picker

Statistic filter

Statistic Type

Title

Expression Builder

Page 40: Query Training _UMTS Radio

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.

Page 41: Query Training _UMTS Radio

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

Page 42: Query Training _UMTS Radio

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

Page 43: Query Training _UMTS Radio

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:

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.

6 decimal places

2 decimal places

Filter by dimension

“Mean” statistic gives average for

whole file, but accurate per call

HH:MM:SS:sss

Only Valid at start of file

Page 44: Query Training _UMTS Radio

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 UE’s 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.

Page 45: Query Training _UMTS Radio

45

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

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

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.

Trigger Attribute

Picker

Trigger Expression

Builder

Discriminator Attribute

Picker

Window Size

Window Options

Protocol Discriminator

Page 46: Query Training _UMTS Radio

46

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.

Repeated call ID, indicating retry

Call ID = 0, indicating RRC Connection

Request for another reason

Page 47: Query Training _UMTS Radio

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.

Page 48: Query Training _UMTS Radio

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.

Page 49: Query Training _UMTS Radio

49

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

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.

New Automatic Dimension

Page 50: Query Training _UMTS Radio

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.

Page 51: Query Training _UMTS Radio

51

Step 11: Here you will be creating a filter, to only trigger the statistic at certain

messages. Click on Filter’s 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.

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%.

Missing Neighbour problem? Or was it Pilot Pollution, and a network problem in adding to the Active Set?

Page 52: Query Training _UMTS Radio

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 query’s 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.

Page 53: Query Training _UMTS Radio

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

Page 54: Query Training _UMTS Radio

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.

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

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.

Filter only for valid calls (no

Location Updates)

Only trigger on messages we are

interested in

Note the AND / OR Boolean

logic

Fewer messages

Note the AND / OR Boolean

logic

Page 55: Query Training _UMTS Radio

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.

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.

Single messages

Page 56: Query Training _UMTS Radio

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.

Page 57: Query Training _UMTS Radio

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.

Page 58: Query Training _UMTS Radio

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:

Page 59: Query Training _UMTS Radio

59

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.

Holding Time or Mean Time Between Failures = call duration / drops

(roughly)

From Crosstab results

From Statistics results

From Histogram results

From Statistics results

From Crosstab results

From Crosstab results

Page 60: Query Training _UMTS Radio

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)”.

Page 61: Query Training _UMTS Radio

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:

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.

='CrossTab Formatted Data'!A2

=IF(D7>$G$4, "Fail", "Pass")

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

=SUM('CrossTab Formatted Data'!Q:Q)/Sheet1!C7*100

Threshold

Page 62: Query Training _UMTS Radio

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.

Page 63: Query Training _UMTS Radio

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:

Page 64: Query Training _UMTS Radio

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 )

Page 65: Query Training _UMTS Radio

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

Page 66: Query Training _UMTS Radio

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 )

Page 67: Query Training _UMTS Radio

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.

Page 68: Query Training _UMTS Radio

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[*]])

Page 69: Query Training _UMTS Radio

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)”.

Page 70: Query Training _UMTS Radio

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.

Page 71: Query Training _UMTS Radio

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]

Page 72: Query Training _UMTS Radio

72

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

Page 73: Query Training _UMTS Radio

73

[RRC Messages] [Dropped Call and call statistics]

Page 74: Query Training _UMTS Radio

74