gr::analog::cpm
gnuradio/analog/cpm.h
cpm_type
gr::analog::cpm::cpm_type
LRC
LSRC
LREC
TFM
GAUSSIAN
GENERIC
= 999
std::vector< float > static std::vector< float > gr::analog::cpm::phase_response (cpm_type type, unsigned samples_per_sym, unsigned L, double beta=0.3) phase_response gr::analog::cpm::phase_response cpm_type type unsigned samples_per_sym unsigned L double beta 0.3

Return the taps for an interpolating FIR filter (gr::filter::interp_fir_filter_fff).

These taps represent the phase response $g(k)$ for use in a CPM modulator, see also gr_cpmmod_bc.

type

The CPM type (Rectangular, Raised Cosine, Spectral Raised Cosine, Tamed FM or Gaussian).

samples_per_sym

Samples per symbol.

L

The length of the phase response in symbols.

beta

For Spectral Raised Cosine, this is the rolloff factor. For Gaussian phase responses, this the 3dB-time-bandwidth product. For all other cases, it is ignored.

Output: returns a vector of length K = `samples_per_sym` x `L`. This can be used directly in an interpolating FIR filter such as gr_interp_fir_filter_fff with interpolation factor `samples_per_sym`.

All phase responses are normalised s.t. $ \sum_{k=0}^{K-1} g(k) = 1$; this will cause a maximum phase change of $ h \cdot \pi$ between two symbols, where h is the modulation index.

The following phase responses can be generated:

- LREC: Rectangular phase response.

- LRC: Raised cosine phase response, looks like 1 - cos(x).

- LSRC: Spectral raised cosine. This requires a rolloff factor beta. The phase response is the Fourier transform of raised cosine function.

- TFM: Tamed frequency modulation. This scheme minimizes phase change for rapidly varying input symbols.

- GAUSSIAN: A Gaussian phase response. For a modulation index h = 1/2, this results in GMSK.

A short description of all these phase responses can be found in [1].

[1]: Anderson, Aulin and Sundberg; Digital Phase Modulation

Return the taps for an interpolating FIR filter (gr::filter::interp_fir_filter_fff).

- gr::analog::cpm
  cpm_type
- gr::analog::cpm
  GAUSSIAN
- gr::analog::cpm
  GENERIC
- gr::analog::cpm
  LRC
- gr::analog::cpm
  LREC
- gr::analog::cpm
  LSRC
- gr::analog::cpm
  phase_response
- gr::analog::cpm
  TFM