Kaiju now supports the processing of (modulated) complex I/Q file as an input.
We have introduced that new feature to simplify the process of analyzing your captured data.
For Kaiju users, it means you can now directly perform a rolling code analysis from complex IQ file, rather than performing the demodulation yourself.
Automatic demodulation and analysis of IQ file
The steps that can now be automatically done by Kaiju are:
- demodulate a signal inside an IQ file to retrieve:
- the raw binary stream and
- the datarate of the RF transmission
- Supported modulation are OOK and 2-FSK
- Supported IQ file formats are:
- Complex16 signed (.complex16s)
- Complex16 unsigned (.complex16u)
- Complex32 signed (.complex32s)
- Complex32 unsigned (.complex32u)
I/Q data
Not familiar with I/Q data (also referred to as IQ) ? Here is a little background (intentionally simplified):
- The terms I and Q actually mean “In-phase” and “Quadrature” (more info from Wikipedia).
- IQ files contain “raw” data, which means they are not yet demodulated, and thus require some (CPU intensive) processing before you can see the demodulated binary data inside.
- IQ files are typically generated by SDR HW (HackRF, RTL-SDR, …) and saved by SDR software (SDR#, URH, …).
- These are generally very big files, several Mb.
- For example:
- Let’s take a file with a .complex16s extension such as one generated by URH. “16” means the IQ couple consume 16 bits (2 bytes) of space. “s” means the data is signed.
- A .complex16s file of 1 second, at a sample rate of 1MSps (sample per second) will contain 1,000,000 IQ samples, eg. 1,000,000 of complex numbers I + Qi.
- As each IQ sample takes 2 bytes (1 byte for I and 1 byte for Q), the size of this file will be 1,000,000 * 2 = 2 MB (or 1.907 MB if you consider 1 MB = 1048576 bytes).
The IQ file input feature is automatically made available since Kaiju version v309 (17 Dec, 2021) for every user with a valid Kaiju License.
For more information about what is IQ data and IQ file, you can refer to: