/iq

I/Q file analysis toolkit in R

Primary LanguageRMIT LicenseMIT

iq

This package offers a convenient way to parse and analyze I/Q files like those produced by an RTL-SDR dongle.

See this R vignette for a description of some use cases.

Example

(this is the output of example.R)

Features

See the embedded R help system for the full reference. Here is an overview of the available functions:

  • Load from (iq::FromFile) and save to (iq::ToFile) plain or compressed binary files.

  • Cut and resample a signal (iq::Resample).

  • Extract ranges of complex I/Q values from the signal (iq::SampleRange) on-demand to avoid overloading the available memory.

  • Compute some common operations over complex I/Q values (iq::Magnitude, iq::Phase, etc.).

  • Perform power spectrum analysis (iq::Spectrum and iq::Spectrogram) of the signal using builtin (iq::Rectangular, iq::Hamming, etc.) or custom window functions.

Installation

Using devtools:

devtools::install_github('cyrus-and/iq')

Motivation

Although there are already a whole bunch of related software, I thought, as a newbie to the SDR world, that writing this library would be a good opportunity to both delve a bit into the unfamiliar topic of signal analysis and to gain some expertise on the R package development.

This is also an attempt to answer the question: "Well, I've captured something with rtl_sdr, now what?" which is probably obvious for someone in the field but quite confusing for newcomers.