Test del Filtro Iir pasa alto, para dos señales sinusoidales en pi/32, 3*pi/4.
- Autor
- Fernando Pujaico Rivera
- Fecha
- 10-02-2012
Ademas la señal de entrada tiene una constante igual 1. La frecuencia de muestro es 2*pi.
Test de un filtro IIR pasa alto de primer orden con polo en a=0.95.
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)
{
FILE *fd=NULL;
char DATAFILE[]="datos.txt";
char OCTAVEFILE[]="plotinoctave.m";
PdsVector *X=NULL;
PdsVector *Y1=NULL;
PdsVector *Y2=NULL;
N=128;
X=pds_vector_new(N);
Y1=pds_vector_new(N);
Y2=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;
Y1->V[n]=y;
}
fd=fopen(DATAFILE,"w");
if(fd==NULL) return EXIT_FAILURE;
pds_vector_fprintf(X,fd);
pds_vector_fprintf(Y1,fd);
pds_vector_fprintf(Y2,fd);
fclose(fd);
pds_octave_plot_lin(OCTAVEFILE,DATAFILE);
return EXIT_SUCCESS;
}