Help on opening a .fid file

38 vues (au cours des 30 derniers jours)
Marina Batlló RIus
Marina Batlló RIus le 1 Avr 2023
Hello, I am trying to open a .fid file in MATLAB. I do not have any other extra file or information, just the different .fid. The result should look like this:
I upload some example files. I have tried using fread, but I cannot manage to obtain the results.
Thanks in advance
  3 commentaires
Marina Batlló RIus
Marina Batlló RIus le 12 Avr 2023
Yes, but they did not get to a conclusion
Leandro
Leandro le 22 Oct 2024
Modifié(e) : Walter Roberson le 22 Oct 2024

Connectez-vous pour commenter.

Réponses (3)

Abhishek
Abhishek le 12 Avr 2023
Hi Marina,
To read the file, it is recommended to open it using the function fopen. Once you have opened the file, you can read its contents using fread. Please refer to the following code snippet:
%Unzip the file
unzip('avg8.zip')
%Open the file for reading
myFidFile = fopen('avg7.fid');
%Read the file
fidData = fread(myFidFile);
%Plot
figure('Name','FID Data Plot')
plot(fidData)
%Close the file
fclose(myFidFile);
Here's what the resultant plot looks like:
For further information on file operations, please refer to the following documentation pages:
  1. File Operations - MATLAB & Simulink (mathworks.com)
  2. Low-Level File I/O - MATLAB & Simulink (mathworks.com)
  1 commentaire
Marina Batlló RIus
Marina Batlló RIus le 12 Avr 2023
Yes, but the result is not as expected, and I don't know why this happens. It is the same file, but I open it with MESTRENOVA instead of MATLAB.

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 12 Avr 2023
There is no possible code that can read an arbitrary binary file and reliably extract the intended data. There is no international standard that requires that binary files must be in some structured form that self-describes what the data type and size of each section of data is.
For example if there are two binary bytes in the file, 10000000 10000001 then there is absolutely no way to tell whether the intent is 128 129, or 33152 or 32897 or -32384 or -32639 or an encoding for a character in LINEAR B, or a Start Of Record indicator followed by a record length of 129, or is intended to indicate "Mammal" "Aardvark", or something else completely different than any of these.
In order to decode an arbitrary binary file, you need documentation about the internal representation. Or you need access to the encoding program and the patience to do a lot of tests if writing out data in the program and seeing how it gets stored in the file.
So, you cannot expect us to be able to read and decode the file without information about what kind of file it is, and documentation from the manufacturer about how they store data.

Leandro
Leandro le 22 Oct 2024
Please read:
there are function there to do this.

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by