Académique Documents
Professionnel Documents
Culture Documents
Ericsson Iran
Queries
Training Course
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.
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
Ericsson Iran
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.
Introduction to the Analysis Manager Query types overview Query building Coverage holes Interference analysis Server dominance analysis
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
Ericsson Iran
Filters Histograms Statistics Time-Series (called Binned Queries) Multi-Dimensional Statistics (called Crosstab Queries) Event-Triggered Window Statistics (called Event Queries)
Ericsson Iran
For example, if a simple filter of RxLevEither < -92 dBm is applied to the following chart
Ericsson Iran
Ericsson Iran
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
10000
15000
20000
Time in milliseconds
11
Ericsson Iran
It is also possible to view any of the existing queries already embedded into the solution by selecting the second tab Existing Analyses.
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
Pre-written expressions
Quick-Pick functions
Binning override
Attribute List
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).
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.
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]
15
Ericsson Iran
16
Ericsson Iran
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.
18
Ericsson Iran
Boolean operator
Expression Builder
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.
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:
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
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.
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
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
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:
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)
25
Ericsson Iran
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
26
Ericsson Iran
Step 7: Once you have saved your query, display it on the map.
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.
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.
29
Ericsson Iran
Step 1: Build up your query as in the previous examples, until you have the following expression:
30
Ericsson Iran
31
Ericsson Iran
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.
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.
33
Ericsson Iran
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.
34
Ericsson Iran
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.
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
36
Ericsson Iran
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.
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.
38
Ericsson Iran
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.
39
Ericsson Iran
Dimension List
Step 5: Click on the New Statistic button to add a new statistic. Step 6: Give the statistics the title File Size
40
Ericsson Iran
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.
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.
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:
43
Ericsson Iran
dBm average
Watts average
2 decimal places
6 decimal places
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.
44
Ericsson Iran
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.
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.
Window Options
Window Size
Protocol Discriminator
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).
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
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.
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.
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.
49
Ericsson Iran
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.
50
Ericsson Iran
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
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.
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.
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.
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).
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
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:
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.
55
Ericsson Iran
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.
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.
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
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
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.
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:
60
Ericsson Iran
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.
61
Ericsson Iran
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.
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:
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.
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.
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:
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 )
66
Ericsson Iran
67
Ericsson Iran
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)
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.
69
Ericsson Iran
GSMServingSiteLookup( parameter, MCC, MNC, LAC, CI ) GSMServingCellLookup( parameter, MCC, MNC, LAC, CI )
GSMNeighbourSiteLookup( parameter, Lat, Long, MCC, MNC, BCCH, BSIC ) GSMNeighbourCellLookup( parameter, Lat, Long, MCC, MNC, BCCH, BSIC )
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.
70
Ericsson Iran
71
Ericsson Iran
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.
72
Ericsson Iran