The joys of RTL-SDR and Taxi MDT Decoding

I have owned and used radio scanners for many years, and loved them as my posts before December 2011 will testify.

In that month I became the proud possessor of a FUNCube Dongle Plus and discovered the joys of software defined radio, since then I purchased a FUNCube Dongle Pro+ and extended my SDR adventures in to the realms of HF and I have several of the insanely cheap RTL2832 based dongles.

As much as loved my scanners there was a major flaw with them, which has been brought into sharp focus now that I have used SDR.

No matter how fast or as sensitive as the scanner is are you are still playing a game of chance. You are limited by the frequency steps, demodulation modes and scanning rate of the receiver and you could zip through the band all day and still miss those elusive signals.

SDR and the waterfall display is a revolution, you can view a portion of the spectrum in real time and actually see the signals, they may be short lived bursts of data and voice, or continuous data transmissions.

The RTL-SDR dongles excel in this respect with their wide sampling rate you can view up to 2MHz of the spectrum at once, the following images show typical waterfalls captured this morning using one of my RTL-SDR dongles.

The first one, shows the cluster of data channels (was the old Vodaphone Paknet system) around 164.2 – 164.4 MHz, a trunking control channel and various data bursts, which are mostly Taxi Mobile Data Terminal (MDT) transmissions.

A little lower down the spectrum and another trunking control channel, a speech conversation, more data bursts and a faint digital channel.

Further up the spectrum into the UHF, a cluster of data transmissions.

Simply moving the cursor on the display and you can hear the transmission, if necessary change the demodulation type, widen or narrow the filter bandwidth, save the frequency. If you capture the IQ file you can then replay it endlessly tweaking and refining until you extract the information you want.

During the weekend I was experimenting and noticed there was lots of data bursts in the 163-168MHz range, I confess that I already knew what most of them were as I have experimented before with a scanner (with a discriminator tap) and Ian Wraith’s Java based Taxi MDT decoder. I decided to reinvestigate them using the RTL-SDR as the receiver.

While many taxi companies still use voice transmissions, many have adopted automated data terminal systems, where the dispatcher sends information about jobs to terminals in the cars, the drivers then can accept jobs, get information and send information back to the dispatcher.

Ian’s decoder which requires the Java runtime environment decodes systems that use the same physical layer as MPT1327 i.e 1200 Hz and 1800 Hz tones transmitted at 1200 bps. The two main systems used in the UK, are the Autocab and Auriga. The Taxi MDT Decoder currenly decodes the Autocab, but the coding for the Auriga system is still an unknown, so just outputs the raw data.

More information about Taxi MDT Decoder can be found here I confess to having one slight niggle with it, often I couldn’t get it to accept sound from the selected input. A work around I found was to first open the Audacity sound editor which I had installed and select the input and start a recording, then opening the decoder seems to make it work!

Ian has also written the excellent DMRDecoder which allows analysis of the DMR digital mode which is becoming more widespread. I intend to post some details soon about decoding digital modes, keep watching.

I created a video showing the Taxi MDT Decoder in action, the quality is pretty dire but you can get the idea, I identify the Auriga as being encrypted, it might be but as nobody on the team knows the protocol yet!

RTL1090 Series 2 Beta Released

Checking my Yahoo Groups this morning and spotted this announcement in the RTL1090 Group

All –
RTL1090 series 2 is about to launch with a new GUI and improved decoders. It
will take some time until all functionality is there, but here is the first BETA
release for those who want to try.

Please read the release notes below for what’s done and what’s not, and run the
BETA parallel to your existing and working installation for now.

The GUI should be easier to use with the various OS versions, because it has no
window and no borders.

If you encounter a fatal error (Access violation) please note down the text of
the AV window and post it here, as any other comments, too.

The beta download is AVAILABLE from
>>> http://rtl1090.jetvision.de <<<
ONLY

Place the exe (rtl1090.beta2.exe) file to your RTL1090 folder and start from
there. All previous RTL1090 settings will be kept.

— Andy
— jetvision.de

============================================================================

This is a beta version of RTL1090.
Functionality is experimental and partially incomplete yet.
Please use at your own risk.
Retain the release that is working for you as a copy.

============================================================================
Build 101 – 20/05/2013

– GUI completely refurbished. Program window height can be altered and switches
are hidden by default. This makes the GUI more space efficient (and it looks
better). The window is borderless but can be dragged when placing the cursor to
the top bar or the frequency indicator.

– In status line: USB packet indicator (packets/s) changed to queue cycle time
(ms). The queue cycle time must stay below 300 ms for
lossless processing. This is important for MLAT operations. If you see a red
number here, be prepared for packet losses and inability to run MLAT from this
computer.

– Packet rate LEDs show all red when it appears that a USB data frame
was lost. This is in preparation for work on better MLAT accuracy. If all red
is shown no MLAT functionality is available. You should shutdown other programs
and demanding computer acitivity. Your computer may be even too slow at all to
cope with the USB data rate (32 MBit/s).

– Avg. Signal Strength (SG) and Message count (MSGS) added to flight table.
Avg. Signal Strength is normalized to 100% (max 99%).
Color codes are yellow (you can hear it), orange (you can see it),
red (you can touch it).

– Default display order in flight table changed. Newest flights are at top for
compatibility with DUMP1090 (not completely working yet)

– CONFIG dialog: some commmand line options can be selected from the dialog,
however command line entries are still valid and do override any selections.
If overriding occurs checkbox entries are printed in bold, but boxes will not be
checked, so the override conditions will not be saved to the configuration file.

– Update alert: when a new version is available an update sign appears in the
caption bar – no further functions yet – if you see the sign go back to
http://rtl1090.jetvision.de and download the next release.
============================================================================
Outstanding commits:

– Start with Windows and Resume from hibernate/standby
– Stop without exit
– DO260 A/B and signal strength processing for HTTP server
– Improve Mode-S and Mode A/C decoder
– Complete autoupdate
– Log file selection from config dialog
– MLAT counter accuracy
– Renovate SISEX design

Well I downloaded it and fired it up and can report a much improved performance, with the promise of even more to come from the sound of it, just not sure my ageing PC is going to keep up!

My video detailing the construction of my collinear has also been featured on rtl-sdr.com and has now received quite a few views and I can report it is still performing magnificently.

Video – making the ADS-B collinear antenna

I posted earlier in the month about using the inexpensive RTL-SDR dongles with some free software to create a virtual radar system.

I mentioned about how I had built an inexpensive collinear antenna out of coax to improve my reception, both in range and message rate.

I made a video detailing the construction, the original plans can be found at http://www.balarad.net/ 

Anyway here is the video, I hope it encourages people to have a go.

RTL-SDR ADS-B and homebrew collinear antenna

I currently own three RTL2832 based DAB/DVB-T USB dongles. Whilst they are exceptional value and using them as SDR dongles is a brilliant piece of hacking I just haven’t had really utilised them since I have my FUNCube Dongles, both the HF capable PRO+ and the older PRO version.

One big plus point of the RTL-SDR devices is the the ability to sample wideband signals, theoretically over 2MHz this offers tantalising opportunities for software based decoding of signals. One such wideband signal is the ADS-B messages broadcast by most commercial aircraft.

The periodic ADS-B Out broadcasts from aircraft contain information about each aircraft, such as identification, current position, altitude, and velocity, through an on board transmitter. ADS-B Out provides air traffic controllers with real-time position information that is, in most cases, more accurate than the information available with current radar-based systems. There are also ADS-B In messages received by aircraft of FIS-B (Flight Information Service) and TIS-B (Traffic Information Service) data and other ADS-B data such as direct communication from nearby aircraft. (Full details here)

As I posted once before one of the most interesting and therefore popular things to monitor on traditional radio scanners are air-band transmissions. Listening to aircraft communicating with air-traffic control can be quite addictive, especially if you are able to hear transmissions from the tower of a busy airport.

Several years ago the dreams for would be air-traffic controllers were fulfilled with the introduction of virtual radar systems. These units monitored these ADS-B messages using a dedicated receiver connected to a computer which could then display aircraft position and information on a screen just like the real thing, as well as your own ‘spots’ you could join networks of others receivers to have complete coverage of any area you wanted in real time.

My younger brother who lives near Birmingham International brought a system several years ago and has great fun watching the approach of aircraft on ‘radar’ as they rattle the roof tiles on approach to BHX. These systems are not cheap and not being a wealthy as my brother I have been looking for a cheaper alternative…

At the end of last year I found just such an alternative on the Ham Radio Science blog using the humble RTL-SDR dongles.

The RTL1090 ADS-B Decoder for Windows from Jetvision is simplicity itself, it is free and assuming you have the Zadig drivers for the dongle then it is a small step to run the program and verify if you are receiving the ADS-B broadcasts, the decoder can be made to emulate a ‘BEAST’ ADS-B receiver so can be networked to Plane Plotter (non-free) or Virtual Radar Server (free) to display air traffic information.

Since then other ADS-B decoders have become available including ADSB# from the people who brought you SDR# and this can be linked to other programs like ADSBScope. There is lots of information out there for those interested just use Google.

Like I said I briefly toyed with this at the end of last year as a nice diversion at a difficult time but I was frustrated by the range of reception I was achieving, some of this is due to the RTL-SDR dongles being a little deaf but mainly not having the right antenna, sparked by a thread I read on the Transmission1 forum and the cost of some of the antennas I investigated the idea of making my own and got the decoding bug again.

I found some plans for making a coax-based collinear out of some inexpensive components, so a quick trip to the local ScrewFix and I had the basic materials to have a go

White 21mm plastic overflow pipe (3m) £1.25
RG6 Black Coax 25m        £7.92
Roll of insulating tape        £0.69
Self Amalgamating Tape        £2.95

I originally tried to construct one out of some spare RG-58, by cutting and soldering it, but it proved frustrating and fiddly. I opted for the technique described in the original plans using the RG6 coax with a solid central core, by cutting it with a Stanley knife and pushing the sections together (checking as I went along for shorts with a meter) and then taping them in little over an hour I had a 16-section antenna which I put inside a white plastic tube which I bunged up and taped for weather proofing. Connected up a F-plug to the small section of coax I had coming out and I was ready to go!

I currently have the ‘white stick’ plugged into one of the dongles containing the Rafael Micro R820T tuner. It is just propped up against the window in the ‘computer room’ just a few feet away from two computers one of which is an old Linux server clocked around 1GHz, along with a wireless router, printer, cable modem, phone charger etc. So not an ideal position for interference but having downloaded the latest version of RTL1090 and ADSB# I have been impressed by the performance of the antenna compared to the wideband discone in the loft.

In RTL1090 there is a display showing the received packet rate, i.e the number of messages decoded. With the discone I was getting just two bars out of 6, with the ‘white stick’ I am getting almost a continuous 4 and occasionally 5. On Virtual Radar Server I am getting at lot further range, all I need to do now is get the stick up high to see what it capable of, I really must get on with my planned antenna mast!

In ADSB# I have also got a decent data rate, interestingly I get a better data rate if I switch off the AGC controls, which the opposite of the RTL1090 program..

FUNcube Dongle PRO+

Ever since I got my FUNCube Dongle Pro last Christmas it has been the main focus of my radio experimentation. I have used it on a number of computers including some quite old not very powerful machines and with different software applications primarily the SDR-Radio and HDSDR suites.

It was a little fiddly to initially set up but I have been impressed with its performance, it has opened my eyes and ears to what is out there on VHF and UHF, much more than I could ever monitor using my scanner receivers. Have a look at my previous postings.

Being SDR, with all decoding being done in software, it is effectively capable of all modes capable with the added advantage of having a variable bandwidth which is useful for data modes.

I have decoded images broadcast from orbit, received transmissions relayed via satellite and even bounced off the surface of the moon! As well as listening to all manner of terrestrial broadcasts.

In a word it is BRILLIANT.

It has its faults, or should I say limitations. It would be nice to have more of the spectrum available at one time and the front end filtering and rejection is troublesome at times. However this is more than made up for by its versatility and performance and it often out preforms my PRO2006 on the same antenna.

On the various forums and social networks it irks me to see people complaining about its performance but then they are usually the same people who go out and purchase a sub £20 RTL2832U based USB FM/DAB/DTV receiver dongle from eBay to use as a SDR and then complain they cannot get it to work or that its performance is lacking. But then that seems to quite common at the moment, everyone expects to just plug it in and it to just work with the minimum of understanding, involvement or experimentation but I digress.

Unfortunately Elonics the suppliers of the tuner chip in the FUNCube Dongle PRO are currently in liquidation and so they have struggled to produce any more units since July this year. This has potentially serious implications for the whole FUNCube educational project as there is no earth based component. Therefore the FUNCube team have instigated a redesign of the receiver and in doing so have increased its functionality and addressed some of the issues. This is the FUNCube Dongle PRO+

 
The new FUNcube Dongle Pro+ offers the following features and enhancements:

  • Full coverage of all amateur bands from 136kHz through HF, 6m, 2m, 4m, 2m, 1.25m, 70cm, 33cm, 23cm (150kHz-240MHz and 420MHz-1.9GHz, 70kHz-150kHz coverage through your software’s NCO offset)
  • 0.5ppm TCXO
  • 192kHz sampling rate
  • Eleven discrete front end filters
  • Super sharp SAW filters on 2m and 70cm

It is expected mid October 2012 and you can register your interest here

The official release of the FUNcube Dongle PRO+ was made during a presentation given to the AMSAT-UKInternational Space Colloquium 2012 on Saturday September 15. You can view the presentation by following these steps:

– Go to http://www.batc.tv/
– Click on “Film Archive”
– Select “AMSAT 2012” in Category box and click on Select Category
– Select “02 – FUNcube PRO-PLUS” in Stream box and click on Select Stream

Or download the whole video of the presentation from
http://www.batc.tv/vod/AMSAT%20session2.flv

RTLSDR – Part 4 – Cutting out the noise using a simple coax filter

One major limitation of both the FUNCube Dongle and the RTL-SDR based receivers is the poor front end filtering.

Connecting a wide band antenna such as a discone to the input often results in a spectrum full of noise which swamps the target signal.

In most cases the noise is actually a result of out of band high-power transmissions such as FM and TV broadcast stations and pagers which overload the receiver and get mixed in to the tuned signal. The effects can be mitigated to a degree by turning down the gain of the receiver but at the expense of sensitivity to the signal you are wanting to receive.

The FUNCube Dongle in my experience seems especially susceptible to the effects of FM broadcast signals when trying to monitor the 2-Meter amateur band. I’m not sure if the current weather conditions were the cause but yesterday evening it seemed the breakthrough was especially bad. So I decided to experiment with a simple coax ‘notch’ filter.

There are two approaches to filtering, one is to use a band-pass filter which passes frequencies within a certain range and rejects (attenuates) frequencies outside that range. The other is to use a band-stop filter that passes most frequencies unaltered, but attenuates those in a specific range to very low levels. A notch filter is a band-stop filter with a narrow stop band.

As it happens you can make an effective filter using ordinary coaxial cable which will generate a sharp, deep notch which can be used to attenuate the unwanted signal.

A coax stub notch filter can be made if you connect the antenna to the receiver using a T-connector then attach a piece of coax of the appropriate length (the stub) to the remaining connector.

I happen to have a fair bit of 10Base2 Thin-Ethernet cabling (RG-58U) and connectors which were repatriated from a previous employer over a decade ago. The network cards they used came supplied with lovely long high quality 10m patch leads with moulded BNC connectors and a T-Connector and terminator! Even back then the 10Base2 was completely redundant as the network infrastructure used Cat-5 cabling.

So I dug out one of the T-Connectors and a BNC connector and set to work, connecting the antenna and receiver was simple, all I needed was to construct the coax stub.

To calculate the length of the stub you must first calculate the wave length of the desired ‘notch frequency’ for the FM band a good central notch frequency is around 100MHz.

The wave length is found by dividing the speed of light (which is around 300,000km/sec in free space) by frequency

So for a 100MHz signal the wave length is 300/100 = 3 meters.

However the speed of the radio wave in a coax is affected by the material it is made of, this is called the velocity factor. For most solid polyethylene coax (e.g RG-58) this is 66% (a handy table can be found here)

So multiplying 3 x 0.66 = 1.98 meters

The coax stub is 1/4 of this wavelength = 1.98 x 0.25 = 0.495 (49.5 cm)

So cutting a piece of coax of that length, connecting it to the T-Connector and leaving the other end open completes the filter. The filter will have maximum attenuation at 100MHz (assuming the coax is cut accurately) and the attenuation will fall off away from this ‘notch frequency’ (Note the filter will also notch at 300MHz, 500MHz and so on)

Interestingly it seems my RTL based SDR receiver is more affected by pager breakthrough, so I plan to make an alternative stub, adjusting the calculation to use 153MHz as the notch frequency to reduce this. It is possible to add more than one filter at a time using multiple T-Connectors and alternative higher performance designs for coax notch and band-pass filters can be found with a quick Google search.

I made a quick video showing the effectiveness of this simple filter which took about 10 minutes to make!

Some audio from the 144MHz SSB Contest

Not had much radio time since Saturday due to family duties but did managed to find time to edit down some of the audio from the 144MHz SSB Amateur Radio Contest I received.

The first part of the audio was from the FUNCube Dongle, the latter part from the Ultra cheap NewSky DVB-T stick running the RTL-SDR driver.

Both were received using the loft mounted discone antenna which I believe is vertically polarised and so wasn’t optimal since SSB is broadcast using horizontal polarization. Even so I was quite impressed with what I did receive with such humble equipment.The stations calling in the audio were G0VHF (morse and voice), M0KWP, M0BAA, 2E0KWM and G4SIV

  144MHZ SSB Contest by nerdsville

Please note the corruption that can be heard toward the end of audio appears to be an artifact of the sound editor and/or the transcoding used by soundcloud as it wasn’t in the original audio.

RTLSDR – Part 3 – CQ CQ Contest

As it’s the weekend I have managed to experiment with my new SDR device. I have sorted out an adapter so I can connect it to the loft discone and it has been pulling in some very nice clear signals. I have had to do some tweaking especially of the usb transfer buffer size to get some decent audio out of it. I have also had to learn how to use the HDSDR program which I haven’t used much before favouring the SDR-Radio one with the FUNCube Dongle.

One thing that caught me out is that when I last used HDSDR with the FUNCube I had to swap the I and Q signals and I don’t need to with the Newsky Tv28t so initially I was very confused as it all seem arse about face! Duh! But now actually growing to quite like it as having a much wider spectrum to see is very nice.

By a pleasant coincidence yesterday saw the start of the RSGB 144MHz May Contest so lots of SSB transmissions to tune in to. The FUNCube definitely has the edge when it comes to quality of audio and sensitivity and being able to tune down the gain helps in preventing out of band signal overloading the front end. With the Newsky device I’ve had to have the gain right up most of the time, but I suspect there is still more optimising to do.

Just a small video showing some of the SSB Contest signals on the spectrum. Don’t you just love the masses of noise? Really must do something about that damn router!


I’ve also got to discover how to calibrate the Newsky as it shows quite a bit off frequency, I understand I need to discover the actual crystal clock frequency and can feed that into the EXT-IO plugin.

RTLSDR – Part 2 – Hello.. Hello Can You Hear Me?

As suspected the problem was indeed the computer. I rushed home at lunchtime and in less than 10 minutes I had installed the software on my main PC and it sprang to life just like the video promised.

I only had a short time to try it out, but picked up some FM stations, pager signals and the RAF Waddington ATIS which should have been on 291.675MHz but the frequency on the HDSDR screen was way off.

It does appear to be a little deaf but I hadn’t got a decent antenna connected so I won’t conclusively say that yet as I’ve got to make up an adapter this evening so I can connect the loft antenna on. Also the EXT-IO interface has a gain control that I didn’t alter from the default.

RTLSDR – Part 1 – Failed to Launch!

 

Well that was quick! The USB Receiver with the RTL2832 receiver I ordered it on Tuesday afternoon and arrived yesterday (Thursday) morning (from Jersey based retailer Cosycave via ebay) so was eager to try it out last night.

Fired up the old laptop and went off to http://www.rtlsdr.com/ and the getting started section to download the drivers and software and everything seemed to be going well. Following the instructions the device appeared to be correctly detected and the appropriate drivers installed, but then it went pear shaped.

HDSDR would open, the EXT-IO window would appear and attach to the device but as soon as I tried to tune the stick or start receiving various errors would appear and nothing worked… I tried a number of different option settings but still no luck!

Feeling a bit disappointed I put it down while I watched some TV and tried again later. I uninstalled everything and went through the process again but still ended up with the same errors.

I decided to rule out a defective receiver so I uninstalled everything again and installed the manufacturers supplied software.

The drivers and something called BlaseHDTV installed without a hitch. I connected the little supplied antenna to the receiver and set off scanning for TV and radio stations. It didn’t complain but found nothing! By now it was well past midnight so I went off to bed in a huff.

This morning I connected the receiver to the roof aerial and it did find TV channels from the two local transmitters Waltham (60% signal strength and 100% quality) and Belmont (low signal strength and quality) but when I tried to watch anything I just got random coloured blocks and random noise. Interestingly it didn’t find anything using the DAB or FM radio applications.

So is the receiver defective? Unlikely as it did go away and find TV channels.

The culprit is almost certainly the computer. Being an untrusting soul when it comes to software ‘off the internet’ I didn’t want to try any of this out on my main computers in case it messed anything up. However the laptop is an old Sony Vaio with a Pentium 4-M processor and only 512MB of RAM and can be prone to sluggish behaviour, especially when trashing the hard drive. Saying that it will happily run SDR-Radio with the FUNCube Dongle.

Checking back over the specifications of the receiver it clearly states on the packaging that it requires a USB2.0 port… mmmm the old laptop only has USB1.1! Unfortunately I have grown accustomed to ignoring the pop-up balloon which appears I plug something in…

The looks like the most likely reason for the problems, not enough bandwidth – which would certainly explain the DTV issues. So I will have to try it on another PC…

As Captain Picard would say!