Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

The question is, however, not trivial. In order to have meaningful simulation results, you need to receive enough bit errors (e.g. more than 1000). On the other hand, since of limited computation time, we would like to terminate the simulation as soon as possible. Therefore several mechanisms to determine the simulation time have been implemented in Simthetic. Please read this carefully to understand how many bits and modulation symbols actually are transmitted in one Simthetic simulation.

`SNR_loop`

determines the different SNRs at which a simulation is run. To get a nice BER curve, you need to have simulation results at more than one SNR value. Therefore in this section one defines a start value, an end value, and an increment for the SNR value. At each value in these iterations a complete simulation will be started until finished.Example:

start_value: 0 end_value: 10 increment: 2

This means the simulation will be run once at 0dB, a second time at 2dB, and so on at 4dB, 6dB, 8dB, and 10dB. Everything that is mentioned below will be run for six (6) times.

`number_of_loops`

specifies how often the simulation should be restarted at any given SNR point.Example:

number_of_loops: 3

This means that at each SNR value, the simulation will be run three (3) times. So together with the above example the simulation will already be run eighteen (3*6) times.

`monitor`

device that counts the bit errors has a mechanism to stop the simulation according to the received bit errors so far. This mechanism works in several steps. First of all, if a specified number `max_bits`

of received bits is reached, then the current simulation run is terminated. Secondly, if the specified number `min_bit_errors`

of received bit errors is reached, then the current simulation run is terminated as well (WATCH OUT! Don't use this option when `refresh_loop`

is greater than one, or you risk to obtain totally skewed results!). But this termination only happens if at least as much bits as specified by `min_bits`

have been received.
However, the actual number of bits is an *integer* multiple of the number of bits that are transmitted by the bit source device. I.e. if you specify an `output_length`

of 1018 bits at the bit source, then a termination "after 10 000 bits" will only turn into effect after actually transmitting 10*1018 = 10180 bits.

Example:

max_bits: 10000 min_bit_errors: 1000 min_bits: 5000

The simulation will terminate after at most 10000 bits. It will also transmit at least 5000 bits. If after transmitting 5000 bits more than 1000 bit errors have been received (which will happen at a BER higher than e.g. 2*10^-1) the simulation will stop even before transmitting 10000 bits (WATCH OUT! Don't use this option when `refresh_loop`

is greater than one, or you risk to obtain totally skewed results!). This means at a high (bad) BER this simulation will transmit 5000 bits whereas at a low (good) BER this simulation will transmit 10000 bits.

AGAIN WATCH OUT: If you set `refresh_loop`

to be greater than one, then using the `min_bit_errors`

option will skew your results. Don't do this. Rather set `min_bit_errors`

to be equally large as max_bits, so that each turn of `refresh_loop`

will transmit exactly the same number of bits at each realization, and the result is not skewed in the direction of the good channels.

`output_length`

parameter. Generated on Mon Apr 24 21:19:19 2006 for simthetic by 1.4.1