Code generant fichier.c

Roland Cédric ZEMETA LEYO, 10/16/2018 02:21 PM

Download (1.41 KB)

 
1

    
2
 #include<stdio.h>
3
 #include<math.h>
4
 #include<stdlib.h>
5
 #include<string.h>
6
 #define freq 4250 // frequence signal
7
 #define max 1000
8
 #define pi 3.14159265
9

    
10
 float A; // Amplitude sinus
11
 unsigned short fe; // frequence d'echantillonage
12
 int nb_val; // Nombre de valeur du tableau du sinus
13

    
14

    
15
 int main ()
16
 {
17
    int array[max]; // tableau de sinus
18
    int i;
19
    float t; // Base de temps
20
    double w;
21

    
22
    printf ("Donnez la frequence d etanchillonnage : \n ");
23
    scanf("%u",&fe);
24

    
25
    printf ("Donnez le nombre de valeur souhaitee : \n ");
26
    scanf("%d",&nb_val);
27

    
28
    do
29
    {
30
        printf ("Donnez lamplitude du signal: \n ");
31
        scanf("%f",&A);
32
    } while( (A<0) || (A>1) ) ; // Amplitude max du sinus = 1
33

    
34
    // Remplissage tableau sinus
35
    fflush(stdin);
36
    FILE *f = NULL ;
37
    f = fopen("tableau sinus.txt", "w") ;
38
    fprintf(f,"Type mem is array(0 to %d) of integer range 0 to 1023 ;\n",nb_val) ;
39
    fprintf(f,"Constant tabfreq_ampli : mem := (") ;
40

    
41

    
42
    for (i=0 ; i< nb_val ; i++)
43
    {
44
        t = (i)*(1.0/fe);
45
        w = 2*pi*freq*t ;
46
        array[i] = A*sin(w)*1023;
47
        array[i] = fabs(array[i]) ;
48
        fprintf(f,"%d, ",array[i]);
49
    }
50
        t = (nb_val)*(1.0/fe);
51
        w = 2*pi*freq*t ;
52
        array[nb_val] = A*sin(w)*1023;
53
        array[nb_val] = fabs(array[nb_val]) ;
54
        fprintf(f,"%d);",array[nb_val]);
55
    fclose(f) ;
56
 }