Ejemplo de uso del Filtro Iir con cero en -1 y polo en 0.9, para una señal sinusoidal con frecuencia (angular) en pi/32, 3*pi/4, y una componente constante igual 1.
- Autor
- Fernando Pujaico Rivera
- Fecha
- 21-05-2011
Test de un filtro IIR.
El filtro usado será:
Señal de entrada x[n].
Señal de salida y[n].
#include <config.h>
#include <stdlib.h>
#include <pds/pdsdf.h>
#include <pds/pdsvector.h>
#include "extras.h"
#include <math.h>
int main(int argc, char** argv)
{
PdsVector *hden=NULL;
PdsVector *hnum=NULL;
PdsVector *X=NULL;
PdsVector *Y=NULL;
hnum=pds_vector_new_args(2, 1/20.0,1/20.0);
hden=pds_vector_new_args(2, 1.0, -0.9);
N=128;
X=pds_vector_new(N);
Y=pds_vector_new(N);
for(n=0;n<N;n++)
{
x=1.0+sin(M_PI*n/32.0)+sin(3.0*M_PI*n/4.0+M_PI/16.0);
X->V[n]=x;
Y->V[n]=y;
}
pds_vector_octave_png_plot(NULL,X,"n","X",NULL,"example1ax.png");
pds_vector_octave_png_plot(NULL,Y,"n","Y",NULL,"example1ay.png");
pds_vector_free(hnum);
pds_vector_free(hden);
return EXIT_SUCCESS;
}