5.4 Using the Demodulators
5.4.1 General Concept
The API provides two ways to configure the demodulation process, depending on the current state of an R&S TSM Instrument. When there is no measurement active at the moment, the initial configuration is made. In that phase many parameters of the demodulation process can be specified. During the measurement different commands can be used to change the demodulation. For example, internal results can be reset to enforce another demodulation of a message already decoded.
The demodulator is configured by specifying a set of data records. Each data record is used to define how a specific message type (PDU, System Type Information etc.) is demodulated on a specific channel. Several modes are available to do the actual demodulation, some performing their job automatically, some requiring additional user input. Some of the so-called demodulation modes require a timeout value as additional parameter.
In summary there are up to five arguments that have to be specified: ● Channel Index / Frequency Index
● Message Type (PDU ID, System Information Block Type, etc.) ● Demodulation Mode (see below)
R&S ViCom uses the GSM term BTS in general to indicate a mobile base station, although there are different terms for different technologies, e.g. NodeB for WCDMA or eNodeB for LTE.
5.4.1.1 Demodulation Modes
The demodulator API allows you to specify in detail when and how often a message type shall be decoded. The available options depend on whether the decoding is defined at start of the measurement, or if a single demodulation request is issued dur- ing the measurement.
Demodulation Modes at the Start of Measurement
When a measurement is started, for each channel and message type the following demodulation modes can be set:
● Demodulate ONCE (0)
Each message type is only decoded one time for each base station. After a decod- ing result is available, the message type is never updated again. This is the fastest solution, but can lead into troubles (in rare cases) when using on long drive tests and the same base station indices are assigned to different base stations. ● Demodulate ON_CMD (1)
The message is not decoded automatically. A special decoding command has to be sent during the measurement to start decoding, which must then specify for which BTS the demodulation shall be done.
● REPETITION (2)
Decode a message as fast as possible, and then again after N ms. The delay specifies the time the demodulator waits after a complete demodulation of the SIB has been finished before a new one is started. As a consequence, the new result will be available after the delay plus the time needed to perform a new demodula- tion. For an example, refer to the figure below. A repetitive demodulation of SIB 7 (in the case of WCDMA) is demonstrated. After the SIB7 has been demodulated completely, the R&S TSM Instrument does not attempt to do another demodulation until the delay time has elapsed. Afterwards the next demodulation attempt is star- ted. The same applies to other technologies as well.
Figure 5-3: Automatic Repetitive Demodulation
For each channel and message type combination that has to be decoded at some time during the measurement one of those three settings has to be specified before the measurement is started. For messages that don’t need to be decoded all the time but only in special cases, the “Demodulate ON_CMD” setting should be chosen.
All those settings apply to all base stations found on one channel. BTS specific decod- ing is only possible during measurement, see the following section.
The numbers in braces after the demodulation type refer to the number that is
assigned to the mode in the API. Since they are part of an enumeration, names similar to the appropriate meaning are also available, so you normally want to deal with those identifiers.
Demodulation Modes during the Measurement
In some cases it might be desired to save resources and decode messages only for special base stations or under certain circumstances. As mentioned above, for such messages the “Decode on Command” setting has to be specified before a measure- ment is started. At any point when a measurement is active, it is then possible to issue one of the decoding commands below:
● Demodulate BTS (3)
For a special base station on one channel, this command tries to decode a defined message. To avoid too much resource allocation, a time-out can be specified when using this command. If the specified time is consumed and no decoding could be done, no result is returned and the resources are freed for other tasks. The timeout can be 0 as well, in which case the demodulation is performed until it succeeds. ● Demodulate BTS_FORCE (4)
It is similar to the mode described previously, but utilizes more receiver resources, since no probability calculation is done to reduce resource allocation like above. The demodulator then does all it can do to demodulate the result in the given time constraint (if specified).
As in the “Demodulate BTS” mode, a time-out can be set for this operation in which it must complete. Otherwise, the request is stopped. The time-out can again be 0, which tells the demodulator to try demodulation until it succeeds.
It is also possible to clear the contents of the internal message containers associ- ated with a channel and the BTS. Two commands are designed for that purpose: ● Demodulate BTS_RESET (5)
Clears only the frame container content within one base station of a channel. This can be used to explicitly restart demodulation for a specific cell.
● Demodulate CHANNEL_RESET (6)
This clears all demodulation results associated with a certain channel. After this command, the demodulation for that channel will restart according to the configura- tion made before the measurement was started.
The "Demodulate BTS" and "Demodulate BTS_FORCE" commands have a sec- ond variation. These modes are:
● Demodulate BTS_OLD (7)
● Demodulate BTS_OLD_FORCE (8)
The difference is in both cases that old results might be returned, if available. The old content can be deleted with the Reset command described above.
All commands can be issued only during the measurement. Compared to the com- mands mentioned in the previous section, these will have an effect immediately since they don’t depend on the availability of a signaling. There is no “Undo” function for this, so use the commands carefully if you work on a highly efficient R&S TSM Instruments project.
5.5 Setting up a Custom Project
This section describes how to set up your own project that enables you to work with the R&S ViCom API and that helps you to create a distributable application. Perform the tasks described below step-by-step and you should end up with a ready to start application frame.
In the subsequent chapters (small) demo applications are shown as code pieces. These can simply be put into the main C++ file.
● Project Structure... 54 ● Create the Project Environment...54 ● Project Settings...54 ● Working with the Code...56 ● Installation Issues...57 ● Updating the Projects...57