RTL-SDR IndieGoGo sprint
T#100
(8)
Work on rtl_fm
Rtl_fm already supports a lot of features,
but there is still lots to do.
T#113
(7)
Trunking support
No one in my area uses trunking.
I may need interested people to provide recordings.
T#112
(7)
Multiple dongles (rtl_fm)
Demodulate any number of channels, anywhere in the spectrum.
Basic antenna diversity could come out of this too.
T#111
(7)
★
Multiple demodulators
Demodulate any number of channels that are within 2.4MHz.
T#194
(7)
Left+right mix
Demod two channels simultaneously.
One goes to the left stereo channel, the other to the right.
T#110
(7)
FIFO input/output
Also known as named pipes.
T#193
(7)
Arbitrary translation
[commit]
Rtl_fm uses a fixed 90 degree translation.
Multiple channels will need different amounts of translation.
T#105
(3)
★
Better squelch
Lots of room for improvement here, probably the #1 area of complaint.
T#107
(3)
Carrier/noise squelch
Only one type of squelch is supported,
other types exist and should be options.
T#191
(2)
Limit open squelch
A time maximum that a carrier can hold the squelch open.
T#180
(2)
Per-channel squelch
This might require using a channel configuration file.
T#167
(2)
Generate null audio on squelch
[commit]
Normally when squelch kicks in, the output is stopped.
This causes issues with streaming programs.
T#106
(2)
Linear squelch
[commit]
The present squelch option is dependent on every other option.
Make the squelch math unit-less and more consistent.
T#157
(3)
Networked rtl_fm
Allow rtl_fm to support all rtl_tcp features.
T#158
(3)
Clean up and merge rtl_udp
https://github.com/sysrun/rtl-sdr
T#160
(2)
Modular engine and modular config
Allow DSP to be chained together in an arbitrary fashion.
T#154
(2)
Fix oversampling
Oversample mode requires extra lowpasing in order to be effective.
T#114
(2)
Port to non-rtlsdr hardware
First, I would need access to the hardware in question.
Second, this could easily get very complicated very fast.
T#109
(2)
Carrier tracking
Signals with a well-defined carrier can be automatically tuned.
This could correct for thermal drift, doppler shift, or small typos.
T#108
(2)
RAW processing
Load and process pre-recorded raw iq streams.
T#196
(1)
Report scanning info
Some way of identifying which station is received.
T#187
(1)
Improve WBFM
WBFM support is currently the lowest quality to confirm a dongle is working.
T#189
(1)
Improved resampler
The present resampler is a pretty terrible boxcar filter.
Replace it with (at least) a CIC filter.
T#188
(1)
WBFM stereo mode
http://lists.osmocom.org/pipermail/osmocom-sdr/2013-September/000818.html
T#182
(1)
Detailed logging
Various levels of freq, timestamp, power, squelch.
T#179
(1)
Timestamped files
Create files such as 'freq_date_time.wav/raw'
(Only works with squelch.)
T#178
(1)
Track more information about channels
Information like last time seen, power level, per-channel squelch.
T#177
(1)
Fix '-F 9' filter
Produces a ticking sound in the audio at the buffer boundary.
T#166
(1)
Optional wav header
[commit]
Generate a header to make post-processing easier.
T#148
(1)
Better AM demod
[commit]
T#115
(1)
No-copy architecture
[commit]
Drastically reduce the amount of memory transfers performed.
T#186
(1)
Perform everything in-place
[commit]
Most of the code functions in-place, but none of the demodulators do.
T#164
(6)
Work on misc utilities
There are some gaps in the SDR tool chain.
T#165
(6)
Generic fsk/ask/ook demodulator
Audio stream in, raw bits out.
T#104
(6)
Work on librtlsdr
This is probably my weakest area and the most difficult section of code.
But I've written a bunch of usablity improvements and there are plenty more to do.
I can also do the boiler plate coding to transform your proof-of-concept patch into something likely to be merged.
T#146
(3)
Port reset/re-init on disconnect
Sometimes the USB will flake out.
Wouldn't it be nice if the library could power-cycle the USB port, restore the dongle's state and continue where it left off?
(Detected and handled automatically of course.)
T#142
(3)
'auto' as a valid gain value
There is no standard way to select automatic gain from the command line.
By using '-g auto', automatic gain can be forced.
T#143
(2)
Update safe max to 2.4MS/s
When most of rtl_foo was written, 2.8MS/s was the safe upper limit.
Now it has been found to actually be 2.4MS/s and everything requires small tweaks.
T#192
(0)
Gain options
http://lists.osmocom.org/pipermail/osmocom-sdr/2014-August/001347.html
T#190
(0)
Quiet mode for tuning errors
The new range tests generate hundreds of harmless errors.
T#169
(0)
Report true frequency when dithering
The PLL has a resolution of 439.45Hz when not dithering.
T#144
(0)
Warn when sampling above safe limit
During verbose operation, the library should produce a warning when sampling is dangerously high.
T#138
(0)
Man pages
I enjoy writing groff by hand and think everything should have a manpage.
This might be split into two subgoals, for the rtl_foo commands and rtl-sdr.h
T#176
(0)
merbanan's r820t range test
[commit]
T#168
(0)
Rebase old patches to HEAD
[commit]
Make things easy for the Osmocom guys to merge
T#145
(0)
Dithering option
[commit]
By default, the r820t will dither the PLL for more exact tuning.
Disabling this is required for phase-aligning multiple synchronized dongles.
T#141
(0)
Add units to rtl_sdr -n
[commit]
This option is missing K/M/G support.
T#140
(0)
Tejeez's retuning patches
[commit]
By reducing the amount of I2C overhead, tuning can happen 2.5x faster.
This will mostly benefit rtl_power and rtl_fm.
T#173
(0)
i2c repeater toggles
[commit]
Keep the i2x channel open while in use, instead of toggling.
T#172
(0)
i2c batching
[commit]
Send all changed registers in a single burst
T#171
(0)
Register caching
[commit]
Only update registers when they are changed
T#139
(0)
Tejeez's filter patches
[commit]
Tejeez has done a lot of great work with finding optimal filter registers for various bandwidths.
These might be chosen automatically or given a new API call.
T#103
(5)
Work on rtl_sdl
This was originally a little demo thrown together in three days.
It has the potential to be the fastest, lightest and easiest to build waterfall ever.
screenshot 1 screenshot 2
T#135
(4)
Constellation display
One of the simplest ways of ID-ing a modulation.
Plots the IQ pairs on an XY plane.
T#133
(5)
Band selection
Turn rtl-sdl into a real waterfall.
Mouse/keyboard controls to select a channel's freq and width.
T#137
(3)
Audio output
SDL provides a nice cross-platorm audio library.
Basically would merge rtl_fm into the waterfall.
T#133
(5)
Band selection
Turn rtl-sdl into a real waterfall.
Mouse/keyboard controls to select a channel's freq and width.
T#195
(2)
Remote control UI
Yes, the useless one.
(Feature may be linux-only, we'll see how WinLIRC goes.)
T#136
(2)
Autocorrelation display
Calculates the self-symmetry of a signal.
Very handy for deciding if a signal carries useful information.
T#134
(2)
Channel manager
Save your channels and quickly restore them.
T#132
(2)
Keyboard controls
Originally it was designed for a touch screen.
There are some non-sensical keybinds that map to the touch screen's hardware buttons.
T#131
(2)
Mouse zoom
There is no way to change the on-screen bandwidth.
Should also report the displayed bandwidth as well.
T#130
(2)
Window size detection
The screen size is fixed to the original demo hardware.
It does not yet detect full-screen or window resizing.
T#101
(5)
Work on rtl_power
A waterfall power logger, without the burden of a GUI.
T#122
(3)
Heatmap improvements
Heatmap was originally supposed to be a proof of concept.
It needs some work to become a serious plotting tool.
T#149
(2)
Stdin renders
Convert rtl_power output directly to a heatmap
without saving the CSV to disk.
T#151
(2)
Automatic image chunking
Every Y pixels, automatically save the image and start fresh.
T#150
(2)
Provide db limits on CLI
[commit]
Normally the min/max range requires a preliminary pass
Let the user provide the range and skip this pass.
T#123
(2)
Plot sub-sections
Given a frequency or time range, draw only that section of the data.
Should be capable of relative time, such as "last hour".
T#121
(1)
DLBB's satellite features
Places marks around where and when a satellite should be detectable.
T#175
(1)
pksato's time stamps
[commit]
Provide an interval and get time-ticks along the Y axis.
T#174
(1)
Up/down converter shift
[commit]
A command line option to offset the frequencies.
T#159
(1)
Tholin-style labeling
[commit]
T#153
(1)
Heatmap 24h rollover
[commit]
Runs that cross over midnight report an incorrect duration.
T#124
(1)
Smarter labeling
[commit]
Automatically scale the density/resolution of frequency labels
so there are always some visible and no overlap.
T#161
(2)
GNUPlot integration
Produce files that can be read directly by gnuplot.
T#126
(2)
Multiple dongles (rtl_power)
There are three cases to consider here:
1. Dongles == bands. Monitor all bands without hopping.
2. Dongles < bands. Hop in rotation.
3. Dongles > bands. Continuously monitor with most, hop with the remainder.
(It might be worthwhile to specify which dongles do which bands, for better antenna use.)
T#125
(2)
Multi-threading (rtl_power)
Right now rtl_power drops data while the FFT is being processed.
T#163
(1)
HDF5 support
HDF5 is a popular binary format for scientific data.
Most likely this would be a stand-alone filter and not integrated into rtl_power.c
T#118
(1)
Radio astronomy features
A lot of astronomy is measuring signal power, but rtl_power is not really suited for RA yet.
T#119
(1)
Linear output option
[commit]
Rtl_power only support a logarithmic db output scale.
An option for a linear scale would help with quantitative measurements.
T#117
(1)
Interactive heatmap
Wouldn't it be nice if a program could read the CSV directly,
without a length and memory-intensive conversion process?
Most importantly, it would give the exact time and frequency of a signal under your cursor.
T#184
(0)
Rtl_power activity summary
Convert an rtl_power CSV file into a time/freq/duration activity log.
Possible sub-task for making it operate real-time?
T#183
(0)
Flag for bandwidth control
There are several sample rates to meet a given FFT.
Default is fastest, make option for slowest.
T#181
(0)
Activity log
An external script that converts the csv to active timestamped frequencies.
T#185
(0)
Field for max sample rate
[commit]
A higher sample rate means less hops, a lower sample rate might have less imaging.
T#162
(0)
Measure multiple frequency ranges
[commit]
Multiple -f options should allow scanning of non-contiguous bands.
T#120
(0)
Fixed bins (variable crop)
[commit]
Rtl_power should give you the exact size of bin you ask for,
instead of fudging it to make the math easier.
T#116
(0)
Guide with examples
[commit]
A big long document with lots of pictures and examples of the most common use cases.
T#102
(4)
Work on rtl_adsb
A very small ADS-B demodulator.
Normally the output is piped to a plotting program.
T#129
(3)
2MS/s oversampling
Doubling the sample rate would improve the SNR by half a bit and pick up weaker, more distant signals.
It will also increase the CPU use 3x or 4x so this will be optional.
T#127
(3)
Message decoder
Right now it can only produce the raw ADS-B hex.
Instead, fully decode the message.
T#128
(2)
CRC corrections
At present it does no CRC checks.
If there are very few errors, it is possible to fix them and recover the message.
T#152
(1)
Network output for adsb
Provide an option to send output directly to an ip/port.
T#155
(3)
Work on rtl_tcp
Rtl_tcp lets remote control dongles and stream across networks.
T#170
(2)
GZ compress stream
Typically compresses by 7x.
T#156
(2)
Sharing/sniffing connections
Provide a mechanism for 3rd party programs to follow dongle state.
For example, to automatically switch antennas based on tuning range.
T#147
(0)
Automatic Windows build
[commit]
I occasionally make windows DLLs for those without compilers.
This could be done continuously and automatically for each commit.
(They'll be built with Mingw32. Maybe 64 bit as well.)