Pulse shaping filters
This module provides several functions enabling to transform a binary sequence into a "continuous" signal (or pseudo-continuous, since we work in the numerical doamin, where the signals are discretized and sampled with a finite sampling rate).
The classical steps for this shaping are the following (see figure below): craation of the symbols (constellation) from the binary sequence (each symbol enabling to code one or several bits), over-sampling (according to the desired over-sampling factor), and finally applying the shaping filter (Gaussian, RC, moving average, etc.).
The following functions are provided:
- Symbols encoding (resp. decoding): enable to convert a binary sequence to a symbol sequence (real ou complex), or the reverse. To do that, the functions are symmap (symbol encoding) and symdemap (symbol decoding).
- Sampling frequency change: the goal is to go from 1 sample / symbol to n samples / symbol, which is necessary before applying the pulse shaping filter (upsample and downsample for the reverse operation)
- Pulse shaping filter: several classical filters are provided: SRRC, RC, Gaussian, NRZ, etc. (psfilter_init et psfilter_process).
- Some additional functions to compute these three steps in only one call (for specific cases only):