welle.io
welle.io copied to clipboard
Add IQ raw file header support
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
But when the file has no header you need to try and check the spectrum and constellation diagram.