1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| int main()
{
/////////////// lire le fichier
int Indice,i=0;
for (Indice = 0; Indice <=NB_COEF; Indice++) {
coef[Indice] = 0.0625;
}
fichier = fopen("/home/khaled/these/log/Filtre/EDF_ATMI_CPU1.txt", "r");
if(fichier == NULL){
fprintf(stderr,"Le fichier n'existe pas !!!!!!!!!!!");
}
else
fprintf(stderr,"Le fichier existe et est ouvert en lecture seule \n" );
// ouverture le fichier des resultats Y
fic = fopen("/home/khaled/these/log/Filtre/resultat.txt", "w"); // ouvrir en ecriture
if(fic == NULL){
fprintf(stderr,"Impossible d'ouvrir le fichier resultat.txt\n");
exit(1);
}
while(fgets(ligne_lue, sizeof(ligne_lue), fichier)!=NULL)
{
fprintf(stderr,"\n Lecture....");
//fprintf(stderr,"\nchaine :%s",ligne_lue);
fprintf(stderr,"\n le coef in while est %f",coef[14]);
sscanf(ligne_lue,"%s",&datav);
fprintf(stderr,"\n le data en caractere est %s",datav);
data=strtod(datav, NULL);
/////le filtre
// data: Signal d'entrée
// y: Signal de sortie
fprintf(stderr,"\n filtrage....");
int n=0;
double y=0;
fprintf(stderr,"\n le data double est %f",data);
x_buffer[ptr_x_buffer++] = data;
ptr_x_buffer %= NB_COEF;
fprintf(stderr,"\n le x_buffer est %f",x_buffer);
//fprintf(stderr,"\n le coef est %f",coef);
for( n = (NB_COEF-1) ; n >= 0 ; n-- )
{
y += coef[n] * x_buffer[ptr_x_buffer++];
ptr_x_buffer %= NB_COEF;
}
fprintf(stderr,"\n le data filtré est %f",y);
////////////écrirure des données///////////
fprintf(fic, "%f \n", y);
printf("les donnees ont ete stockees dans resultat.txt\n");
///////////
}
fclose(fichier);
return 0;
} |
Partager