Decode I-Q values from IQ file in MATLAB

72 views (last 30 days)
tyler seudath
tyler seudath on 16 Sep 2022
Commented: Jeffrey Clark on 18 Sep 2022
Dear all,
I recorded I/Q on my SDR and the I/Q binary file found here. I was wondering if the IQ file can be opened in matlab so I can see the real and imaginary values.
Many thanks in advance.
Best,
Tyler
  1 Comment
Jeffrey Clark
Jeffrey Clark on 18 Sep 2022
@tyler seudath, I tried double (8 byte) and single (4 byte) floating using little and big endian (4 combinations) but always got INF or NaN for some of the floats.
  1. Is the SRD recording in an IEEE standard float or other?
  2. Or just producing N byte signed/unsinged integers?
  3. little or big endian?
You can use these commands to get the 10,010,624 bytes of binary read into a float or integer array, byte swapped as needed modifying the following. If you find you have 16 bit float you will have to try to find a converter; if you expect integer data you can also adjust accordingly. Since I expected to find complex numbers I expected 2xN as indicated:
[FID, message] = fopen('Binary.iq','rb','s'); % the 's' specifies big endian for float formats
[bindata,count] = fread(FID, [2,inf],'*double','s'); % hear trying 8 byte and big endian
iqdata = complex(bindata(1,:),bindata(2,:));
fclose(FID)

Sign in to comment.

Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!