Dear colleagues, I have binary file. But I do not know how to read and convert to .CSV file. Please help. I attached it for reference. Thanks. https://drive.google.com/open?id=0Bx6bUTVOinyySl9nUnN2TGxxc2c

2 commentaires

KSSV
KSSV le 3 Mar 2017
You must know the format of binary file to read. Do you know the format? Doc fread
Xuan Hiep Dinh
Xuan Hiep Dinh le 5 Mar 2017
The format of binary file is : (x1.re(short))(x1.im(short))(x2.re(short))(x2.im(short))...

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 3 Mar 2017

0 votes

There is an infinite number of binary formats. The file extension "bin1" does not reveal, how the data are stored internally. It could be a vector of double values, or perhaps it starts with the dimensions as UINT64 vector and then the values are stored as single. This cannot be predicted and an examination of the data is not reliable also. You have to ask the person, who has written the file, or read the corresponding docs.
If you know the structure of the file, fread allowes to read the parts. Finally csvwrite creates the wanted file.

1 commentaire

Xuan Hiep Dinh
Xuan Hiep Dinh le 5 Mar 2017
The format is: (x1.re(short))(x1.im(short))(x2.re(short))(x2.im(short))...

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 3 Mar 2017
Modifié(e) : Walter Roberson le 3 Mar 2017
fid = fopen('test2.bin1');
data = fread(fid, '*uint8');
data = reshape(data, 32, []);
imshow(data);
Or possibly
data = reshape(data, 1, []);
imshow(data);

4 commentaires

Xuan Hiep Dinh
Xuan Hiep Dinh le 5 Mar 2017
Thanks for comment. Actually, I have 2 steps. First, read the file. And second, do FFT for this.
Xuan Hiep Dinh
Xuan Hiep Dinh le 5 Mar 2017
The format is: (x1.re(short))(x1.im(short))(x2.re(short))(x2.im(short))...
How can I reproduce 4 columns ?
fid = fopen('test2.bin1');
temp = fread(fid, [2 inf], 'uint16=>double');
fclose(fid);
data = complex(temp(1,:), temp(2,:));
Note: all of the complex components are 0.
You appear to have pulses of width 63 or (more often) 64, that are placed 125 or 126 apart. So this is basically a square wave with a duty cycle just slightly greater than 1/2
Xuan Hiep Dinh
Xuan Hiep Dinh le 12 Mar 2017
Thank so much !

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by