In a previous post back in September 2017 Stefan Scholl (DC9ST) treated us to a very interesting write up about how to localize transmitters to within a few meters using time difference of arrival (TDOA) techniques with multiple RTL-SDR dongles spread out over an area.
- What signal parameters influence the quality of the correlation? - Which type of correlation calculations are available (four) - Which are suitable with RTL-SDRs, considering noise and phase and frequency offset?
Stefan writes that his findings could be interesting to people interested in the following techniques:
- TDOA localization - Synchronizing several RTL-SDRs - Passive Radar
The ADALM-Pluto (aka PlutoSDR) is a US$149 TX/RX capable SDR that we have posted about several times in the past. It has a tuning range from 70 MHz to 6000 MHz with a bandwidth of up to 56 MHz (with software hack applied). One additional useful feature on the PlutoSDR is it's built in ARM CPU, which can be used to run programs on board the SDR itself.
Over on his blog Mike has shown how he implemented simple passive radar code on the PlutoSDR's ARM processor. This means that no PC or other hardware is required to process the data, the entire script can be run via a SSH connection to the PlutoSDR. Mike doesn't seem to have shared his script anywhere, but one of his previous posts explains the process. The script creates the video in real time on board the PlutoSDR's ARM CPU, which is then streamed via ffplay to a PC with a screen. On his second post Mike shows some extra videos of passive radar working with FM Broadcast and DVB-T signals.
Passive radar is a radio technique allows you to detect and track RF reflective objects such as aircraft using strong signals from already existing transmission towers, such as broadcast FM or DVB-T signals.
We are considering building a new multi-purpose RTL-SDR product. The idea is to make several difficult to achieve applications and projects much more accessible. We are looking to implement the following ideas:
3x on-board coherent RTL-SDRs built into the PCB
4x SMA inputs: 3x individual inputs, 1x common input (switched between the two).
All RTL-SDRs connected to the same clock source – enables coherent experiments
All RTL-SDR feature sets and performance equivalent to RTL-SDR V3 or better
On-board noise source and directional coupler
Useful for correlation with rtl_coherent
Measure filter characteristics, and get rough SWR antenna readings.
Noise source able to be switched in and out via silicon switches
Useful with rtl_coherent and other coherent experiments for cross correlation timing correction. This allows for accurate direction finding.
Ability to mount onto a Raspberry Pi 3, and provide an ESD protected, buffered and filtered output for RpiTX transmissions. (a PCB plugin filter specific to the transmission frequency would need to be installed onto PCB to use this feature)
With a filter installed the board can be connected to an antenna and used with RpiTX for simple transmissions.
Go portable with an Raspberry Pi 3 compatible HDMI LCD screen and a battery pack. Possible HackRF portapack alternative.
Multi-band RTL-SDR applications
One RTL-SDR receiving NOAA, one receiving ADS-B, one scanning the air band.
Easy trunk tracking with 2x RTL-SDR. Third RTL-SDR used for something else.
One streaming NOAA weather, one scheduled to receive NOAA/Meteor sats and weather balloons, one receiving Outernet weather updates.
RF direction finding
Possible radio astronomy applications?
Noise source applications
VSWR meter with directional coupler
Raspberry Pi mount applications
Replay attacks and security analysis of ISM band devices with RpiTX and an ISM band filter.
Transmitting WSPR with WSPRpi.
Portable if used with a small HDMI screen and battery pack.
Possible control of board via an Android app.
Similar applications to the HackRF Portapack idea.
Multi-band noise locator if a GPS is added to the Pi. e.g. See Tim Havens’ ‘Driveby’ concept.
The idea is still in the concept stages so we’re looking for any feedback from the community to see if this is even something that people would want.
Would a receiver board like this interest anyone? We would also work on providing basic ready to go software on a downloadable image file for the Raspberry Pi 3 so starting an app would be as easy as using a launcher. We would also provide various tutorials as well.
The target price would be $99 USD. If you think this is too much, please let us know what you would expect to pay in the comments.
Are there any additional features that anyone requests? Please let us know in the comments.
Marcus Herber is a 4th year electrical engineering student at the University of Queensland, Australia. For his final year thesis he set out to build a real time RTL-SDR based passive radar with clutter suppression and automatic target acquisition. On YouTube he’s uploaded a video that gives a quick overview and demonstration of his project. The description reads:
For my final year electrical engineering thesis, I developed a real-time passive radar system with clutter suppression and target acquisition. This was mainly able to be achieved through the use of GPU computing, with CUDA. With any slight improvement of the following hardware (especially the GPU), the system would be able to perform much faster, and increase the number of frames per second. Choosing a slightly better GPU would also allow for a better SDR, with a faster sampling rate.
All the signal processing and the algorithm was done in Python 3, with the Anaconda distribution.
Passive radar works by looking for signals being reflected off objects such as aircraft. Strong signals from broadcast towers can easily be reflected off an aircraft towards a directional antenna, then correlated with the broadcast signal received from another antenna. Then with some clever processing the relative speed and distance of the object can be determined.
Coherent-receiver.com is a company which is a customer of our RTL-SDR V3 dongle and they have been working on creating a multi-channel coherent receiver product based on the RTL-SDR. An RTL-SDR multi-channel coherent receiver is at its most basic, two or more RTL-SDR dongles (multi-channel) that are running from a single clock source (coherent). A multi-channel coherent receiver allows signal samples from two different antennas to be synchronized against time, allowing for all sorts of interesting applications such as passive radar and direction finding.
The team at coherent-receiver.com have used the new expansion headers on our V3 dongles to create their product. In their receivers they attach a control board which has a buffered 0.1 PPM TCXO (buffered so it can power multiple RTL-SDR’s). They also added an 8-bit register and I2C connection capabilities which allows for control of future add-on boards. The I2C capability is useful because it means that several RTL-SDR dongles can be controlled and tuned from the same control signal. More information on the registers and build of the receiver control board can be seen on their technical support page.
One example application of a multi-channel coherent receiver is passive radar. Coincidentally, we’ve just seen the release of new GUI based Passive Radar software by Dr. Daniel Michał Kamiński in yesterdays post. Passive radar works by listening for strong signals bouncing off airborne objects such as planes and meteors, and performing calculations on the signals being received by two antennas connected to the multi-channel coherent receiver.
A second example is direction finding experiments. By setting up several antennas connected to a multichannel coherent receiver calculations can be made to determine the direction a signal is coming from. An interesting example of direction finding with three coherent RTL-SDRs can be seen in this previous post. A third example application is pulsar detection which we have seen in this previous post.
Coherent-receiver.com sent us a prototype unit that they made with four of our V3 dongles. In testing we found that the unit is solidly built and works perfectly. We tested it together with Dr. Kamiński’s passive radar software and it ran well, however we do not have the correct directional antennas required to actually use it as a passive radar yet. In the future we hope to obtain these antennas and test the coherent receiver and the software further.
Currently they do not have pricing for these models as it seems that they are first trying to gauge interest in the product. If you are interested in purchasing or learning more they suggest sending an email to [email protected] It seems that they are also working on additional RTL-SDR ecosystem products such as filters, downconverters, antennas and LNAs.
We hope that the release of this product and Dr. Kamiński’s software will give a boost to the development of coherent multi-channel receivers as we have not seen much development in this area until recently.
Dr. Daniel Michał Kamiński, author of two SDR# plugins has recently released a new passive radar program for the RTL-SDR called “SDRDue”. Passive radar is a technique that makes use of signals from strong distant transmitters. The idea is that these signals can be reflected off the fuselage of aircraft or other flying objects, and the reflection can be observed by a passive radar receiver. By correlating data from two receivers and two antennas, more accurate positional data can be obtained.
For passive radar to work properly the receivers should be coherent, meaning that they run from the same clock and have synchronized samples. The RTL-SDR can be made coherent by connecting two dongles to a single clock source.
The software runs on multi-threaded C# code, and uses Microsoft XNA 4.0 for the graphical operations. It also supports GPU parallel calculations if you have OpenCL and an AMD graphics card.
Please note that we attempted to run the program, but it would not even open on our PC. We’ve contacted the author to ask if there is any known problems. If anyone gets it running please report back in the comments section of this post. EDIT: Daniel has updated the software and it appears to be functioning normally now. You will need to install it into a SDR# folder, and run SDR# first with both dongles before the software will recognise the dongles in SDRDue. We also had better luck with using the rtlsdr.dll_ file, rather than the default rtlsdr.dll file. Just delete the original rtlsdr.dll and rename rtlsdr.dll_ to rtlsdr.dll.
For more information on passive radar we recommend looking at this previous post where we showed the work of Juha Vierinen who used RTL-SDR’s to build a passive radar.
The first one is Passive Radar which bases on the signal from only one dongle. The ambiguity function is the same as in advanced projects with the difference that I implemented self-correlate function instead of cross-correlate one which is used in 2 dongles projects. Such solution theoretically should works as can be found in internet. It should be noticed that for proper work of such passive radar the direct signal should be comparable in strength to the reflected one. This plugin is still under development.
In the future he hopes to be able to support two dongle passive radar as well.
The second plugin is called “IF Average”. This plugin allows the IF signal (the entire active bandwidth is what he seems to be referring to) to be averaged which is useful for many applications including radio astronomy projects such as detecting the Hydrogen line. He writes:
The second plugin which is finished is for IF signal averaging. It is important in case of radio-astronomical observations. It allows to cumulate signals (up to 10000 samples in real time), present them in friendly way and save for further work.
Back in 2013 we posted about Juha Vierinen’s project in which he created a passive radar system from two RTL-SDR dongles, two Yagi antennas, and some custom processing code. Passive radar can be used to detect flying aircraft by listening for signals bouncing off their fuselage and can also be used to detect meteors entering the atmosphere. The radar is passive because it does not use a transmitter, but instead relies on other already strong transmitters such as FM broadcast radio stations. Juha writes:
A passive radar is a special type of radar [that] doesn’t require you to have a transmitter. You rely on a radio transmitter of opportunity provided by somebody else to illuminate radar targets. This can be your local radio or television station broadcasting with up to several megawatts of power.
His previous write up was brief, but now over on Hackaday Juha has made a detailed post about his RTL-SDR passive radar project. In the post he explains what passive radar is, shows some examples of his and others results, shows how it can be done with an RTL-SDR dongle, and finally briefly explains the signal processing required. In his next post Juha aims to go into further detail on how passive radar works in practice.
Below we show a video that shows an example of one of his passive radar tests that was performed with a USRP software defined radio and two Yagi antennas.
This video shows a lot of airplanes around the New England area detected using a simple passive radar setup, consisting of: one USRP and two yagi antennas, a quad core linux PC. Every now and then an occasional specular meteor echo is observed too.