GNU Radio's DSD Package
p25p1_ldu.h File Reference
#include "dsd.h"
#include "p25p1_hdu.h"
#include "p25p1_const.h"
#include "p25p1_heuristics.h"

Go to the source code of this file.

Functions

void process_IMBE (dsd_opts *opts, dsd_state *state, int *status_count)
void read_and_correct_hex_word (dsd_opts *opts, dsd_state *state, char *hex, int *status_count, AnalogSignal *analog_signal_array, int *analog_signal_index)
void correct_hamming_dibits (char *hex_data, int hex_count, AnalogSignal *analog_signal_array)

Function Documentation

◆ correct_hamming_dibits()

void correct_hamming_dibits ( char * hex_data,
int hex_count,
AnalogSignal * analog_signal_array )

Correct the information in analog_signal_array according with the content of data, which has been error corrected and should be valid.

Parameters
Dibitsthat have already been error corrected and we trust are correct. \count Number of dibits.
analog_signal_arrayPointer to a sequence of AnalogSignal elements, as many as the value of count.

◆ process_IMBE()

void process_IMBE ( dsd_opts * opts,
dsd_state * state,
int * status_count )

Separate imbe frames and deinterleave. This important methods read the IMBE data from the stream and passes it to the vocoder to produce audio.

Parameters
optsThe DSD options.
stateThe DSD state. \status_count An index that allows us to skip the status words interleaved every 36 dibit in the data stream.

◆ read_and_correct_hex_word()

void read_and_correct_hex_word ( dsd_opts * opts,
dsd_state * state,
char * hex,
int * status_count,
AnalogSignal * analog_signal_array,
int * analog_signal_index )

Reads an hex word, its parity bits and attempts to error correct it using the Hamming FEC.

Parameters
optsThe DSD options.
stateThe DSD state.
hexPointer where to store the read hex word. Six bytes, one per bit.
status_countAn index that allows us to skip the status words interleaved every 36 dibit in the data stream.
analog_singal_arrayPointer to a sequence of AnalogSignal elements.
analog_signal_indexThe current index in the analog_singal_array. This value is increased on each dibit read.