|
GNU Radio's DSD Package
|
Go to the source code of this file.
Classes | |
| struct | SymbolHeuristics |
| struct | P25Heuristics |
| struct | AnalogSignal |
Macros | |
| #define | HEURISTICS_SIZE 200 |
Functions | |
| void | initialize_p25_heuristics (P25Heuristics *heuristics) |
| int | estimate_symbol (int rf_mod, P25Heuristics *heuristics, int previous_dibit, int analog_value, int *dibit) |
| void | contribute_to_heuristics (int rf_mod, P25Heuristics *heuristics, AnalogSignal *analog_signal_array, int count) |
| void | update_error_stats (P25Heuristics *heuristics, int bits, int errors) |
| float | get_P25_BER_estimate (P25Heuristics *heuristics) |
| #define HEURISTICS_SIZE 200 |
| void contribute_to_heuristics | ( | int | rf_mod, |
| P25Heuristics * | heuristics, | ||
| AnalogSignal * | analog_signal_array, | ||
| int | count ) |
This method contributes valuable information from dibits whose value we are confident is correct. We take the dibits and corresponding analog signal values to model the Gaussians for each dibit (and previous dibit if enabled).
| rf_mod | Indicates the modulation used. The previous dibit is only used on C4FM. |
| heuristics | Pointer to the P25Heuristics module with all the needed state information. |
| analog_signal_array | Sequence of AnalogSignal which contain the cleared dibits and analog values. |
| count | number of cleared dibits passed (= number of elements to use from analog_signal_array). |
References contribute_to_heuristics().
Referenced by contribute_to_heuristics().
| int estimate_symbol | ( | int | rf_mod, |
| P25Heuristics * | heuristics, | ||
| int | previous_dibit, | ||
| int | analog_value, | ||
| int * | dibit ) |
Important method that estimates the most likely symbol for a given analog signal value and previous dibit. This is called by the digitizer.
| rf_mod | Indicates the modulation used. The previous dibit is only used on C4FM. |
| heuristics | Pointer to the P25Heuristics module with all the needed state information. |
| previous_dibit | The previous dibit. |
| analog_value | The signal's analog value we want to interpret as a dibit. |
| dibit | Address were to store the estimated dibit. |
References estimate_symbol().
Referenced by estimate_symbol().
| float get_P25_BER_estimate | ( | P25Heuristics * | heuristics | ) |
Returns the estimate for the BER (bit error rate).
References get_P25_BER_estimate().
Referenced by get_P25_BER_estimate().
| void initialize_p25_heuristics | ( | P25Heuristics * | heuristics | ) |
Initializes the heuristics state.
| heuristics | The P25Heuristics structure to initialize. |
References initialize_p25_heuristics().
Referenced by initialize_p25_heuristics().
| void update_error_stats | ( | P25Heuristics * | heuristics, |
| int | bits, | ||
| int | errors ) |
Updates the estimate for the BER (bit error rate). Mind this is method is not called for every single bit in the data stream but only for those bits over which we have an estimate of its error rate, specifically the bits that are protected by Reed-Solomon codes.
| heuristics | The heuristics state. |
| bits | The number of bits we have read. |
| errors | The number of errors we estimate in those bits. |
References update_error_stats().
Referenced by update_error_stats().