Bonjour,
Je me demandais si il était possible et si oui, comment faire une routine sous matlab pour transformer beaucoup de fichiers binaires (.pro) en fichiers ASCII.
Merci d'avance
Bonjour,
Je me demandais si il était possible et si oui, comment faire une routine sous matlab pour transformer beaucoup de fichiers binaires (.pro) en fichiers ASCII.
Merci d'avance
C'est quoi un fichier ".pro" ?
Quel logiciel produit ces fichiers ?
As-tu une documentation expliquant leur encodage ?
Désolé un peu de temps pour répondre.
Non aucune doc sur leur encodage. Une personne de mon bureau a cependant déchiffrée le .pro :
J'aimerais bien avoir la valeur de la fréquence d'échantillonnage (offset 324) et toutes les valeurs de 2 voies (exemple 2 et 3), en réalité je cherche les valeurs des voies 1 et 2 mais je trouve pas les valeurs de la voie 1...
Merci
Bon en faite voilà, il faut que je le lise dans l'entête du fichier 3 valeurs :
"Durrée avant" codé sur 4 octets de 312 à 315
"Durée après" codé sur 4 octets de 316 à 319
"Fréquence" codé sur 4 octets de 324 à 327
Ensuite je dois calculer la position de la 1ere mesure de la voie 1 et de la deuxième de la voie 2. Comme elles sont identique j'aurais la taille (toujours en octet de chaque mesure). Et je pourrais ainsi, aussi les lire.
Alors j'ai regardé un peu fread pour lire en binaire
Donc par exemple pour extraire la "durée avant", un truc du genre
Durée_avant = fread(fid, [312 315], single);
ferait il l'affaire pensez vous?
(je ne peux pas tester en ce moment)
Et ensuite comment faire pour le transformer en valeur décimal?
Merci
Essaye plutôt ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 fid = fopen('data.pro','r'); fseek(fid,312); Duree_avant = fread(fid,1,'single'); fclose(fid);
Merci ! mais il aime pas ça..
retourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 fid = fopen('080131_17195564.pro','r'); fseek(fid,312) Duree_avant = fread(fid,1,'single') fclose(fid);
???? Error using ==> fseek
Not enough input arguments.
Error in ==> Test_ouvert_binaire at 2
fseek(fid,312)
PS : oui maintenant je peux tester
Partager