Compressing and Filtering I/Q Data

One great feature of SDR software like SDR# is the ability to make I/Q recordings of the entire received bandwidth for later analysis. The problem is that these recordings can take up massive amounts of hard disk space. Jay Moore, the author of the RTL-SDR DX blog has recently been experimenting with methods for compressing I/Q files (2021 UPDATE: Jay's site has been abandoned, please use this archive.org link).

Jay tried compressing a test I/Q file with 7-Zip LZMA, Zip Deflate and FLAC. His results showed that FLAC compression was by far the fastest and also compressed the most in a test I/Q file with low amounts of redundant information.

Jay also discovered that it is possible to record "filtered" I/Q recordings using the RAW setting in SDR#. The RAW setting allows you to record an I/Q file from the tuned bandwidth selected within SDR# which allows for a much smaller file size.

I/Q Data interpreted by an audio editor
I/Q Data interpreted by an audio editor
Subscribe
Notify of
guest

7 Comments
Inline Feedbacks
View all comments
Jeff

TY!
I pretty much convert the rtl_sdr IQ files to SDR# IQ wav format which is much smaller and then I can use Sox trim to get rid of the first and last 2 min. Looking forward to wavpack.
Jeff

Jeff

Funk,
Its been a while, but can you share the wavpack command to compress a wav SDR# IQ file?
Also do you know if a way to trim that file – let’s say 2 min off front and 2 min off back?
TY!

Funk

wavpack.exe –blocksize=131072 -hh -j0 -l -x6 -t -v –pre-quantize=12 *.wav

To trim the file use Audacity and save it back in the format you loaded from.

F6FLT

Neither flicflac nor Adobe Audition softwares are able to convert I/Q wav files having high sample rates (MHz) into flac format. It seems that it is a flac format limitation.
So I tried the APE format with “FlicFlac Audio Converter” and it works well. A 1 Gb file is reduced to about 640 Mb. Gain: 36%. Although I don’t like “ape”, it’s the only lossless working format that I found for our purpose.
F6FLT

Funk

Wavpack works well for this purpose. For example with Airspy that has 12 bits resolution it can truncate 16 bit wav files to 12 bits before compressing to get higher compression gain. WavPack saves about 55 to 80 percent of disk space for me.

Jeff

Funk,

Do you have the cmd line for compressing an IQ file with wavpack?

TY

Funk

wavpack.exe –blocksize=131072 -hh -j0 -l -x6 -t -v –pre-quantize=12 *.wav