All Projects β†’ ha7ilm β†’ smallrx

ha7ilm / smallrx

Licence: AGPL-3.0 License
πŸ“» amateur radio receiver in <100 code lines

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to smallrx

Centsdr
CentSDR: tiny handheld standalone software defined receiver with LCD display.
Stars: ✭ 76 (+35.71%)
Mutual labels:  dsp, sdr
nfc-laboratory
NFC signal and protocol analyzer using SDR receiver
Stars: ✭ 41 (-26.79%)
Mutual labels:  dsp, sdr
Inspectrum
Radio signal analyser
Stars: ✭ 1,199 (+2041.07%)
Mutual labels:  dsp, sdr
Pysdr
A guide for using Python as a software-defined radio (SDR) framework, for extremely rapid development of SDR apps/research with beautiful GUIs
Stars: ✭ 60 (+7.14%)
Mutual labels:  dsp, sdr
newsched
The GNU Radio 4.0 Runtime Proof Of Concept
Stars: ✭ 19 (-66.07%)
Mutual labels:  dsp, sdr
Gr Adsb
GNU Radio OOT module for demodulating and decoding ADS-B packets
Stars: ✭ 61 (+8.93%)
Mutual labels:  dsp, sdr
Red Pitaya Notes
Notes on the Red Pitaya Open Source Instrument
Stars: ✭ 205 (+266.07%)
Mutual labels:  dsp, sdr
UA3REO-DDC-Transceiver
DDC/DUC SDR Tranceiver project
Stars: ✭ 93 (+66.07%)
Mutual labels:  dsp, sdr
composable-sdr
SDR DSP utilities embedded in Haskell
Stars: ✭ 26 (-53.57%)
Mutual labels:  dsp, sdr
MasterFrequencyList
Erics Master Frequency lists for RF tuning
Stars: ✭ 43 (-23.21%)
Mutual labels:  ham-radio, sdr
Btle
Bluetooth Low Energy (BLE) packet sniffer and transmitter for both standard and non standard (raw bit) based on Software Defined Radio (SDR).
Stars: ✭ 411 (+633.93%)
Mutual labels:  dsp, sdr
hftrx
Embedded firmware for ham radio transceivers
Stars: ✭ 27 (-51.79%)
Mutual labels:  ham-radio, sdr
Csdr
A simple DSP library and command-line tool for Software Defined Radio.
Stars: ✭ 358 (+539.29%)
Mutual labels:  dsp, sdr
Limesdr workshop
Intro to software-defined radio with LimeSDR workshop
Stars: ✭ 68 (+21.43%)
Mutual labels:  dsp, sdr
Noaa Apt
NOAA APT weather satellite image decoder, for Linux, Windows, RPi 2+ and OSX
Stars: ✭ 257 (+358.93%)
Mutual labels:  dsp, sdr
Wavesdr
macOS native desktop Software Defined Radio app
Stars: ✭ 144 (+157.14%)
Mutual labels:  dsp, sdr
1bitSDR
Minimal SDR with Lattice MachXO2 FPGA. And a port to Cyclone3 by Steven Groom
Stars: ✭ 53 (-5.36%)
Mutual labels:  ham-radio, sdr
Gnuradio
GNU Radio – the Free and Open Software Radio Ecosystem
Stars: ✭ 3,297 (+5787.5%)
Mutual labels:  dsp, sdr
ScratchRadio
Educational software for use with the LimeSDR platform
Stars: ✭ 64 (+14.29%)
Mutual labels:  dsp, sdr
adsb deku
✈️ Rust ADS-B decoder + tui radar application
Stars: ✭ 190 (+239.29%)
Mutual labels:  dsp, sdr

smallrx

This is an amateur radio receiver in no more than 100 lines of code.
(If we only count code, not the comments that make it easily understandable.)

It can receive AM/NFM/SSB transmissions with an RTL-SDR.

πŸ“Ί Presentation:

For more insight, you can watch the talk I gave on this project at SDRA-2018.

πŸ”  The block diagram of its internals:

   IQ samples from SDR HW -> [U8->float conversion] -> [Frequency translation] ----------+
                                                                                         |
   audio output <- [float->S16 conversion] <+- [FM demod] <-+ [Decimating FIR filter]  <-+
                                            +- [AM demod] <-+
                                            +- [SSB demod] <+

By default, it requires a 240 ksps complex U8 input signal, and generates a 48 ksps S16 output audio signal.

πŸ”¨ To build:

git clone https://github.com/ha7ilm/smallrx
cd smallrx
make

#️⃣ Command line parameters:

./rx <centeri_frequency_in_hz> <receiver_frequency_in_hz> <l[sb]|u[sb]|a[m]|f[m]>

🎧 To demodulate NFM at 145.325 MHz using an RTL-SDR:

rtl_sdr -f145300000 - | ./rx 145300000 145325000 f | aplay -c1 -fS16_LE -r48000

🎧 To demodulate AM at 0.873 MHz using a HackRF:

hackrf_transfer -s 2400000 -f 893000 -a1 -r- | csdr convert_s8_f | csdr fir_decimate_cc 10 | csdr gain_ff 30 | csdr convert_f_u8 | ./rx 893000 873000 a | mplayer -cache 1024 -quiet -rawaudio samplesize=2:channels=1:rate=48000 -demuxer rawaudio -

πŸš€ To test throughput:

cat /dev/urandom | ./rx 145300000 145325000 f | csdr through > /dev/null

πŸ“˜ Notes:


Contributors

  • AndrΓ‘s Retzler, HA7ILM
  • Zsolt KrΓΌpl, HG2ECZ, @hg2ecz
  • ÁdΓ‘m Kiss, HA8KDA, @kissadamfkut
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].