welle.io icon indicating copy to clipboard operation
welle.io copied to clipboard

Add IQ raw file header support

Open AlbrechtL opened this issue 6 months ago • 1 comments

Outcome from https://github.com/AlbrechtL/welle.io/issues/861

Original post by @andimik https://github.com/AlbrechtL/welle.io/issues/861#issuecomment-2988180888


Recording files with

  • AbracaDABra
  • Qirx
  • Qt-DAB

will add a header, which is described here: https://qirx.softsyst.com/RawXmlHeader

The rest is a normal IQ format (u8, s8, 16le, 16be in sampling rates of 2.048 or 4.096 MS/s) behind the header, so the header makes is easier to know the exact data format and the recorded length.

Older versions just had 1024 Bytes of header, the newer more (don't know by heart if 2048 or even more)

head 2023-09-10_075649_10C.uff -c 1024
<?xml version="1.0" encoding="utf-8"?>
<SDR>
 <Recorder Name="AbracaDABra" Version="2.1.1+"/>
 <Device Name="rtl-sdr [R820T]" Model="Generic RTL2832U OEM"/>
 <Time Unit="UTC" Value="2023-09-10 05:56:52"/>
 <Sample>
  <Samplerate Unit="Hz" Value="2048000"/>
  <Channels Container="uint8" Ordering="LSB" Bits="8">
   <Channel Value="I"/>
   <Channel Value="Q"/>
  </Channels>
 </Sample>
 <Datablocks>
  <Datablock Unit="Channel" Number="1" Offset="2048" Count="91750400">
   <Frequency Unit="kHz" Value="213360"/>
   <Modulation Value="DAB"/>
  </Datablock>
 </Datablocks>
</SDR>

There are basically 3 extensions used

  • *.raw (not recommended)
  • *.xml
  • *.uff

2023-09-10_075649_10C.uff.zip

But when the file has no header you need to try and check the spectrum and constellation diagram.

AlbrechtL avatar Jun 25 '25 09:06 AlbrechtL