Simulation
Ce module contient quelques fonctions relatives à la simulation des canaux de propagation :
- Simulation de bruit blanc gaussien (awgn)
- Simulation de canaux dispersifs : multi-trajets, modèles de Rice, Rayleigh (fading_chn_init et fading_chn_process)
- Simulation de déséquilibre I/Q (iqi_simu)
- Simulation complète : distortions précédentes + erreurs d'horloge, de phase, de fréquence, .... (chn_simu_prm et chn_simu).
Types
using dsp::telecom::ChannelType = typedef nfr::TypeCanal
Dispersive channel type (with or without dominant path)
Structures
struct DispersiveChannelConfig
Configuration for a dispersive channel.
struct CPEConfig
Paramétrage d'un émulateur de canal de propagation.
Functions
Veccf awgn_noise(const Veccf &x, float σ)
Add (complex) Gaussian white noise.
sptr<Filter<cfloat, cfloat, CanalDispersifConfig>> dispersive_channel(const DispersiveChannelConfig &config)
Creation of a (baseband) dispersive channel simulator.
Vecf doppler_distri(const Vecd &f, float fd, double fc)
Densité spectrale due au Doppler (modèle statistique).
float thermal_noise(float bw, float T=25)
Compute thermal noise power.
sptr<Filter<cfloat, cfloat, ECPConfig>> ecp_new(const CPEConfig &config)
Création d'un émulateur de canal de propagation.
float awgn_channel_capacity(float snr, float B=1)
AWGN channel capacity.