CubicSDR/README.md

140 lines
5.3 KiB
Markdown
Raw Normal View History

2014-10-26 12:36:32 -04:00
CubicSDR
========
2014-11-17 20:44:11 -05:00
Cross-Platform Software-Defined Radio Application
Utilizes:
--------
- liquid-dsp (http://liquidsdr.org/ https://github.com/jgaeddert/liquid-dsp)
2014-12-11 23:04:07 -05:00
- 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 22:18:34 -05:00
- Osmocom RTLSDR (http://sdr.osmocom.org/trac/wiki/rtl-sdr)
2014-12-11 23:04:07 -05:00
- LodePNG (http://lodev.org/lodepng/)
2014-12-11 21:57:08 -05:00
- BMFont (http://www.angelcode.com/ http://www.angelcode.com/products/bmfont/)
- 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-01-12 00:42:03 -05:00
- [x] RTL-SDR
2015-01-20 18:38:19 -05:00
- [ ] rtl_tcp
2014-12-27 21:51:02 -05:00
- [ ] HackRF
- [ ] Whatever else I can get my hands on
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-02-25 21:17:38 -05:00
- [ ] Audio sample rate
- [ ] Device PPM
- [ ] Default preferences
- [ ] Audio defaults
- [ ] Device defaults
2015-02-25 20:24:56 -05:00
- [ ] Bookmarks
2014-11-17 20:44:11 -05:00
- Neat Visuals
2014-12-27 21:51:02 -05:00
- [x] Scope
- [x] Spectrum
- [x] Waterfall
2015-02-13 21:52:01 -05:00
- [ ] Audio Spectrum
2014-12-27 21:51:02 -05:00
- [ ] More 2D visuals
2015-03-05 23:40:29 -05:00
- [x] Add faint grid for sense of scale
2015-02-13 21:52:01 -05:00
- [ ] Indicate outer spectrum edges when zoomed
2014-12-27 21:51:02 -05:00
- [ ] 3D visuals
- 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
2015-02-23 20:49:31 -05:00
- [ ] Experimental, needs improvement
2015-01-02 22:52:29 -05:00
- [x] AM
- [x] LSB
- [x] USB
2015-01-10 12:46:37 -05:00
- [x] DSB
2015-02-13 21:52:01 -05:00
- [ ] RAW
2014-12-27 22:07:16 -05:00
- [ ] 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-02-13 21:52:01 -05:00
- [ ] Demodulator input filtering
- [ ] Audio filtering
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-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-01-20 18:38:19 -05:00
- Optimization
2015-02-12 02:17:13 -05:00
- [x] Eliminate large waterfall texture uploads
2015-01-20 18:38:19 -05:00
- [ ] Update visuals to OpenGL 3.x
- [ ] Resolve constant refresh on visuals that don't change often
- [ ] Resolve driver/platform vertical sync issues
- [ ] Group and divide IQ data distribution workload instead of 100% distribution per instance
2014-11-17 20:44:11 -05:00
Advanced Goals:
2015-02-27 23:02:11 -05:00
---------------
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
- Implement digital demodulation supported by liquid-dsp: (http://liquidsdr.org/doc/modem.html)
* PSK, DPSK, ASK, QAM, APSK, BPSK, QPSK, OOK, SQAM, Star Modem(?)
- 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
* Provide scriptable liquid-dsp modulation for trancievers?
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
- Select video features such as title/demodulation/scope/waterfall/etc
- Render to video from GL frames->ffmpeg/mencoder /w demodulated audio
2015-02-28 01:47:47 -05:00
- Accessability / Control
- USB/MIDI control surfaces
- Joystick / gamepad input
- Vibration / force-feeback
2015-03-05 23:40:29 -05:00
- Investigate compilation via emscripten using rtl_tcp for input
- Create self-contained web server+rtl_tcp 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
2014-11-17 20:44:11 -05:00
License:
-------
- GPL