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 60 61 62 63 64 65 66 67 68
| #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define As 0.54819 // On définit la constante As
#define ws (2*3.14)/128.0 // On définit la constante ws
#define u 0.01 // On définit la constante u
float random() // Fonction qui va générer le bruit
{
float j,i;
srand(time(NULL)); // initialisation de random par rapport à l'horloge
//afin de toujours obtenir des valeurs différentes
j=((rand()%1001)/(float)1000); // Calcul d'un nbr compris entre 0 et 1
printf("%f \n",j);
return j;
}
int main ()
{
float sk, sd, irandom, x1, x2, Ts,D;
int k;
printf(" Saisir la periode du signal sk en seconde \n");
scanf("%f",&Ts); // Période du signal
irandom = random();
for(k=201; k<=400; k++) // Phase 3: On génère la boucle avec un balayage de 201 a 400
{
D=10*Ts*((400-(k-1))/200.0);
sk = As*sin(ws*k)+As*(1/sqrt(3))*sin(2*ws*k)+As*(1/sqrt(2))*sin(3*ws*k); // Formule du signal
sd= As*sin(ws*(k-D))+As*(1/sqrt(3))*sin(2*ws*(k-D))+As*(1/sqrt(2))*sin(3*ws*(k-D)); // Formule du signal decalé
x1 = irandom + sk; // On ajoute le bruit au signal
x2 = irandom + sd; // On ajoute le bruit au signal decalé
printf("Pour n = %d sk%d= %f sd%d = %f \n",k,k,x1,k,x2);
}
for(k=401; k<=500; k++) // Phase 4: On génère la boucle avec un balayage de 401 a 500
{
D = 0;
sk = As*sin(ws*k)+As*(1/sqrt(3))*sin(2*ws*k)+As*(1/sqrt(2))*sin(3*ws*k);
// Formule du signal
sd= As*sin(ws*(k-D))+As*(1/sqrt(3))*sin(2*ws*(k-D))+As(1/sqrt(2))*sin(3*ws*(k-D));
// Formule du signal decalé
x1 = irandom + sk; //On ajoute le bruit au signal
x2 = irandom + sd;
// On ajoute le bruit au signal decalé
printf("Pour n = %d sk%d= %f sd%d = %f \n",k,k,x1,k,x2);
}
system("pause");
return 0;
} |
Partager