jgibbard / Iqtool
Licence: unlicense
A python application for generating and viewing quadrature IQ binary files. Intended for use with software defined radios and lab test equipment.
Stars: ✭ 25
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Iqtool
Gnss Sdr
GNSS-SDR, an open-source software-defined GNSS receiver
Stars: ✭ 801 (+3104%)
Mutual labels: sdr, signal-processing
Rtl 433
Program to decode radio transmissions from devices on the ISM bands (and other frequencies)
Stars: ✭ 3,379 (+13416%)
Mutual labels: sdr, signal-processing
vor-python-decoder
Decodes VOR signal from WAV file to get the bearing to your position
Stars: ✭ 33 (+32%)
Mutual labels: signal-processing, sdr
Luaradio
A lightweight, embeddable software-defined radio framework built on LuaJIT
Stars: ✭ 509 (+1936%)
Mutual labels: sdr
Madmom
Python audio and music signal processing library
Stars: ✭ 728 (+2812%)
Mutual labels: signal-processing
Qspectrumanalyzer
Spectrum analyzer for multiple SDR platforms (PyQtGraph based GUI for soapy_power, hackrf_sweep, rtl_power, rx_power and other backends)
Stars: ✭ 677 (+2608%)
Mutual labels: sdr
Salamandra
Salamandra is a tool to find spy microphones that use radio freq to transmit. It uses SDR.
Stars: ✭ 657 (+2528%)
Mutual labels: sdr
Ruptures
ruptures: change point detection in Python
Stars: ✭ 654 (+2516%)
Mutual labels: signal-processing
Sincnet
SincNet is a neural architecture for efficiently processing raw audio samples.
Stars: ✭ 764 (+2956%)
Mutual labels: signal-processing
Sparrow Wifi
Next-Gen GUI-based WiFi and Bluetooth Analyzer for Linux
Stars: ✭ 525 (+2000%)
Mutual labels: sdr
Openwebrx
Open source, multi-user SDR receiver software with a web interface
Stars: ✭ 813 (+3152%)
Mutual labels: sdr
Trunk Recorder
Records calls from a Trunked Radio System (P25 & SmartNet)
Stars: ✭ 505 (+1920%)
Mutual labels: sdr
iqtool
A set of python applications for generating and viewing quadrature IQ binary files. Intended for use with software defined radios and lab test equipment.
Requirements
- Tested with Python 2.7 and 3.6.
- Requires numpy and matplotlib.
iqgen
Generates an binary IQ file of a user specified size.
Usage: python iqgen.py numberOfSamples
Settings
Signal type
iqgen can generate files with three types of signal:
- Impulse signal [-i] (Default).
- Tone signal [-t Freq (Hz)].
- Random signal [-r].
Sample rate
- When generating the tone signal the sample rate can be specified using the [-fs FREQUENCY (Hz)] option.
- By default the sample rate is set to 1 MHz.
Data format
- The output data type can be set to [int8 | int16 | int32 | float16 | float32 | float64] using the [-f DATAFORMAT] option.
- By default the output type is set to int16.
Output amplitude
- The amplitude of each signal can be set using the [-a AMPLITUDE] option.
- By default the amplitude is set to the full scale value to the selected data type.
Endianness
- By default the endian is set to little endian.
- Big endian output can be selected using [-be].
Output order
- By default the I value is saved into the output file first.
- Q can be saved first by using the option [-qi].
Output file name
- A suitable output filename is automatically generated based on the options selected.
- The default filename can be overridden using the [-o FILENAME] option.
iqplot
Plots the I and Q data from a user specified binary file.
Usage: python iqplot.py filename
Settings
Offset
- The offset in bytes from the beginning of the file can be set using the [-o OFFSET (bytes)] option.
- This can be used to skip headers, etc at the beginning of the binary file.
- By default the offset is set to 0.
Plot Start Sample
- The start sample can be set using the [-s STARTSAMPLE] option.
- This can be used in combination with the NUMBEROFSAMPLES option to only plot a specific part of a file.
- By default the start sample is set to 0.
Number of samples to plot
- The number of sample to plot is set using the [-n NUMBEROFSAMPLES] option.
- By default all samples from the STARTSAMPLE to the end of the file will be plotted.
Sample rate
- When the sample rate can be specified using the [-fs FREQUENCY (Hz)] option.
- Setting the sample rate allows the the time and frequency axis labels to be correctly set.
Data format
- The input data type can be set to [int8 | int16 | int32 | uint8 | uint16 | uint32 | float16 | float32 | float 64] using the [-f DATAFORMAT] option.
- By default the data type is set to int16.
Endianness
- By default the endian is set to little endian.
- Big endian output can be selected using [-be].
Output order
- By default the I value is assumed to be the first sample in the input file.
- If Q is the first sample in the input file then use the option [-qi].
Plot Type
- By default a time domain plot of the I and Q data will be displayed.
- A power spectral density plot can be displayed using the option -p psd.
- A spectrogram plot can be displayed using the option -p spec.
FFT Window Type
- The window used for the psd or spectrogram plots can be set to [rectangular | bartlett | blackman | hamming | hanning] using the command [-w WINDOWTYPE].
FFT Width
- When displaying a spectrogram plot the FFT width should be set using the option -fw FFTWIDTH.
- The overlap between each FFT in the spectrogram is set to FFTWIDTH/10.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].