Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::ErrorPositionMonitor Class Reference

#include <monitor.h>

Inheritance diagram for simthlib::ErrorPositionMonitor:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 ErrorPositionMonitor (int ID, simth::DeviceSystemIntf *syst, const simth::PropertyList &pl)
virtual ~ErrorPositionMonitor ()
virtual void record (const simth::BitSeq &bits, const simth::BitSeq &recBits, double xValue)
virtual void endOfSimulation ()

Protected Member Functions

void writeErrorPositionInfoToFile ()
std::string getPosFilename () const

Protected Attributes

simth::checkedVector< int > errorPositions
size_t accumulate_bits

Related Functions

(Note that these are not member functions.)

 propertylist_ErrorPositionMonitor (not_a_function)

Detailed Description

Additionally to its base class, this class also analyizes the position where errors occurs.


Constructor & Destructor Documentation

simthlib::ErrorPositionMonitor::ErrorPositionMonitor int  ID,
simth::DeviceSystemIntf syst,
const simth::PropertyList pl
 

Constructor.

virtual simthlib::ErrorPositionMonitor::~ErrorPositionMonitor  )  [virtual]
 


Member Function Documentation

virtual void simthlib::ErrorPositionMonitor::endOfSimulation  )  [virtual]
 

Reimplemented from simthlib::TransmissionMonitorFile.

Reimplemented in simthlib::ErrorPositionPipe, and simthlib::ErrorPositionMonitorGnuplot.

std::string simthlib::ErrorPositionMonitor::getPosFilename  )  const [inline, protected]
 

virtual void simthlib::ErrorPositionMonitor::record const simth::BitSeq bits,
const simth::BitSeq recBits,
double  xValue
[virtual]
 

This function is called by the function process of the base class. It records the last transmission and sets the current x-value to the value given as argument. The way of recording the transmission is determined by the derived classes. A common way would be for example to compute the BER and write the result in a specified file. If the x-value given as argument differs from the previous x-value, a derived class could write the stored information to a file and reset the bit error counter to zero in order to start a new analysis.

Reimplemented from simthlib::TransmissionMonitorFile.

void simthlib::ErrorPositionMonitor::writeErrorPositionInfoToFile  )  [protected]
 


Friends And Related Function Documentation

propertylist_ErrorPositionMonitor not_a_function   )  [related]
 

These are the properties of class ErrorPositionMonitor . This list is auto-generated from the XML-Devicelist of this device by means of an XSLT transformation script.

Description of this device in the XML file: Additionally to its base class, this class also analyizes the position where errors occurs.

Note that this class also has the Properties of its base classes. The direct base class is simthlib::TransmissionMonitorFile ; direct link to its propertylist should be propertylist_TransmissionMonitorFile(). The list below usually includes the properties that have been inherited from the base classes; the properties which belong only to this class can be found at the end of this list.

input_type_combination
<enum>, default "bit_bit" -- The input type combination: Either bits are compared against bits, or bits are compared against LLR values, so that implicitly the LLR values will be hard-decided.

snr
<string>, default "SNR_loop" -- The name of the snr loop.

x2_loop
<string>, default "" -- The name of the optional second x-value loop.

min_bits
<unsigned>, default "" -- The minimum number of bits to be transmitted. (This property has highest precedence compared to max_bits and min_bit_errors.)

max_bits
<unsigned>, default "0" -- The maximum number of bits to be transmitted. The current transmission will be terminated after at least this number of bits has been transmitted, but only if at least min_bits bits have been transmitted as well. (This property comes after min_bits in precedence, but before min_bit_errors.)

min_bit_errors
<unsigned>, default "10000" -- If set, then terminate the current transmission prematurely as soon as this number of bit errors have been received, but only if at least min_bits bits have been transmitted as well. WATCH OUT: Dont use this option when refresh_loop is greater than one, or your results will be totally skewed! See also the page The duration of a typical digital communcications simulation. (This property has smaller precedence than both min_bits and max_bits.)

refresh
<string>, default "none" -- If set, name of the refresh loop of the channel. If set, will enable recording of one BER value at each realization of the channel instead of only the average over all realizations at one SNR.

refresh_statistics
<bool>, default "false" -- If true, then calculate the actual mean and variance of the BER at each realization over all realizations of one SNR value. If false, then print one line of output for each realization. If the property 'refresh' is unset, then this property has no effect.

input_length
<sequencelength>, default "-1" -- The input size. -1 means undefined.

x1_loop
<string>, default "" -- [Obsolete. Only for compatibility with old parameter files.] The name of the first x-value loop. Either this or the property 'snr' (which is just an alias) has to be set.

pipe
<bool>, default "false" -- [OBSOLETE - only needed for non-factory-function creation of this object.] If true then this device is a pipe and not a (terminating) monitor.

11 properties in this class. The above properties have been inherited from the base class simthlib::TransmissionMonitor .

output_file
<string>, default "" -- The name of the output file. Some more files will be written with different extra suffixes appended to this name.

append_file
<bool>, default "false" -- If true, then append this simulation's results to the existing out file, so that gnuplot will plot several graphs into one plot. Otherwise delete the old out file and create a new one.

write_protection
<bool>, default "false" -- If true, then make the out file write-protected so that it isn't accidentally overwritten by subsequence simthetic runs.

early_stopping_feature
<bool>, default "false" -- If true, then stop the whole simulation as soon as the absolute number of errors dropped to zero at one SNR point.

linestyle
<enum>, default "linespoints" -- The style how the data should be plotted

linewidth
<unsigned>, default "1" -- The width of the lines. Note: This parameter is only allowed to be greater than one when the actualy linestyle uses points. I.e. for linespoints this is allowed, but for points it is not.

pointsize
<unsigned>, default "1" -- The size of the points. Note: This parameter is only allowed to be greater than one when the actualy linestyle uses points. I.e. for linespoints this is allowed, but for lines it is not.

geometry
<string>, default "600x400" -- Geometry of the window to be opened. The format is exactly the one as with standard X(1) applications. E.g. 500x400 is a window 500 pixels wide and 400 high, or 500x400+50+0 the same at 50 pixels towards right and 0 pixels down from the upper left corner of the screen.

title
<string>, default " " -- The user-supplied title of the gnuplot plot.

waitforkey
<bool>, default "true" -- If true, then wait for a key-press on stdin after the resulting gnuplot window has been plotted. If false, simply terminate gnuplot. Useful when you have a lot of gnuplot windows.

error_position_info
<bool>, default "false" -- [OBSOLETE - only needed for non-factory-function creation of this object.] If true, then additionally record the positions of the bit errors in a separate output file and plot this, too. Otherwise only record the number of bit errors but not the positions.

write_gnuplot_file
<bool>, default "true" -- [OBSOLETE - only needed for non-factory-function creation of this object.] If true, then write the gnuplot file that will produce a plot. Otherwise only write the out file with the data points but nothing more.

12 properties in this class. The above properties have been inherited from the base class simthlib::TransmissionMonitorFile .

accumulate_bits
<unsigned>, default "0" -- If zero, then accumulate all bit errors into *one* sequence, which will show whether bit errors are concentrated in a specific part of the sequence, *averaged* over the whole transmission time (previous behaviour). If nonzero, accumulate (decimate) bit errors into bins of this size, while dynamically resizing the resulting sequence in order to store this information for the whole transmission time. The resulting sequence will show whether bit errors are concentrated in a specific part of the whole transmission time, by showing the accumulated number of bit errors per 'accumulate_bits' bits.

display_results
<bool>, default "false" -- If true, then open a gnuplot window after simthetic is finished. Otherwise only write the files with error data and with gnuplot commands.

2 properties in this class.


Member Data Documentation

size_t simthlib::ErrorPositionMonitor::accumulate_bits [protected]
 

If nonzero, accumulate (decimate) bit errors into bins of this size, while dynamically resizing the resulting sequence in order to store this information for the whole transmission time.

simth::checkedVector<int> simthlib::ErrorPositionMonitor::errorPositions [protected]
 


Generated on Tue Aug 9 14:38:55 2005 for simtheticlib by  doxygen 1.4.1