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

simthlib::OfdmReceiverBce Class Reference

#include <ofdmreceiverbce.h>

Inheritance diagram for simthlib::OfdmReceiverBce:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 OfdmReceiverBce (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int oversampling, int carr, double guardTime, double dist, ofdm::FillUpScheme diffScheme)
void print (std::ostream &os) const

Protected Member Functions

bool useChannelEstimation () const
virtual void blindChannelEstimation (const simth::ModSeq &modSymbols, simth::ModSeq *transfer) const =0
virtual void channelEstimation (const simth::ModSeq &modSymbols, simth::ModSeq *transfer) const

Related Functions

(Note that these are not member functions.)

 propertylist_OfdmReceiverBce (not_a_function)

Detailed Description

This abstract class is the base class of each receiver with blind channel estimation (BCE). A derived receiver has to override the pure abstract function blindChannelEstimation() to define its own BCE-algorithm.


Constructor & Destructor Documentation

simthlib::OfdmReceiverBce::OfdmReceiverBce int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  oversampling,
int  carr,
double  guardTime,
double  dist,
ofdm::FillUpScheme  diffScheme
 


Member Function Documentation

virtual void simthlib::OfdmReceiverBce::blindChannelEstimation const simth::ModSeq modSymbols,
simth::ModSeq transfer
const [protected, pure virtual]
 

In derived classes this functions implements the used blind channel algorithm.

This function is used to obtain a blind channel estimation in derived classes. The derived functions fill the sequence 'transferFunction' with the channel transfer factors. Note that in the majority of cases derived functions have to map the index of the complex output sequence to the OFDM index that represents the position within the corresponding block of received OFDM symbols (i.e. the number of the OFDM-symbol (time) and the number of the subcarrier (frequency)). This mapping is done using the function origIndex2ofdmIndex(). See the description of this class for further information. Then in a last step, the estimated transfer factors for the block of OFDM-Symbols have to mapped back to the 'original' index of the output sequence. This mapping is done using the function ofdmIndex2origIndex().

The implementation in this class just sets all elements of 'transfer' to 0.0.

Parameters:
modSymbols The received modulation symbols, i.e. the output sequence of the receiver.
transfer After finishing the function, 'transfer' points to the estimated transfer factors.

virtual void simthlib::OfdmReceiverBce::channelEstimation const simth::ModSeq modSymbols,
simth::ModSeq transfer
const [inline, protected, virtual]
 

This function can be used to obtain a channel estimation in derived classes. The derived functions fill the sequence 'transferFunction' with the channel transfer factors. Note, if the channel estimation is based on the given complex output sequence, in the majority of cases the index within this complex output sequence has to be mapped to the OFDM index. The OFDM index represents the position within the corresponding block of received OFDM symbols (i.e. the number of the OFDM-symbol (time) and the number of the subcarrier (frequency)). This mapping is done using the function origIndex2ofdmIndex(). See the description of this class for further information. Then in a last step, the estimated transfer factors for the block of OFDM-Symbols have to mapped back to the 'original' index of the output sequence. This mapping is done using the function ofdmIndex2origIndex().

The implementation in this class just sets all elements of 'transfer' to 0.0.

Parameters:
modSymbols The received modulation symbols, i.e. the output sequence of the receiver.
transfer After finishing the function, 'transfer' points to the estimated transfer factors.

Reimplemented from simthlib::OfdmReceiver.

void simthlib::OfdmReceiverBce::print std::ostream &  os  )  const [virtual]
 

Reimplemented from simthlib::OfdmReceiver.

bool simthlib::OfdmReceiverBce::useChannelEstimation  )  const [inline, protected]
 


Friends And Related Function Documentation

propertylist_OfdmReceiverBce not_a_function   )  [related]
 

These are the properties of class OfdmReceiverBce . 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: This abstract class is the base class of each receiver with blind channel estimation (BCE). A derived receiver has to override the pure abstract function blindChannelEstimation() to define its own BCE-algorithm.

Note that this class also has the Properties of its base classes. The direct base class is simthlib::OfdmReceiver ; direct link to its propertylist should be propertylist_OfdmReceiver(). 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.

output_length
<sequencelength>, default "" -- The output length.

1 properties in this class. The above properties have been inherited from the base class simthlib::Receiver .

diff_scheme
<enum>, default "frequency" -- This parameter chooses the scheme how to fill the OFDM symbols in frequency and/or time direction. (WATCH OUT: The name is misleading. This property should rather be called 'fill_up_scheme'.) This is commonly used in different differential decoding schemes, e.g. differential decoding in frequency direction or differential decoding in time direction. WATCH OUT: The default here used to be frequency_snake, but since this contradicts common assumptions about the behaviour of OFDM receivers/transmitters, it was changed to the more textbook-like setting 'frequency'. This setting only has effect if the input_length is longer than num_carriers.

oversampling
<unsigned>, default "1" -- The oversampling rate used by the IDFT (IFFT)

num_carrier
<unsigned>, default "" -- The number of carriers

guard_time
<double>, default "0.0" -- The time duration of the guard interval in seconds.

carrier_dist
<double>, default "" -- The subcarrier distance (spacing) in Hertz.

linear_phase_correction
<bool>, default "false" -- Switchs linear phase correction 'off' and 'on', respectively. This could be useful if the received signal was sent over a channel with time delay (e.g. a WssusChannel). The receiver does not consider this time delay, therefore, the symbols sustain a multiplication with a complex factor in the frequency domain. This complex factor depends linearly on the frequency, i.e. the number of the subcarrier. This function computes this factor using the complex symbols filled into ofdmVector.

num_phases
<int>, default "0" -- Only active when linear_phase_correction is switched on: The number of different phases of the constellation diagram used by the modulator and demodulator.

7 properties in this class. The above properties have been inherited from the base class simthlib::OfdmReceiver .

No properties defined in this particular class.


Generated on Tue Aug 9 14:39:10 2005 for simtheticlib by  doxygen 1.4.1