Anda di halaman 1dari 72

Actix Training Course Queries (GSM Radio)

Ericsson Iran

Queries
Training Course

GSM Radio

Actix Training Course Queries (GSM Radio)

Ericsson Iran

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.

Actix Training Course Queries (GSM Radio)

Ericsson Iran

Contents
1 ABOUT THIS COURSE..................................................................................... 1.1 OBJECTIVES OF THE COURSE ..................................................................... 1.2 COURSE PRE-REQUISITES......................................................................... 1.3 COURSE STRUCTURE .............................................................................. 2 WHAT ARE QUERIES? .................................................................................... 2.1 QUERY TYPES ...................................................................................... 2.2 FILTER QUERIES ................................................................................... 2.3 HISTOGRAM QUERIES ............................................................................. 2.4 STATISTICS QUERIES .............................................................................. 2.5 BINNED QUERIES .................................................................................. 2.6 CROSSTAB QUERIES ............................................................................... 2.7 EVENT QUERIES .................................................................................... 4 4 4 4 6 6 6 8 8 8 9 9

3 INTRODUCTION TO THE ANALYSIS MANAGER ........................................................11 4 CONFIGURATION ........................................................................................13 5 PARAMETERS USED ......................................................................................14 6 QUERY DESIGN ..........................................................................................17 6.1 COVERAGE HOLES FILTER .....................................................................17 6.2 COVERAGE HOLES BINNED ....................................................................21 6.3 DOMINANCE 1 BINNED ........................................................................25 6.4 DOMINANCE 2 BINNED ........................................................................29 6.5 INTERFERENCE PER BCCH BINNED ..........................................................31 6.6 COVERAGE ISLAND ANALYSIS HISTOGRAM ..................................................33 6.7 DROPPED CALL STATISTICS STATISTICS ....................................................36 6.8 MS ANALYSIS STATISTICS CROSSTAB .......................................................38 6.9 MERGED ANALYSIS AT CALL SETUP EVENT ..................................................44 6.10 DROPPED CALL ANALYSIS EVENT ...........................................................49 6.11 CALL SETUP SEQUENCE ANALYSIS CROSSTAB ............................................52 7 REPORT TEMPLATES .....................................................................................57 7.1 SINGLE FILE REPORT TEMPLATE ................................................................57 7.2 MULTIPLE FILE REPORT TEMPLATE..............................................................61 8 APPENDIX ................................................................................................64 8.1 STATE() VS. PREV_STATE() ................................................................64 8.2 LITTLE-KNOWN QUERY COMMANDS .............................................................65 8.2.1 abstime( rounding_factor ) .........................................................65 8.2.2 delta( parameter ).....................................................................65 8.2.3 get( parameter, index, message_number ) ...................................66 8.2.4 prev_time_where( message_expression ) .....................................66 8.2.5 prev_message_where( message_expression ) ...............................66 8.2.6 default( primary_ expression, secondary_ expression ) ...................66 8.3 SETTING A TIMER STATISTICS USING CROSSTAB QUERIES ...................................67 8.4 CELL LOOKUP QUERY FUNCTIONS ..............................................................69 8.5 EDITING EXISTING REPORT TEMPLATES ........................................................70 8.6 USEFUL FORMAT GROUPS (FOR FREQUENT USE)..............................................71

Actix Training Course Queries (GSM Radio)

Ericsson Iran

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

Actix Training Course Queries (GSM Radio)

Ericsson Iran

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

Actix Training Course Queries (GSM Radio)

Ericsson Iran

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.

Actix Training Course Queries (GSM Radio)

Ericsson Iran

For example, if a simple filter of RxLevEither < -92 dBm is applied to the following chart

only the values satisfying the filter will be returned

Actix Training Course Queries (GSM Radio)

Ericsson Iran

2.3 Histogram queries


These can return 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 Handover Interval times.

2.4 Statistics queries


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.

2.5 Binned queries


These 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 whichever binning method has been chosen, but it is also possible to override the platform binning setting from inside the Expression Builder window.

Actix Training Course Queries (GSM Radio)

Ericsson Iran

2.6 Crosstab queries


This type of query can be used to generate statistics against any dimension available. 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 their own visualisation tool the Statistics Explorer. Here you can see 6 statistic columns for each unique Site ID row.

2.7 Event queries


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

Actix Training Course Queries (GSM Radio)

10

Ericsson Iran

(measured in either time or number of messages) can be defined. It is within these windows that the statistics are calculated.

5000 ms Event trigger

5000 ms Event trigger

5000

10000

15000

20000

Time in milliseconds

Actix Training Course Queries (GSM Radio)

11

Ericsson Iran

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). Here you can see the 6 different types of queries it is possible to create.

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

Actix Training Course Queries (GSM Radio)

12

Ericsson Iran

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 Editor, Format Group and the Attribute List / Picker.

Query Name

Format of results

Format attribute picker

Expression builder window

Pre-written expressions

Quick-Pick functions

Binning override

Attribute List

Enumerated List Selector

Function List

The Expression Editor is 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).

Actix Training Course Queries (GSM Radio)

13

Ericsson Iran

4 Configuration
It is important to aid understanding of the query design 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.

The Analyzer Classic view will be used throughout the training course. Cellrefs file should be set to the CELLREFS_SVS_QUERY.TXT file (and restart SVS) 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. Scanner Load Mode should be set to Load all scanner data Load Speed Default should be set to Load all GSM Bands Used should be set to 900, 1800 and 1900. GPS Transformation should be set to Default (degrees) In the Tools > Display Thresholds window, ensure the values are set to the defaults.

Actix Training Course Queries (GSM Radio)

14

Ericsson Iran

5 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. [Independent parameters] [GPS and File parameters]

Actix Training Course Queries (GSM Radio)

15

Ericsson Iran

[Statistics and Dedicated Radio Link]

[Serving Cell Parameters]

Actix Training Course Queries (GSM Radio)

16

Ericsson Iran

[Downlink Measurements and Nbor info]

[Event Data and Nemo parameters]

Actix Training Course Queries (GSM Radio)

17

Ericsson Iran

6 Query Design
6.1 Coverage Holes filter
Logfile Name Aim Nemo Drive Test 1.dt1 Coverage Holes filter To find areas in the network which have bad RxLev coverage (idle and dedicated mode). Definition ServRxLevEither < -95

Step 1: From Analyzer Classic view, load the logfile Nemo Drive Test 1.dt1. Step 2: Locate the ServRxLevEither parameter from the Attribute Explorer (under GSM > DownLink Measurements 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 ServRxLevEither 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 that do not contain the RxLev measurements. Step 5: Selecting the filter type to be strictly less than (<) and enter the threshold coverage level of -95dBm.

Actix Training Course Queries (GSM Radio)

18

Ericsson Iran

Title Attribute Picker

Boolean operator

Expression Builder

Output format Threshold

Step 6: Click OK to apply the filter. The chart should be filtered to only show the values below -95dBm:

Step 7: Add the ServRxQualSub parameter to the same chart by dragging it onto the chart (from the GSM > Downlink Measurements grouping). Notice how this parameter has also been filtered. Filters are applied to the WHOLE STREAM meaning that when you display the best RxQual value on a chart, you are only showing the RxQual values where the RxLev is greater than -95dBm.

Actix Training Course Queries (GSM Radio)

19

Ericsson Iran

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 Quality. Step 10: Using the Attribute Picker as before, select ServRxQualSub from the DownLink Measurements grouping. Step 11: Choose the greater than or equal to (>=) option, and enter 5 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 Quality 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 RxLev < -95 AND RxQual >= 5. 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:

Actix Training Course Queries (GSM Radio)

20

Ericsson Iran

This is because you are now filtering for all areas where either RxLev < -95 OR RxQual >= 5. You have displayed the RxLev and RxQual 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.)

The important point to remember about filters, is that 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. This is why it is best to use the attribute picker to choose your

Actix Training Course Queries (GSM Radio)

21

Ericsson Iran

parameter, because SVS 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 for a more detailed description of the state( ) function.

6.2 Coverage Holes binned


Logfile Name Aim Definition Nemo Drive Test 1.dt1 Coverage Holes binned To find areas in the network which have bad server coverage. Strongest RxLev < -95 dBm

Step 1: Unless it was opened in the previous exercise, open logfile Nemo Drive Test 1.dt1. Step 2: Open the Tools menu and select Analysis Manager. Note that this can also be performed by the hotkey combination Ctrl+A. Step 3: Select the Binned Query type and click the New button. Step 4: Type the name Coverage Holes binned 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 GSM grouping. Then from inside the Downlink Measurements grouping, double-click on: ServRxLevEither Step 7: You will notice that there are a few RxLev parameters available. _Idle is only from idle mode measurements, _Full and _Sub are only reported in dedicated mode dependent on whether DTX is used in the uplink, without a suffix is used for Abis analysis as it intelligently selects the best between _Full or _Sub, and Either which uses the _Idle while in idle mode and the _Full while in dedicated mode. Step 8: Complete the expression by typing the equality check: ServRxLevEither < -95

Actix Training Course Queries (GSM Radio)

22

Ericsson Iran

Step 9: You will also notice that the Format in the top-right corner has automatically jumped to GSM RxLev. 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 the right-pointing arrow. 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

Actix Training Course Queries (GSM Radio)

23

Ericsson Iran

Step 13: This gives a good overall picture of where the problem lie, 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:

Actix Training Course Queries (GSM Radio)

24

Ericsson Iran

Step 14: Modify the expression to place an if( ) function around it1: if(ServRxLevEither < -95, 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.

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)

Actix Training Course Queries (GSM Radio)

25

Ericsson Iran

6.3 Dominance 1 binned


Logfile Name Aim Definition Nemo Drive Test 1.dt1 Dominance 1 To find areas where the server is weaker than the strongest neighbour. For every point in the map, show the areas where the ServRxLevSub is weaker than the best NBorRxLev

Step 1: Create a new binned query and enter the title Dominance 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 GSM > Neighbor Cell Info grouping2 and double-click on the parameter: NborRxLev 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 -. Step 6: Your expression should look like this: array_count(NborRxLev[] , > , -60 )

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 ARFCN

Actix Training Course Queries (GSM Radio)

26

Ericsson Iran

Step 7: Once you have saved your query, display it on the map.

Actix Training Course Queries (GSM Radio)

27

Ericsson Iran

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.

Actix Training Course Queries (GSM Radio)

28

Ericsson Iran

Step 9: Now we have displayed the count of scanned values above -60 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.

Actix Training Course Queries (GSM Radio)

29

Ericsson Iran

6.4 Dominance 2 binned


Logfile Name Aim Nemo Drive Test 1.dt1 Dominance 2 To find areas where there are too many signals within 6dB of the serving cell. Definition For every point in the map, only show the areas where there are 3 or more neighbour signals within 6 dB of the serving signal.

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

Actix Training Course Queries (GSM Radio)

30

Ericsson Iran

Badly affected area

Actix Training Course Queries (GSM Radio)

31

Ericsson Iran

6.5 Interference per BCCH binned


Logfile Name Aim Definition Nemo Drive Test 1.dt1 Interference binned To find Cell BCCHs in areas with good coverage but poor quality For every point in the map, show the BCCH where the ServRxLevSub was better than -85 dBm and ServRxQualSub was worse than 3.

This query should be completed without checking back at the previous examples. It can be compiled by breaking the problem down into its constituent parts: check ServRxLevSub was > -85 check ServRxQualSub was >= 4 at message points where this is true, return the strongest CI value. For this query, use the strongest ServBCCH (from the GSM > Serving Cell Parameters grouping) value to return the ARFCN.

Actix Training Course Queries (GSM Radio)

32

Ericsson Iran

The map legend results show that most of the interference is affecting a small number of channels: 589, 600 and 608. This is shown in the screenshot.

Actix Training Course Queries (GSM Radio)

33

Ericsson Iran

6.6 Coverage Island Analysis histogram


Logfile Name Aim Nemo Drive Test 1.dt1 Coverage Island Histogram To display the distribution of the Timing Advance for quick coverage island analysis Definition Show the counts of ServTimingAdvanceActual from 0 to 63.

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: Type the title Coverage Island Hist. Step 4: From the Attribute Picker, select: ServTimingAdvanceActual from the GSM > Dedicated Radio Link grouping.3

3 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 TA values themselves, and do not require the value to be held across subsequent messages.

Actix Training Course Queries (GSM Radio)

34

Ericsson Iran

Attribute Picker Title

Histogram Type Expression Builder

Column settings Manually create & edit columns

Number of autogenerated columns

Autogenerate columns

Filter

Step 5: Select the 2nd option of histogram typesmanually specifying discrete values. Step 6: Set the minimum value to be 0, and select the Inclusive checkbox. Step 7: Set the maximum value to be 63, and select the Inclusive checkbox. Step 8: Type 64 as the number of columns to generate and click Generate.

Step 7: You will see your 64 ranges appear in the box above. Step 8: Click OK to end the wizard, and OK to save you query. Step 9: 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.

Actix Training Course Queries (GSM Radio)

35

Ericsson Iran

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

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

Actix Training Course Queries (GSM Radio)

36

Ericsson Iran

6.7 Dropped Call Statistics statistics


Logfile Name Aim Definition Nemo Drive Test 1.dt1 Dropped Call Stats To display the count of the dropped calls. 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 title as above. Step 4: Choose (using the Attribute Picker) the EventCallDropped parameter (from the GSM > Event Data grouping).

Step 5: Keep the default option of not excluding any data from the calculation. This option could be used if the engineer wishes to remove spurious results that affect averages adversely. Step 6: Select OK to exit the wizard and OK to save your query.

Actix Training Course Queries (GSM Radio)

37

Ericsson Iran

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

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

Actix Training Course Queries (GSM Radio)

38

Ericsson Iran

6.8 MS Analysis Statistics crosstab


Logfile Name Aim Definition Nemo Drive Test 2.dt1 File and MS statistics To generate statistics for each call which is contained in the logfile Generate file and call statistics for each call, indexed using the call ID, using MS 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 maximum Timing Advance. To define the initial query, we will define a set of file statistics such as the start & end time, and filesize, and relate these to the filename. This can be reworded as: Return statistics x, y & z per file. This statement has 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. Step 1: Load file Nemo Drive Test 2.dt1. Step 2: Open the Analysis Manager and select the Crosstab query wizard. Step 3: Enter the title of File and MS statistics Step 4: Choose the dimension of FileName from the Attribute Picker (inside Independent > File Info).6 Note that the title shows (last valid value). This shows 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).

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

Actix Training Course Queries (GSM Radio)

39

Ericsson Iran

Dimension Attribute Picker Title

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: Give the statistics the title File Size

Actix Training Course Queries (GSM Radio)

40

Ericsson Iran

Attribute Picker Title

Statistic Type

Expression Builder

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 Drive Test 2 file, right-click on the new Crosstab query and display on the Statistics Explorer. You can see the filename dimension as the unique row, and the File Size column as the statistic.

Actix Training Course Queries (GSM Radio)

41

Ericsson Iran

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 Kilobytes. Step 14: Save the modification and select the query again in the Statistics Explorer. Your filesize will now be formatted in Kb. Step 15: Add 2 new statistics: Mean ServRxLevSub, and Mean Lin. ServRxLevSub. These should be both using the same parameter from the GSM > 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.7

Step 17: Now add the following statistics on your own (see Step 19 over the page for the Format to use in each case):
7 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.

Actix Training Course Queries (GSM Radio)

42

Ericsson Iran

Step 19: The formats of the statistics should be set as follows: Total drops = Count HO Duration Time (ms) = Time % EFR = Percentage

Mean Server (Km) = Float 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:

Actix Training Course Queries (GSM Radio)

43

Ericsson Iran

dBm average

Watts average

2 decimal places

6 decimal places

How to interpret the results:

There were 4 dropped calls All voice channel assignments were to the EFR codec. The number in brackets after the dimension refers to the number of messages from the file which were identified by that dimension. Eg: There were over 22,000 messages scanned throughout the file to compile these results.

Actix Training Course Queries (GSM Radio)

44

Ericsson Iran

6.9 Merged Analysis at Call Setup event


Logfile Name Aim Definition Nemo Drive Test 1.dt1 and Nemo Drive Test 2.dt1 Merged Call Setup Analysis To generate statistics at each call setup from both drivetest files Create event query triggered on CM Service Request, reporting MS statistics, indexed using the File and call ID.

With the two drivetest files collected, it is a useful feature to be able to analyse both at the same time as they can be merged using the Superstream function (under the Tools menu). 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 MS Statistics and click the Export button we will be using it later. Step 3: Superstream the two 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 separated by an hour.

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

Actix Training Course Queries (GSM Radio)

45

Ericsson Iran

Step 5: Create the trigger GSM_Um_Msg_Type== 1316 (MM CM Service Request), use a window setting of 5000ms before the event.

Trigger Attribute Picker

Window Options

Trigger Expression Builder

Window Size

Protocol Discriminator

Discriminator Attribute 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(DT_Call_Id).

Actix Training Course Queries (GSM Radio)

46

Ericsson Iran

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

Repeated call IDs, indicating calls from the second file

We will now add a new dimension to distinguish between the two files. Step 9: Add the FileName as a second dimension.

Add FileName as a second dimension and move to the top using the UP button.

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

Actix Training Course Queries (GSM Radio)

47

Ericsson Iran

Step 10: Re-order so it is the first dimension by clicking the Up button. Step 11: Add new statistics for: Mean of ServRxLevEither and Last Value of the GSM_DT_Call_Type. Use the default Formats suggested for each statistic. Step 12: Click OK to save your query and OK to commit the query into the workspace.

You can see here that there are a different number messages being analysed in each 5 second window before each CM Service Request message. This is due to the fact that some are Layer 3 but some proprietary o the logging tool. We did not need to use ServRxLevEither to get a true average, as the level will be reported in a mixture of idle and dedicated parameters either side of the CM Service Request, but in case we wanted to modify our trigger to be a different message, it is the best choice.

Actix Training Course Queries (GSM Radio)

48

Ericsson Iran

Step 13: Open the Analysis Manager and switch to the second tab: Existing Analyses. Step 14: Highlight all queries created so far and click the Export button. Save your queries to your desktop.

Actix Training Course Queries (GSM Radio)

49

Ericsson Iran

6.10 Dropped Call Analysis event


Logfile Nemo Drive Test 1.dt1 and Nemo Drive Test 2.dt1, superstreamed on Time. Name Aim Definition MS Dropped Call Stats To analyse each dropped call to report possible diagnosis Create event query triggered on dropped call event, to analyse TA, and Dominance etc.

This event query will concentrate around the EventCallDropped events in the file. We will create 2 windows this time 10 seconds before and 5 seconds after the drop. We will compare the CI before and after the drop, use the definition of dominance already covered in an earlier example, and also the distance away from the cell using the Timing Advance. These will give us a good diagnosis of possible contributors to the drop. Step 1: Ensure that you have the two Nemo files superstreamed on Timestamps. Step 2: Create an event query that triggers on the GSM EventCallDropped event, and create 2 windows, 10000ms before and 5000ms after the trigger (do not merge the windows). Step 3: Do not choose a discriminator but click the Next > button. Step 4: Edit the Format of the EventBefore dimension, to be Before After. This returns text in the Statistics Explorer which is easier to understand.9 Step 5: Create a statistic called Drop Time, using abstime( ) as the expression, TimeOfDay as the format, and ask for the Last Value.

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.

Actix Training Course Queries (GSM Radio)

50

Ericsson Iran

Step 6: Create the following statistics: Type


Last Value Mean Mode Percent True Last Value Last Value

Expression
reltime2abstime( event_time() /1000 ) ServRxLevSub ServTimingAdvanceActual Dominance_2 expression > 3 ServCI NemoParamCallDisconnectReason

Format
TimeOfDay GSM RxLev GSM Timing Advance Percentage GSM CI Nemo Call Disconnect Status

New automatic dimension

Step 7: The final statistic to add is the count of call clearing messages within the window. Add a new statistic, called Count Layer 3 messages and set the type to Count. Step 8: Open the Expression Builder and choose the parameter GSM_Um_Msg_Type from the GSM > Dedicated Radio Link grouping.

Actix Training Course Queries (GSM Radio)

51

Ericsson Iran

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. Step 11: Here you will be creating a filter, to only trigger the statistic at either CC Disconnect, CC Release or RR Channel Release messages. Create the following expression:

This has created a filter to be applied inside the window, and count the number of messages that satisfy the filter criteria. The way in which this works, is that when the query is evaluated, it will trigger on the dropped call and run the statistics inside the defined windows. 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. Step 13: Add a 3rd dimension of ServBCCH using the Attribute Picker so it creates the dimension with the (last valid value) suffix.

Actix Training Course Queries (GSM Radio)

52

Ericsson Iran

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

6.11 Call Setup Sequence Analysis crosstab


Logfile Name Aim Definition Nemo Drive Test 1.dt1 Call Sequence Analysis To analyse the Layer 3 messaging for call setup procedures Create a crosstab query to display the L3 message sequence, CM Service Request, RR Immediate Assignment and CC Alerting messages for each call setup sequence.

To create this query, we keep the final result in mind to guide us in the design. For each call, we want to be able to see the individual messages in their sequence to spot any problems. This implies a structure of a dimension of Call ID, and a set of columns to hold each L3 messages and events in the sequence. Step 1: Open the Analysis Manager and double-click on the Crosstab query wizard. Give your query the title Call Sequence Analysis Step 2: Create the dimensions of FileName, DT_Call_Id from the Attribute Picker (you should see the Last Valid Value added after the name).

Actix Training Course Queries (GSM Radio)

53

Ericsson Iran

Now we will create our statistics columns, one for Layer 3 message type, and then 3 others for the events. Step 3: Create the first statistic, returning the GSM_Um_Msg_Type parameter. We set the statistic type to Last Value. 10

Step 4: Repeat this process for the Outgoing Call Failure, Call Dropped and Call Completed events.

If you open the Expression Builder for this parameter, you will see the format set to GSM Msg Type. This will format the numerical code number to the correct text.

10

Actix Training Course Queries (GSM Radio)

54

Ericsson Iran

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:

Idle mode Too many messages included for our purposes

You can see that although we have returned a unique row for each calls, we have not isolated the exact Layer 3 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 query design. Step 7: Click on the Filter button on the bottom left corner and you will be presented with the Expression Builder.

Actix Training Course Queries (GSM Radio)

55

Ericsson Iran

Step 8: Build the following filter.

Only trigger on messages we are interested in

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

Fewer messages

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.

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

Actix Training Course Queries (GSM Radio)

56

Ericsson Iran

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 24000 to just 30! Compare the successful call 5 and call 8: why is there no event fail, drop or complete? Step 11: Open the Message Browser and tile the two windows horizontally. Step 12: Highlight the top level of call 8 as in the screenshot above, and click the Filter button in the Statistics Explorer:

You will now see only call 8 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.

Actix Training Course Queries (GSM Radio)

57

Ericsson Iran

7 Report Templates
7.1 Single File Report Template
Logfile Name Aim Definition Nemo Drive Test 1.dt1 Single File Report Template To create a report template that will return KPIs from one file. 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 Handover Duration, maximum TA, mean (linear) and total call duration for all calls in the whole file.

Step 1: Ensure you have the above Nemo file 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

Maximum Timing Advance Dropped call total

New KPIs

Handover Duration histogram Mean (linear) level from the serving cell Total distance travelled for the whole file.

The Handoff Duration 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

Actix Training Course Queries (GSM Radio)

58

Ericsson Iran

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. Step 3: Find the timing advance parameter ServTimingAdvanceActual in the GSM > Dedicated Radio Link grouping and add it to a workbook from the right-click menu. Step 4: Keeping the workbook open, switch back to the RVS solution and find the EventCallDropped parameter from the Event Data grouping and from the right-click menu, add it to the existing workbook.

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

Step 6: Now we need to create the queries to add to the report. Create a histogram query using the HandoverDuration parameter, and creating 8 ranges from 0 (inclusive) to 400 (inclusive). Step 7: Create a crosstab query with FileName as the dimension, and 2 statistics: Mean (linear) of ServRxLevSub formatted as dBm and Maximum of (Distance / 1000) formatted Float.

Actix Training Course Queries (GSM Radio)

59

Ericsson Iran

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 NemGSM(0) device stream.

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:

Actix Training Course Queries (GSM Radio)

60

Ericsson Iran

From Statistics results

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 Drive Test 1 file and run the report template on this file as you did in step 9. Compare the results.

Actix Training Course Queries (GSM Radio)

61

Ericsson Iran

7.2 Multiple File Report Template


Logfile Nemo Drive Test 1.dt1 Nemo Drive Test 2.dt1 Name Aim Definition Multi-File Report Template To create a report template to be used to compare KPIs from 2 files. 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 MS Statistics. Step 1: If you have closed the workspace since writing the previous query, open the Analysis Manager and import the File and MS Statistics query again. Edit the query to add the DT_Call_Id parameter as a second dimension, and add a global filter into the query, to only return results where DT_Call_Id > 0. Step 2: Find the query from the handset device stream of the Nemo Drive Test 1.dt1 file. Right-click on the query and choose Display on Workbook. Notice how the sheet is automatically named Crosstab Formatted Data.

Actix Training Course Queries (GSM Radio)

62

Ericsson Iran

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

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:

='CrossTab Formatted Data'!A2

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

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

=IF(G8>$J$4, "Fail", "Pass")

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

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

Actix Training Course Queries (GSM Radio)

63

Ericsson Iran

Step 9: You will be presented with the following dialog. Note how it prompts also including the most recent file used to create it. This time, choose the Nemo Drive Test 2 device first and click OK.

Step 10: The dialog will re-appear, but this time prompting to replace the Nemo Drive Test 2 file. Choose the Nemo Drive Test 1 device 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.

Actix Training Course Queries (GSM Radio)

64

Ericsson Iran

8 Appendix
8.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:

Actix Training Course Queries (GSM Radio)

65

Ericsson Iran

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 )

8.2 Little-known query commands


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

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

Actix Training Course Queries (GSM Radio)

66

Ericsson Iran

8.2.3 get( parameter, index, message_number )


For example, when used as a statistic in an Event Query, NborRxLev_by_Arfcn[ get( NborBCCH[], 0, event_message() ) ] extracts the zero array position (strongest) of the NborBCCH array at the time of the event trigger, and then uses that ARFCN value to lookup the sorted RxLev value in the NborRxLev_by_Arfcn[ ] array.

8.2.4 prev_time_where( message_expression )


This function (Crosstab and Event only) returns the time in milliseconds at the message point where the most recent message expression is true. Eg: prev_time_where( GSM_Um_Msg_Type == 1579 returns the milliseconds where the most recent Layer 3 message is the Handover Command.

8.2.5 prev_message_where( message_expression )


This function (Crosstab and Event only) is very similar to the prev_time_where() command, but returns the message number. This is useful when used in combination with the get() command, where the value of a parameter could be returned at the previous message point where the message expression is true.

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

Actix Training Course Queries (GSM Radio)

67

Ericsson Iran

8.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 call setup duration in GSM, starting at the DL Immediate Assignment, and terminating at the UL CC Alerting 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_CC_ALERTING Search message = DL_IMMEDIATE_ASSIGNMENT

Dimension = Time (this returns a row for each unique trigger message) Statistic Type = Last Value Expression = Time prev_time_where(GSM_Um_Msg_Type == 1599) Format = Time Filter = <blank> (our trigger message)

Crosstab Filter = GSM_Um_Msg_Type == 769

Actix Training Course Queries (GSM Radio)

68

Ericsson Iran

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 softhandoff event, so the timer will be incorrect.

Actix Training Course Queries (GSM Radio)

69

Ericsson Iran

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

Actix Training Course Queries (GSM Radio)

70

Ericsson Iran

8.5 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: Step1: 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).

Actix Training Course Queries (GSM Radio)

71

Ericsson Iran

8.6 Useful Format Groups (for frequent use)


Format Group
Unsigned 64 bit integer String Percentage Boolean Before After Time TimeOfDay Count Float

Description
For integer values greater than zero For returning string values on the map Formats floating point numbers to 2 decimal places Converts 0 to False and 1 to True Converts 0 to After and 1 to Before Relative milliseconds Formats absolute times into HH:MM:SS.sss Integer values of zero and greater 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.

Actix Training Course Queries (GSM Radio)

72

Ericsson Iran