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 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.
| plr_frame RobProb::new_plr_frame | ( | unsigned int | new_size | ) |
Creates a normal-domain probability ratios array.
| new_size | The number of events. |
| plr_frame RobProb::to_plr_frame | ( | const vec & | x, | |
| double | temp_infinity = infinity | |||
| ) |
Conversion from the vec data type.
| 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. |
| vec RobProb::to_vec | ( | const plr_frame & | x, | |
| double | temp_infinity = infinity | |||
| ) |
Conversion to the vec data type.
| 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. |
| 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.
| x | The normal-domain probability ratios array. |
| bvec RobProb::hard | ( | const plr_frame & | x | ) |
Hard decision.
| x | The normal-domain probability ratio array. |
| 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.
| x | The normal-domain probability ratio array. |
| 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.
| 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. |
| 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.
| 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. |
| 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.
| 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. |
| 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.
| 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. |
| 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.
| x | The normal-domain probability ratio array. | |
| source_plr | The normal-domain source probability ratio. |
| 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.
| x | The normal-domain probability ratio array. |
| 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.
| x | The normal-domain probability ratio array. | |
| bits | The bit array. |
| 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.
| bits | The bit array. | |
| mutual_information | The mutual information. |
| 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.
| bits | The bit array. | |
| mutual_information | The mutual information. |
1.5.3