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]

Mostly this requires some form of auto-gain.

https://github.com/kevinbentley/rtl_sdr.git The AM demod is literally weak. Almost silent.Mostly this requires some form of auto-gain.

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]

https://github.com/merbanan/rtl_sdr_r820t Find upper and lower limits of the tuner.

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

It has the potential to be the fastest, lightest and easiest to build waterfall ever.

screenshot 1 screenshot 2 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.

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] http://erewhon.superkuh.com/tholin_rtlsdr.png

Just the top 'tape measure', though the bottom could be scripted. Just the top 'tape measure', though the bottom could be scripted.

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.