I'm pleased to announce that I have finally uploaded my AudioSDR project to Github here. I've had it working for many months now, but wanted to give it a good workout before releasing it.
AudioSDR is a single-block, Teensy Audio Library compatible, signal processor/demodulator for use in direct-conversion software-defined-radio (SDR) systems. It provides high quality demodulation for LSB, SSB, AM (using envelope detection or SAM), CW (using both LSB and USB modes), and WSPR. It is designed to work at the standard Teensy Audio Library sampling rate of 44.1kHz, uses the standard 128 sample block size, and uses the Teensy Audio Board's I2S inputs and outputs.
In its most basic form it requires no other Audio objects to produce a minimal functional system.
The AudioSDR block has the following features:
- It uses floating point (f32) processing throughout the signal processing chain.
- It is a dual-conversion receiver with an intermediate frequency (IF) at approximately 7kHz, and has mode dependent IF filters.
- It contains demodulators for single-sideband (USB and LSB), AM/SAM), and has a WSPR (Weak-Signal-Propagation-Reporter) mode.
- It includes an impulse noise-blanker with adjustable threshold.
- It has AGC with variable attack, release and hang times.
- It contains an ALS (adaptive-least-squares) automatic notch/peak lter.
- It (currently) has nine selectable audio output band-pass filters.
- Because it uses floating point it is only suitable for use with the Teensy 3.6 (and hopefully, the T4)
AudioSDR is not a complete SDR receiver: it requires a quadrature (IQ) rf front-end such as a Soft-Rock or QRP Labs Receiver Module. Nor does it (deliberately) address the issue of a front panel with switches/tuning-control/display etc. An extensive set of public functions is provided to control all aspects of the operation. The package also includes a couple of useful audio-blocks, one of which will detect and correct the random Teensy I2S input alignment bug. A detailed pdf document is provided. and some simple stand alone demos are provided. (I've also included some short audio clips)
If anybody wants to try it, I'll be delighted to work with you. It is - and always will be - a work-in-progress, and I invite collaboration with anyone who is interested.
I am working on implementing AudioSDR on the T4 as we speak. I am starting by implementing the stand-alone (no controls) WSPR receiver that is included in the package.
Derek
AudioSDR is a single-block, Teensy Audio Library compatible, signal processor/demodulator for use in direct-conversion software-defined-radio (SDR) systems. It provides high quality demodulation for LSB, SSB, AM (using envelope detection or SAM), CW (using both LSB and USB modes), and WSPR. It is designed to work at the standard Teensy Audio Library sampling rate of 44.1kHz, uses the standard 128 sample block size, and uses the Teensy Audio Board's I2S inputs and outputs.
In its most basic form it requires no other Audio objects to produce a minimal functional system.
The AudioSDR block has the following features:
- It uses floating point (f32) processing throughout the signal processing chain.
- It is a dual-conversion receiver with an intermediate frequency (IF) at approximately 7kHz, and has mode dependent IF filters.
- It contains demodulators for single-sideband (USB and LSB), AM/SAM), and has a WSPR (Weak-Signal-Propagation-Reporter) mode.
- It includes an impulse noise-blanker with adjustable threshold.
- It has AGC with variable attack, release and hang times.
- It contains an ALS (adaptive-least-squares) automatic notch/peak lter.
- It (currently) has nine selectable audio output band-pass filters.
- Because it uses floating point it is only suitable for use with the Teensy 3.6 (and hopefully, the T4)
AudioSDR is not a complete SDR receiver: it requires a quadrature (IQ) rf front-end such as a Soft-Rock or QRP Labs Receiver Module. Nor does it (deliberately) address the issue of a front panel with switches/tuning-control/display etc. An extensive set of public functions is provided to control all aspects of the operation. The package also includes a couple of useful audio-blocks, one of which will detect and correct the random Teensy I2S input alignment bug. A detailed pdf document is provided. and some simple stand alone demos are provided. (I've also included some short audio clips)
If anybody wants to try it, I'll be delighted to work with you. It is - and always will be - a work-in-progress, and I invite collaboration with anyone who is interested.
I am working on implementing AudioSDR on the T4 as we speak. I am starting by implementing the stand-alone (no controls) WSPR receiver that is included in the package.
Derek