Bonjour à tous !
Je suis actuellement en pleine découverte du langage PHP et j'effectue un stage de deuxième année d'IUT Mesures Physiques au cours du quel je dois instrumenter une ruche d'abeilles (Le lien ci-contre renvoie vers le site web de présentation du projet) istruche.com !
Je dois faire l'acquisition des données d'un accéléromètre, les traiter puis les afficher sur le site. Et c'est actuellement à la deuxième étape que je bloque !
Venons-en au vif du sujet : je dois effectuer une FFT (Fast Fourier Transform) des données que j'ai enregistré. J'enregistre ces données sur une carte SD au format ".txt" tq les valeurs se suivent sur une seule colonne.
J'ai donc une ligne de calcul à faire mais je n'y arrive pas. Etant novice je ne connais pas encore bien toute la syntaxe et le langage.
J'ai commencé par créer un formulaire sur lequel on indique les différents paramètres à prendre en compte et sur lequel on sélectionne le fichier ".txt"
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <form method="post" action="outils/FFT.php" enctype="multipart/form-data"> <p> <label for="dureeMesure">Temps de la mesure</label> <input type="number" name="dureeMesure" id="dureeMesure" maxlength="9" required/> <label for="nbrMesures">Nombre d'échantillons</label> <input type="number" name="nbrMesures" id="nbrMesures" maxlength="9" required/> <label for="fmin">Fréquence min</label> <input type="number" name="fmin" id="fmin" maxlength="9" required/> <label for="fmax">Fréquence max</label> <input type="number" name="fmax" id="fmiax" maxlength="9" required/> <input type="file" name="file" required/> <input type="submit" value="Envoyer"/> </p> </form>
Ce formulaire renvoie à la page "FFT.php"
Lorsque j'essaye le programme je tombe sur les messages d'erreurs suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php move_uploaded_file($_FILES['ACCEL.TXT']['ACCEL.TXT'], 'uploads/'.basename($_FILES['ACCEL.TXT']['ACCEL.TXT'])); $fichierTemporel = fopen('uploads\accel.txt', 'r'); $fichierSpectral = fopen('downloads\spectre.txt', 'a+'); $dureeMesure = $_POST['dureeMesure']; $nbrMesures = $_POST['nbrMesures']; $dt = $dureeMesure / $nbrMesures; // Duree de l'intervalle entre deux mesures $fmin = $_POST['fmin']; $fmax = $_POST['fmax']; for ($f=$fmin; $f<$fmax; $f++){ // Boucle en fonction du choix d'échantillons $val = fgets($fichierTemporel); // Prend la valeur for($ti=$dt;$ti<$dureeMesure;$ti=$ti+$dt){ // Tant qu'une valeur existe, fait un calcul $sum=($val*exp(sqrt(-1)*(-2)*M_PI*$f*$ti)); $somme=$sum+$somme; } $somme=$somme/$f; fputs($fichierSpectral, $somme); $somme=0; } fclose($fichierTemporel); fclose($fichierSpectral); echo 'Finito'; ?>
Cela vient-il de la formule mathématique?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Notice: Undefined index: ACCEL.TXT in C:\wamp64\www\istruche\outils\FFT.php on line 2 Notice: Undefined index: ACCEL.TXT in C:\wamp64\www\istruche\outils\FFT.php on line 2 Notice: A non well formed numeric value encountered in C:\wamp64\www\istruche\outils\FFT.php on line 20 Notice: Undefined variable: somme in C:\wamp64\www\istruche\outils\FFT.php on line 21 Notice: A non well formed numeric value encountered in C:\wamp64\www\istruche\outils\FFT.php on line 20
Je suis complètement perdu et hors de mes compétences. J'ai essayé de rechercher la sources de mes erreurs par moi-même mais je suis dans l'urgence!
Merci beaucoup pour vos réponses!
Cordialement,
Hazbury
Partager