GNU Radio 3.6.5 C++ API
|
Generic CPM modulator. More...
#include <digital_cpmmod_bc.h>
Public Member Functions | |
std::vector< float > | get_taps () |
Return the phase response FIR taps. | |
Protected Member Functions | |
digital_cpmmod_bc (gr_cpm::cpm_type type, float h, unsigned samples_per_sym, unsigned L, double beta) | |
Friends | |
DIGITAL_API digital_cpmmod_bc_sptr | digital_make_cpmmod_bc (int type, float h, unsigned samples_per_sym, unsigned L, double beta) |
Generic CPM modulator.
Examples:
The input of this block are symbols from an M-ary alphabet +/-1, +/-3, ..., +/-(M-1). Usually, M = 2 and therefore, the valid inputs are +/-1. The modulator will silently accept any other inputs, though. The output is the phase-modulated signal.
digital_cpmmod_bc::digital_cpmmod_bc | ( | gr_cpm::cpm_type | type, |
float | h, | ||
unsigned | samples_per_sym, | ||
unsigned | L, | ||
double | beta | ||
) | [protected] |
Build a generic CPM modulator block.
type | The modulation type. Can be one of LREC, LRC, LSRC, TFM or GAUSSIAN. See gr_cpm::phase_response() for a detailed description. |
h | The modulation index. is the maximum phase change that can occur between two symbols, i.e., if you only send ones, the phase will increase by every samples_per_sym samples. Set this to 0.5 for Minimum Shift Keying variants. |
samples_per_sym | Samples per symbol. |
L | The length of the phase duration in symbols. For L=1, this yields full- response CPM symbols, for L > 1, partial-response. |
beta | For LSRC, this is the rolloff factor. For Gaussian pulses, this is the 3 dB time-bandwidth product. |
std::vector<float> digital_cpmmod_bc::get_taps | ( | ) | [inline] |
Return the phase response FIR taps.
DIGITAL_API digital_cpmmod_bc_sptr digital_make_cpmmod_bc | ( | int | type, |
float | h, | ||
unsigned | samples_per_sym, | ||
unsigned | L, | ||
double | beta | ||
) | [friend] |