2014-10-26 12:36:32 -04:00
|
|
|
CubicSDR
|
|
|
|
========
|
|
|
|
|
2014-11-17 20:44:11 -05:00
|
|
|
Cross-Platform Software-Defined Radio Application
|
|
|
|
|
2015-10-19 15:07:15 -04:00
|
|
|
Please see the [CubicSDR GitHub Wiki](https://github.com/cjcliffe/CubicSDR/wiki) for build instructions.
|
|
|
|
|
2014-11-17 20:44:11 -05:00
|
|
|
Utilizes:
|
|
|
|
--------
|
2015-10-14 19:00:16 -04:00
|
|
|
- liquid-dsp (http://liquidsdr.org/ -- https://github.com/jgaeddert/liquid-dsp)
|
|
|
|
- SoapySDR (http://www.pothosware.com/ -- https://github.com/pothosware/SoapySDR)
|
|
|
|
- FFTW (http://www.fftw.org/ -- https://github.com/FFTW/fftw3)
|
|
|
|
- RtAudio (http://www.music.mcgill.ca/~gary/rtaudio/ -- http://github.com/thestk/rtaudio/)
|
2014-12-11 23:04:07 -05:00
|
|
|
- LodePNG (http://lodev.org/lodepng/)
|
2015-10-14 19:00:16 -04:00
|
|
|
- BMFont (http://www.angelcode.com/ -- http://www.angelcode.com/products/bmfont/)
|
2014-12-11 21:57:08 -05:00
|
|
|
- Bitstream Vera font (http://en.wikipedia.org/wiki/Bitstream_Vera)
|
2014-12-11 23:04:07 -05:00
|
|
|
- OpenGL (https://www.opengl.org/)
|
|
|
|
- wxWidgets (https://www.wxwidgets.org/)
|
2014-11-17 20:44:11 -05:00
|
|
|
- CMake (http://www.cmake.org/)
|
|
|
|
|
2015-02-27 23:02:11 -05:00
|
|
|
Features and Status:
|
|
|
|
--------------------
|
2014-11-17 20:44:11 -05:00
|
|
|
- Simple UI
|
2014-12-27 21:51:02 -05:00
|
|
|
- Devices
|
2015-10-14 19:00:16 -04:00
|
|
|
- [x] SoapySDR Device support (known working checked)
|
|
|
|
- [x] SoapySDRPlay for SDRPlay (Maintained by C.J.)
|
|
|
|
- [x] SoapyRTLSDR for RTL-SDR (Maintained by C.J.)
|
|
|
|
- [x] SoapyHackRF for HackRF
|
|
|
|
- [x] SoapyBladeRF for BladeRF
|
2015-11-09 18:39:12 -05:00
|
|
|
- [ ] SoapyUHD for Ettus USRP (untested)
|
2015-10-14 19:00:16 -04:00
|
|
|
- [x] SoapyRemote, use any SoapySDR Device via network (works on Pi)
|
2015-11-09 18:39:12 -05:00
|
|
|
- [ ] SoapyAirSpy (WIP by C.J.)
|
|
|
|
- [ ] SoapyAudio (WIP by C.J.)
|
2015-10-14 19:00:16 -04:00
|
|
|
- [x] SoapyOsmo for GrOsmoSDR devices
|
|
|
|
- [ ] OsmoSDR
|
|
|
|
- [ ] MiriSDR
|
|
|
|
- [ ] RFSpace
|
|
|
|
- [x] AirSpy
|
2015-02-25 20:24:56 -05:00
|
|
|
- Basic Features
|
2015-01-12 00:42:03 -05:00
|
|
|
- [x] Device Selection
|
|
|
|
- [x] Bandwidth
|
2015-01-11 03:11:09 -05:00
|
|
|
- [x] Color scheme
|
2015-01-10 12:46:37 -05:00
|
|
|
- [x] Load/Save session
|
2015-04-23 20:16:48 -04:00
|
|
|
- [x] Audio sample rate
|
|
|
|
- [x] Device PPM
|
2015-10-14 19:00:16 -04:00
|
|
|
- [x] Waterfall speed
|
|
|
|
- [x] Spectrum average speed
|
2015-11-09 18:39:12 -05:00
|
|
|
- [x] Gain Controls
|
2015-10-14 19:00:16 -04:00
|
|
|
- [ ] Bookmarks
|
|
|
|
- [ ] History
|
2015-02-25 21:17:38 -05:00
|
|
|
- [ ] Default preferences
|
|
|
|
- [ ] Audio defaults
|
2015-08-02 22:16:01 -04:00
|
|
|
- [x] Device defaults
|
2015-11-09 18:39:12 -05:00
|
|
|
- [ ] Run any device as rtl_tcp server and visualize control
|
2014-11-17 20:44:11 -05:00
|
|
|
- Neat Visuals
|
2015-08-02 22:16:01 -04:00
|
|
|
- [ ] 2D visuals
|
|
|
|
- [x] Y Scope
|
|
|
|
- [x] Spectrum
|
|
|
|
- [x] Waterfall
|
2015-03-05 23:40:29 -05:00
|
|
|
- [x] Add faint grid for sense of scale
|
2015-08-29 07:46:11 -04:00
|
|
|
- [x] Audio Spectrum
|
2015-12-01 22:19:40 -05:00
|
|
|
- [x] X/Y Scope
|
2015-02-13 21:52:01 -05:00
|
|
|
- [ ] Indicate outer spectrum edges when zoomed
|
2014-12-27 21:51:02 -05:00
|
|
|
- [ ] 3D visuals
|
2015-08-02 22:16:01 -04:00
|
|
|
- [ ] I/Q helix
|
2014-12-27 21:51:02 -05:00
|
|
|
- Demodulation:
|
2015-03-05 23:40:29 -05:00
|
|
|
- [ ] Basic modular expansion
|
2014-12-27 21:51:02 -05:00
|
|
|
- [x] Multiple demodulators per IQ stream
|
2014-12-31 21:34:05 -05:00
|
|
|
- [x] Audio device selection
|
2015-01-02 22:53:03 -05:00
|
|
|
- [x] Modes
|
2014-12-27 21:51:02 -05:00
|
|
|
- [x] FM
|
2015-01-02 22:52:29 -05:00
|
|
|
- [x] FM stereo
|
|
|
|
- [x] AM
|
|
|
|
- [x] LSB
|
|
|
|
- [x] USB
|
2015-01-10 12:46:37 -05:00
|
|
|
- [x] DSB
|
2015-08-02 22:16:01 -04:00
|
|
|
- [x] I/Q
|
2015-11-09 18:39:12 -05:00
|
|
|
- [x] Controls
|
2015-01-10 12:46:37 -05:00
|
|
|
- [x] Display Frequency and allow manual adjustments
|
2015-01-02 22:52:29 -05:00
|
|
|
- [x] Allow selection of demodulation type
|
2014-12-31 21:34:05 -05:00
|
|
|
- [x] Display separate zoomed-in view of current waterfall and spectrum, allow adjustments
|
|
|
|
- [x] Display signal level and allow squelch control
|
|
|
|
- [x] Display audio output selection
|
2015-01-12 00:42:03 -05:00
|
|
|
- [x] Volume control
|
2015-08-02 22:16:01 -04:00
|
|
|
- [x] Direct frequency input
|
2015-08-29 07:46:11 -04:00
|
|
|
- [x] Mute
|
2014-12-27 21:51:02 -05:00
|
|
|
- Basic Input Controls
|
|
|
|
- [x] Drag spectrum to change center frequency
|
2014-12-27 22:07:16 -05:00
|
|
|
- [x] Hold shift and click on waterfall to create a new demodulator
|
|
|
|
- [x] Clicking waterfall adds new demodulator when none visible
|
|
|
|
- [x] Drag center of demodulator on waterfall to change frequency
|
|
|
|
- [x] Drag edge of demodulator on waterfall to change bandwidth
|
|
|
|
- [x] Double-Click to move demodulator to frequency within it's current range
|
|
|
|
- [x] Hold alt and drag range on waterfall to set demodulator frequency + bandwidth
|
|
|
|
- [x] Hold alt+shift and drag range on waterfall for a new demodulator
|
|
|
|
- [x] Hover demodulator on waterfall and press 'space' to toggle stereo
|
|
|
|
- [x] Hover demodulator on waterfall and press 'd' or 'delete' to delete it
|
2014-12-27 21:51:02 -05:00
|
|
|
- [x] Keyboard arrows adjust frequency, shift for faster change
|
2014-12-27 22:07:16 -05:00
|
|
|
- [ ] Undo / Redo action
|
2015-02-27 22:56:50 -05:00
|
|
|
- I/Q Recording and playback
|
2014-12-27 21:51:02 -05:00
|
|
|
- [ ] Recording
|
2015-08-14 21:50:44 -04:00
|
|
|
- [ ] Record waterfall output to PNG file chunks of desired height
|
2015-02-27 22:56:50 -05:00
|
|
|
- [ ] Record I/Q input data
|
|
|
|
- [ ] Simultaneously record demod decimated I/Q and audio
|
2014-12-27 21:51:02 -05:00
|
|
|
- [ ] Playback
|
|
|
|
- Audio
|
|
|
|
- [ ] Recording
|
2015-07-17 18:10:02 -04:00
|
|
|
- Implement digital demodulation supported by liquid-dsp: (http://liquidsdr.org/doc/modem.html)
|
|
|
|
- [ ] Demodulator Lab
|
2015-08-02 22:16:01 -04:00
|
|
|
- [ ] Demodulator I/Q input filtering
|
|
|
|
- [ ] Audio output filtering
|
2015-07-17 18:10:02 -04:00
|
|
|
- [ ] Toggle current demodulator exclusively into "Lab" mode
|
|
|
|
- [ ] Additional visualizations for audio and I/Q stream
|
|
|
|
- [ ] Audio Spectrum
|
|
|
|
- [ ] Constellation / X-Y Scope
|
|
|
|
- [ ] Digital demodulation status and controls
|
|
|
|
- [ ] Demodulator AGC, Equalization controls
|
|
|
|
- [ ] Lock AGC and Equalization when digital lock obtained
|
|
|
|
- [ ] Digital output
|
|
|
|
- [ ] Output console
|
|
|
|
- [ ] Capture file (auto?)
|
|
|
|
- [ ] Network output
|
|
|
|
- [ ] Block device output
|
|
|
|
- [ ] Digital modes available to implement
|
|
|
|
- [ ] PSK
|
|
|
|
- [ ] DPSK
|
|
|
|
- [ ] ASK
|
|
|
|
- [ ] QAM
|
|
|
|
- [ ] APSK
|
|
|
|
- [ ] BPSK
|
|
|
|
- [ ] QPSK
|
|
|
|
- [ ] OOK
|
|
|
|
- [ ] SQAM
|
|
|
|
- [ ] Star Modem
|
|
|
|
- [ ] MFSK
|
|
|
|
- [ ] CPFSK
|
2015-01-20 18:38:19 -05:00
|
|
|
- Optimization
|
2015-02-12 02:17:13 -05:00
|
|
|
- [x] Eliminate large waterfall texture uploads
|
2015-08-02 22:16:01 -04:00
|
|
|
- [ ] Update visuals to OpenGL 3.x / OpenGL ES
|
2015-09-11 00:04:22 -04:00
|
|
|
- [x] Resolve constant refresh on visuals that don't change often
|
2015-08-02 22:16:01 -04:00
|
|
|
- [ ] Resolve all driver/platform vertical sync issues
|
2015-11-09 18:39:12 -05:00
|
|
|
- [x] Group and divide IQ data distribution workload instead of 100% distribution per instance
|
2014-11-17 20:44:11 -05:00
|
|
|
|
2015-07-17 18:10:02 -04:00
|
|
|
|
|
|
|
Advanced Goals and ideas:
|
|
|
|
------------------------
|
2015-03-05 23:40:29 -05:00
|
|
|
- Design a plan for expansion via modules (dylib/dll/lua)
|
2015-02-06 18:37:07 -05:00
|
|
|
- Support shell-based stdin/stdout tools for direct output/playback to/from CLI audio processing apps (i.e. DSD on OSX)
|
2015-01-20 18:38:19 -05:00
|
|
|
- Update visuals to support OpenGL ES
|
2014-11-17 20:44:11 -05:00
|
|
|
- Basic demodulator filter(s) that can be enabled and tweaked visually
|
|
|
|
- Support multiple simultaneous device usage
|
|
|
|
* Categorize devices by antenna connections
|
|
|
|
* Allow locked frequencies to activate unused devices to continue demodulation on same antenna
|
|
|
|
- Integrate LUA
|
|
|
|
* Expose liquid-dsp functionality
|
|
|
|
* Scriptable liquid-dsp demodulation
|
|
|
|
* Scriptable digital demodulation output handlers
|
|
|
|
- Create block output devices on *nix?
|
|
|
|
- Create socket outputs?
|
|
|
|
- Visual outputs?
|
|
|
|
* Take control of additional devices and spawning new demodulators (i.e. trunkers)
|
|
|
|
* Script manager / live editor
|
2015-10-19 14:57:11 -04:00
|
|
|
* Provide scriptable liquid-dsp modulation for transceivers?
|
2015-08-02 22:16:01 -04:00
|
|
|
* Allow scripts to launch/run headless (no UI)
|
2015-02-06 18:39:30 -05:00
|
|
|
- "PVR" like mode with waterfall time shifting
|
2015-02-13 21:52:01 -05:00
|
|
|
- L/R and surround-sound balance settings for separating and listening to mono streams
|
2015-02-27 22:56:50 -05:00
|
|
|
- Add tool for converting decimated I/Q recording to video
|
2015-10-19 14:57:11 -04:00
|
|
|
- Select video features such as title/demodulation/scope/waterfall/etc.
|
2015-02-27 22:56:50 -05:00
|
|
|
- Render to video from GL frames->ffmpeg/mencoder /w demodulated audio
|
2015-10-19 14:57:11 -04:00
|
|
|
- Accessibility / Control
|
2015-02-28 01:47:47 -05:00
|
|
|
- USB/MIDI control surfaces
|
|
|
|
- Joystick / gamepad input
|
|
|
|
- Vibration / force-feeback
|
2015-11-09 18:39:12 -05:00
|
|
|
- Investigate compilation via emscripten using SoapyRemote for input
|
|
|
|
- Create web server+SoapyRemote bundle for embedded devices
|
2015-03-05 23:41:22 -05:00
|
|
|
- Use emscripten compiled CubicSDR via embedded web server
|
2014-11-17 20:44:11 -05:00
|
|
|
|
|
|
|
Target Platforms:
|
|
|
|
----------------
|
2014-12-27 22:07:16 -05:00
|
|
|
- [x] OSX
|
|
|
|
- [x] Windows
|
2015-01-19 19:33:49 -05:00
|
|
|
- [x] Linux
|
2015-03-05 23:48:52 -05:00
|
|
|
- [ ] HTML5
|
2014-11-17 20:44:11 -05:00
|
|
|
|
|
|
|
|
|
|
|
License:
|
|
|
|
-------
|
|
|
|
- GPL
|