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).

Enumérations

TypeCanal : RAYLEIGH | RICE;

Type de canal dispersif (avec ou sans trajet dominant)

Structures

struct CanalDispersifConfig
Configuration pour un canal dispersif.

struct ECPConfig
Paramétrage d'un émulateur de canal de propagation.

Fonctions

Veccf bruit_awgn(const Veccf &x, float σ)
Ajoute un bruit blanc gaussien complexe.

Vecf bruit_awgn(const Vecf &x, float σ)
Ajoute un bruit blanc gaussien réel.

sptr<Filtre<cfloat, cfloat, CanalDispersifConfig>> canal_dispersif(const CanalDispersifConfig &config)
Création d'un simulateur de canal dispersif.

Vecf doppler_distri(const Vecd &f, float fd, double fc)
Densité spectrale due au Doppler (modèle statistique).

float bruit_thermique(float bp, float T=25)
Calcul de la puissance du bruit thermique.

sptr<Filtre<cfloat, cfloat, ECPConfig>> ecp_création(const ECPConfig &config)
Création d'un émulateur de canal de propagation.

float capacite_canal_awgn(float snr, float B=1)
Capacité d'un canal AWGN.