read I/Q data from binary file

19 次查看(过去 30 天)
abhinibesh
abhinibesh 2014-2-25
1st ques: How can I read from a binary file, byte by byte?? 2nd ques: How can I read from a binary file, 2 bytes at a time??

回答(1 个)

Walter Roberson
Walter Roberson 2014-2-25
fid = fopen('YourFile.bin', 'r'); %for read
data_by_one = fread(fid, '*uint8'); %read it a byte at a time
frewind(fid); %go back to the beginning
data_by_two = fread(fid, '*uint16'); %read two bytes at a time
frewind(fid); %go back to the beginning
data_by_two_swapped = fread(fid, '*uint16', 'ieee-be'); %two bytes at a time, big-ended
fclose(fid);
The default for two-byte integers is "little-ended", where the file has PQ where in memory the value would be (256 * Q + P). Reading 'big-ended' would read bytes PQ as representing (256 * P + Q), the way that God intended ;-)

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by