HamCodeEnglish

API › Decimazione

Polifase class

public static class Polifase

Metodi

static double[] DecimaIngenuo(double[] x, double[] h, int m)

Decimare di m nel modo ingenuo: tutte le uscite del filtro, poi una ogni m.

static double[] Decima(double[] x, double[] h, int m)

Decimare di m calcolando solo le uscite tenute: m volte meno prodotti.

static double[] InterpolaIngenuo(double[] x, double[] h, int l)

Interpolare di l nel modo ingenuo: l - 1 zeri dopo ogni campione, poi il filtro su tutto, zeri compresi. Il guadagno l rimette l'ampiezza, che gli zeri hanno diviso per l.

static double[] Interpola(double[] x, double[] h, int l)

Interpolare di l con i sottofiltri: l'uscita n usa solo i coefficienti h[f], h[f + l], h[f + 2l]... con f = n mod l, cioe' quelli che cadono sui campioni veri. l volte meno prodotti.

static double[] DecimaMezzaBanda(double[] x, double[] h)

Decimare di 2 con un mezza banda: i coefficienti pari lontani dal centro sono zero e gli altri sono simmetrici, quindi per ogni uscita bastano il centro e una moltiplicazione per coppia.