Panadapter for the Yaesu FT950 under Linux, using a FunCube Dongle, Gnuradio and Hamlib

A different combination between toys in the shack

Hunting elusive signals was the very reason for which spectrum analyzers were put on sale, typically to the military establishment and at insane prices. No wonder that since my first experience of using them in connection with receivers I found the feature incredibly useful.
Manufacturers of ham transceivers, led by Icom, have started in recent years offering such feature incorporated into their midlle to top level products, adding quite a lot to final price.
For my FT950 Yaesu offers a rather expensive standalone unit, also designed for the FT2000.
However these days small SDR receivers have become very cheap and everybody ha a pc providing the necessary computational horsepower.

So here is a how I recombined some ingredients already available in my shack.

The FT950 and FT2000, being ready for the DMU2000, have convenient connection points inside, where you can tap the first IF at 69MHz by simply plugging in a coaxial cable.
Procedure is nicely shown on several web pages on the net and on the RFSpace IF2000 board user manual: a nice converter designed to translate the 69MHz into a range any of their nice HF SDRs can tune (es. SdrIQ).

Here are some pictures of how I installed it: you just need to put the radio belly up and remove all screws apart from those holding the legs. You'll then be able to lift the bottom cover.
With the connectors of the radio on your side, tap point is in the top right corner.

Existing jumper only terminates the IF tap point into a 50 ohm load: simply disconnect it and plug in you extension.
I made mine from thin RG174 coax and the proper TMP plug.
Tap point is clearly marked "SCOPE" on the board.

With a bit of patience you can have the coax go through the circular hole in the bottom right corner and the out from the ventilation grid. No need to drill new holes.

Our Windows users colleagues have several excellent choices when it comes to SDR software (SDR# to name just one).
Linux users lack such shiny packages but on the other hand can put their hands on the incredibly powerful GNURadio environment with as little effort as pulling it from their repository (at least for the latest Ubuntu).

By borrowing heavily pieces of code around, especially from G0HWW, I've brewed the solution better suiting me.
The usage I've got in mind is mostly looking for signals in not so crowded bands, namely 50 and 70 MHz.
No attempt is made to decode signals, which would proably be more useful to dx hunters looking for the right split, but I'm not sure the processing lag would allow it.

Clicking on a signal either in the waterfall or FFT will tune the trasceiver to that frequency, while turning the vfo knob will update the baseband indication at the bottom.
This is achieved through hamlib. You need to start it in demon mode with a command like:

rigctld -m128 -s38400 -r/dev/ttyUSB0

where the first argument is the specific radio model, the second its serial port speed and the third the serial port it's connected to.

Python script can be downloaded from here.

Changing it to work with other trasnceivers with 1st IF upconversion should be just matter of setting the right frequency.
The FT950 presents an inverted spectrum and these lines take care of splitting the spectrum (thanks Alex OZ9AEC for the hint).
                self.gr_float_to_complex_0 = gr.float_to_complex(1)
                self.gr_complex_to_float_0 = gr.complex_to_float(1)
They may have to be bypassed for other radios.

Also adapting it to the cheap RTL dongles shouldn't be complex in principle, but my first attempts revealed some serious intermod issues.
Using those dongles it's probably worth inserting some heavy decimation, because you don't need to see 900kHz or more but rather more detail.

Since the exercise was almost trivial I then ported it to work with the Icom 910 and USRP + LFRX board, as we're talking 10MHz IF here.
Tapping the 910 IF is not as easy: requires soldering a coax onto a pcb trace and running the signal through a buffer amplifier.
Here is the Python script showing how I "wired" the different SDR.
Being radio control via hamlib model-agnostic as long as you launch the correct RIGCTLD server, there is no need to expand on it.

Contact:indirizzo come immagine per diminuire lo spam

Last update:  31Dec12 - Home