Design de filtres
Structures
struct Design
Classe abstraite pour un design de filtre (vecteur de coefficients pour un filtre RIF, fraction rationnelle pour un filtre RII)
struct SpecFreqIntervalle
Spécification d'une réponse fréquentiel sur un intervalle (pour un gabarit de filtre).
struct BiquadSpec
Spécification d'un Biquad.
struct CICConfig
Paramètres principaux d'un filtre CIC.
struct CICComp
struct Fréquence
Fréquence normalisée (rapport entre une fréquence et la fréquence d'échantillonnage).
Fonctions
FRat<float> design_biquad(cstring type, float f, float Q, float gain_dB=0)
Design filtre biquad.
FRat<float> design_biquad(const BiquadSpec &spec)
Design filtre biquad.
FRat<cfloat> design_riia(entier n, cstring type, cstring prototype, float fc, float δ_bp=0.1f, float δ_bc=60)
Design RII d'après un prototype analogique classique.
Vecf design_rif_freq(entier n, const Vecf &d)
Design par échantillonnage fréquentiel.
Vecf design_rif_freq_freqs(entier n)
Calcul des \(m\) valeurs de fréquences utilisée pour le design par échantillonnage fréquentiel.
Vecf design_rif_eq(entier n, const Vecf &D, const Vecf &W)
Design équiripple (méthode IRLS).
Vecf design_rif_eq(entier n, const vector<SpecFreqIntervalle> &spec)
Design équiripple (méthode IRLS).
Vecf design_rif_demi_bande(int n, float fc)
Design RIF demi-bande.
Vecf design_rif_diff(entier n, bouléen centré=non)
Différentiateur numérique (approximation RIF).
Vecf design_rif_fen(entier n, cstring type, float fc, cstring fen="hn", float fc2=0)
Design RIF par sinus-cardinal fenêtré.
Vecf design_rif_fen_kaiser(cstring type, float fc, float atten_db, float df, float fc2=0)
Design RIF par sinus-cardinal fenêtré (fenêtre de Kaiser).
Vecf design_rif_fen_chebychev(entier n, cstring type, float fc, float atten_db, float fc2=0)
Design RIF par sinus-cardinal fenêtré (fenêtre de Chebychev).
Vecf design_rif_cs(entier n, float β, float fc)
Design d'un filtre en cosinus sur-élevé.
Vecf design_rif_rcs(entier n, float β, float fc)
Design d'un filtre en racine de cosinus sur-élevé.
Vecf design_rif_rcs1(entier n, float β, float osf, char nrm='s')
Design d'un filtre en racine de cosinus sur-élevé (1)
Vecf design_rif_gaussien(entier n, float σ)
Coefficients d'une approximation RIF d'un filtre gaussien (non fenêtré).
Vecf design_rif_gaussien_telecom(entier n, float BT, entier osf)
Coefficients d'une approximation RIF d'un filtre gaussien, pour une modulation GFSK.
float design_rif_gaussien_telecom_BT_vers_sigma(float BT)
Calcul l'écart-type (relatif à la période symbole) en fonction du BT.
Vecf design_rif_hilbert(entier n, cstring fenetre="hn")
Approximation RIF d'un filtre de Hilbert.
Vecf design_rif_prod(const Vecf &h1, const Vecf &h2)
Calcul d'un filtre RIF issu d'une concaténation série de deux filtres RIF.
Vecf design_rif_pb2ph_is(const Vecf &h)
Inversion spectrale.
Vecf design_rif_pb2ph_rs(const Vecf &h)
Réflexion spectrale.
Vecf design_rif_pb2pb(const Vecf &h)
Vecf design_rif_pb2pm(const Vecf &h)
FRat<float> design_cic(const CICConfig &config)
Fonction de transfert théorique d'un filtre CIC.
CICComp design_cic_comp(const CICConfig &config, float Fin, entier R2, float fc, entier ncoefs)
Design of a compensation FIR filter for a CIC filter.
FRat<float> design_bloqueur_dc(float fc)
Fonction de transfert pour un bloqueur DC.
FRat<float> design_notch(float f0, float fc)
FRat<float> design_mg(entier K)
Fonction de transfert d'une moyenne glissante d'ordre \(K\).
FRat<float> design_lexp(Fréquence fc)
Fonction de transfert d'un filtre exponentiel (d'après la fréquence de coupure)
FRat<float> design_lexp(float γ)
Fonction de transfert d'un filtre exponentiel (d'après le coefficient d'oubli)
float lexp_coef(Fréquence fc)
Design filtre RII d'ordre 1 (d'après la fréquence de coupure).
float lexp_tc_vers_coef(float τ)
Design filtre RII d'ordre 1 (d'après la constante de temps souhaitée).
float lexp_coef_vers_tc(float γ)
Fréquence lexp_fcoupure(float γ)
Compute cut-off frequency, from forget factor of first order IIR filter.
TabT<T, 2> forme_polyphase(const Vecteur<T> &x, entier M)
Représentation polyphase d'un signal.
Vecteur<T> iforme_polyphase(const TabT<T, 2> &X)
Calcul de la forme standard à partir de la forme polyphase.
FRat<cfloat> trf_bilineaire(const FRat<cfloat> &ha, float fe)
Transformée bilinéaire : conversion transformée de Laplace vers transformée en z.
float fd_vers_fa(float fd)
Conversion fréquence digitale vers fréquence analogique.
float fa_vers_fd(float fa)
Fréquence analogique vers fréquence digitale