plr_frame


Typedefs

typedef Vec< plr > RobProb::plr_frame
 Represents the normal-domain probabilities of the two outcomes of a set of binary events as ratios.

Functions

plr_frame RobProb::new_plr_frame (unsigned int new_size)
 Creates a normal-domain probability ratios array.
plr_frame RobProb::to_plr_frame (const vec &x, double temp_infinity=infinity)
 Conversion from the vec data type.
vec RobProb::to_vec (const plr_frame &x, double temp_infinity=infinity)
 Conversion to the vec data type.
pvalues_frame RobProb::to_pvalues_frame (const plr_frame &x)
 Conversion to the pvalues_frame data type.
bvec RobProb::hard (const plr_frame &x)
 Hard decision.
llr_frame RobProb::log (const plr_frame &x)
 Elementwise logarithm, allowing conversion to the llr_frame data type.
plr_frame RobProb::add (const plr_frame &lhs, const plr_frame &rhs, JacobianType temp_jacobian_type=jacobian_type)
 Elementwise adds two normal-domain probability ratio arrays, allowing the specification of how to correct the Jacobian approximation.
plr_frame RobProb::operator * (const plr_frame &lhs, const plr_frame &rhs)
 Elementwise multiplication operator.
plr_frame & RobProb::operator *= (plr_frame &lhs, const plr_frame &rhs)
 Elementwise multiplication assignment operator.
plr_frame RobProb::operator/ (const plr_frame &lhs, const plr_frame &rhs)
 Elementwise division operator.
double RobProb::mutual_information (const plr_frame &x, const plr &source_plr)
 Calculates the average mutual information associated with a normal-domain probability ratio array for a non-equiprobable source.
double RobProb::mutual_information (const plr_frame &x)
 Calculates the average mutual information associated with a normal-domain probability ratio array for an equiprobable source.
double RobProb::mutual_information (const plr_frame &x, const bvec &bits)
 Calculates the average mutual information associated with a normal-domain probability ratio array for an equiprobable source.
plr_frame RobProb::generate_gaussian_plr_frame (const bvec &bits, double mutual_information)
 Generates a Gaussian-distributed normal-domain probability ratio array with a given mutual information for a bit array from an equiprobable source.
plr_frame RobProb::generate_bec_plr_frame (const bvec &bits, double mutual_information)
 Generates a BEC-distributed normal-domain probability ratio array with a given mutual information for a bit array from an equiprobable source.

Typedef Documentation

typedef Vec<plr> RobProb::plr_frame

Represents the normal-domain probabilities of the two outcomes of a set of binary events as ratios.

This type definition applies the plr data type to the IT++ Vec template class. Because of this, the use of plr_frame is as similar to and natural as vec as possible. This also allows the use of many of the functions of IT++ with the plr_frame data type. Notable examples of applicable IT++ functions include set_size, operator[], operator+ and operator-. Refer to the IT++ Vec class's documentation for more information.


Function Documentation

plr_frame RobProb::new_plr_frame ( unsigned int  new_size  ) 

Creates a normal-domain probability ratios array.

Parameters:
new_size The number of events.
Returns:
The new plr_frame array.

plr_frame RobProb::to_plr_frame ( const vec &  x,
double  temp_infinity = infinity 
)

Conversion from the vec data type.

Parameters:
x The normal-domain probability ratios that the new plr_frame array is set to. These must be greater than or equal to zero.
temp_infinity Specifies the absolute value used to represent infinity when converting from the double type. If a value of 0.0 is specified, no clipping is employed. If not provided, the value of the global variable infinity is used by default.
Returns:
The new plr_frame array.

vec RobProb::to_vec ( const plr_frame &  x,
double  temp_infinity = infinity 
)

Conversion to the vec data type.

Parameters:
x The plr_frame array.
temp_infinity Specifies the absolute value used to represent infinity when converting to the double type. If a value of 0.0 is specified, no clipping is employed. In this case, an error is generated in the event of converting a positive or negative infinite value to the double data type. If not provided, the value of the global variable infinity is used by default.
Returns:
The normal-domain probability ratios of the plr_frame array.

pvalues_frame RobProb::to_pvalues_frame ( const plr_frame &  x  ) 

Conversion to the pvalues_frame data type.

Calls the to_pvalues function associated with the plr data type on an elementwise basis.

Parameters:
x The normal-domain probability ratios array.
Returns:
The result of the conversion.

bvec RobProb::hard ( const plr_frame &  x  ) 

Hard decision.

Parameters:
x The normal-domain probability ratio array.
Returns:
The indices of the most likely outcomes of each binary event.

llr_frame RobProb::log ( const plr_frame &  x  ) 

Elementwise logarithm, allowing conversion to the llr_frame data type.

Calls the log function associated with the plr data type on an elementwise basis. Note that behind the scenes, this conversion is achieved by a change of interface rather than a calculation.

Parameters:
x The normal-domain probability ratio array.
Returns:
The result of the logarithm.

plr_frame RobProb::add ( const plr_frame &  lhs,
const plr_frame &  rhs,
JacobianType  temp_jacobian_type = jacobian_type 
)

Elementwise adds two normal-domain probability ratio arrays, allowing the specification of how to correct the Jacobian approximation.

This is required because, behind the scenes, addition in the normal-domain is achieved by applying the Jacobian operator in the logarithmic-domain. Note that behind the scenes, normal-domain probability ratios of plus infinity are handled as a special case.

Parameters:
lhs The left-hand-side normal-domain probability ratio array, which must have the same number of members as...
rhs The right-hand-side normal-domain probability ratio array.
temp_jacobian_type Specifies how to correct the Jacobian approximation. If not provided, the value of the global variable jacobian_type is used by default.
Returns:
The result of the addition.

plr_frame RobProb::operator * ( const plr_frame &  lhs,
const plr_frame &  rhs 
)

Elementwise multiplication operator.

Note that behind the scenes, multiplication in the normal-domain is achieved by addition in the logarithmic-domain. Also note that behind the scenes, normal-domain probability ratios of plus infinity are handled as a special case.

Parameters:
lhs The left-hand-side normal-domain probability ratio array, which must have the same number of members as...
rhs The right-hand-side normal-domain probability ratio array.
Returns:
The result of the multiplication.

plr_frame & RobProb::operator *= ( plr_frame &  lhs,
const plr_frame &  rhs 
)

Elementwise multiplication assignment operator.

Note that behind the scenes, multiplication in the normal-domain is achieved by addition in the logarithmic-domain. Also note that behind the scenes, normal-domain probability ratios of plus infinity are handled as a special case.

Parameters:
lhs The left-hand-side normal-domain probability ratio array, which must have the same number of members as...
rhs The right-hand-side normal-domain probability ratio array.
Returns:
The left-hand-side normal-domain probability ratio array, which now contains the result of the multiplication.

plr_frame RobProb::operator/ ( const plr_frame &  lhs,
const plr_frame &  rhs 
)

Elementwise division operator.

Note that behind the scenes, division in the normal-domain is achieved by subtraction in the logarithmic-domain. Also note that behind the scenes, normal-domain probability ratios of plus infinity are handled as a special case.

Parameters:
lhs The left-hand-side normal-domain probability ratio array, which must have the same number of members as...
rhs The right-hand-side normal-domain probability ratio array.
Returns:
The result of the division.

double RobProb::mutual_information ( const plr_frame &  x,
const plr &  source_plr 
)

Calculates the average mutual information associated with a normal-domain probability ratio array for a non-equiprobable source.

Calls the mutual_information function associated with the plr data type on an elementwise basis and finds the average. Note that truely APP decoders should be used to obtain accurate mutual information measurements.

Parameters:
x The normal-domain probability ratio array.
source_plr The normal-domain source probability ratio.
Returns:
The calculated average.

double RobProb::mutual_information ( const plr_frame &  x  ) 

Calculates the average mutual information associated with a normal-domain probability ratio array for an equiprobable source.

Calls the mutual_information function associated with the plr data type on an elementwise basis and finds the average. Note that truely APP decoders should be used to obtain accurate mutual information measurements.

Parameters:
x The normal-domain probability ratio array.
Returns:
The calculated average.

double RobProb::mutual_information ( const plr_frame &  x,
const bvec &  bits 
)

Calculates the average mutual information associated with a normal-domain probability ratio array for an equiprobable source.

Employs the histogram method to determine the mutual information of x and the bits. Note that long frame lengths should be used to obtain accurate mutual information measurements.

Parameters:
x The normal-domain probability ratio array.
bits The bit array.
Returns:
The calculated average.

plr_frame RobProb::generate_gaussian_plr_frame ( const bvec &  bits,
double  mutual_information 
)

Generates a Gaussian-distributed normal-domain probability ratio array with a given mutual information for a bit array from an equiprobable source.

Parameters:
bits The bit array.
mutual_information The mutual information.
Returns:
The generated normal-domain probability ratio array.

plr_frame RobProb::generate_bec_plr_frame ( const bvec &  bits,
double  mutual_information 
)

Generates a BEC-distributed normal-domain probability ratio array with a given mutual information for a bit array from an equiprobable source.

Parameters:
bits The bit array.
mutual_information The mutual information.
Returns:
The generated normal-domain probability ratio array.


Generated on Mon Sep 1 14:41:39 2008 for RobProb by  doxygen 1.5.3