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.