# 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):