Sending data from GNU Radio into Linrad using the network

During the last few days I've been experimenting with feeding signals from GNU Radio into Linrad using Linrad's network protocol. Linrad has several network protocols designed to share data between different instances of Linrad, but generally these protocols are only supported by Linrad itself. The only other example I know of is MAP65, which can receive noise-blanked data from Linrad using the timf2 format.

The result of these experiments is a GNU Radio out-of-tree module called gr-linrad which allows to send data from GNU Radio and receive the data in Linrad. Currently, gr-linrad only supports sending a one-channel complex IQ signal using the raw 24 bit format, but I'll probably add more options in the future. The intended application of gr-linrad is to easily add support for SDR hardware to Linrad. Usually GNU Radio has support for most SDR hardware in the market, perhaps through osmocom or other libraries. Linrad has support for a good amount of SDR hardware, but there are some notable exceptions of unsupported hardware, such as the HackRF One. I also want to use my Hermes-Lite 2.0 beta2 in Linrad, and this seems the easiest way to do it.

Another possible use of gr-linrad is as an instrumentation for any kind of GNU Radio flowgraph. It is very easy to stream data into Linrad, so it can be used as a very nice waterfall display or to do any sort of signal processing, such as noise blanking or adaptive polarization. Here I describe how to get the test flowgraph in gr-linrad working and some aspects of the network protocol.

Continue reading "Sending data from GNU Radio into Linrad using the network"

Testing a simple pulse generator for Linrad calibration

Lately, I've being talking with Juan Antonio EA4CYQ and Pedro EA4ADJ about performing Linrad calibration to enable the use of the smart noise blanker. They pointed me to the SIGP-1 by Alex HB9DRI, which is a 144MHz pulse generator with which I was already familiar, and a simpler pulse generator by Leif SM5BSZ which I hadn't seen before.

Leif's generator is very simple. It uses a 555 timer to generate a square wave, a 74AC74 flip-flop to divide the frequency of the square wave by 2 and obtain a precise 50% duty cycle, a 74AC04 inverter as a driver, and capacitive coupling to turn the edges of the square wave into RF pulses. Alex's SIGP-1 is an improvement over Leif's design. It generates the square wave in the same manner, but then it uses a helical bandpass filter for 144MHz with around 5MHz bandwidth to convert the square wave into 144MHz pulses, and a PGA-103+ MMIC RF amplifier and a BFR91 RF NPN transistor as a class A amplifier to increase the output level. The SIGP-1 has two main advantages over Leif design. The output is stronger, so the S/N of the pulses is higher, and the filtering helps prevent saturation in the receiver. However, Leif's design uses only simple components and it's adequate in many cases.

I have built and tested Leif's generator and used it to calibrate my FUNcube Dongle Pro+ at 144MHz. I've also tried doing the calibration at other frequencies and it also works well, but the pulses are not very strong at 432MHz and above.

Continue reading "Testing a simple pulse generator for Linrad calibration"

Calibrating the S-meter in Linrad

In a previous post, I talked about the GALI-39 amplifier kit from Minikits. Here I will describe the procedure to calibrate the S-meter in Linrad (or another SDR) using this amplifier or any other amplifier with a known NF and an uncalibrated signal source. Leif Åsbrink has a youtube video where he speaks about the calibration of the S-meter in Linrad. However, he doesn't use an amplifier, so I will be following a slightly different procedure.

Continue reading "Calibrating the S-meter in Linrad"

Using Linrad as a panadapter

Recently, I installed a G4HUP PAT on my FT-817ND. This is a small board which allows one to tap the IF of a conventional radio receiver to use an SDR as a panadapter (essentially, a waterfall display which shows a chunk of spectrum about the frequency tuned on the receiver). In the previous post I described the installation of the hardware. Here I will describe how I've set up Linrad to suit my preferences. One interesting aspect of this set up is that I've ended up adding a bit of code in Linrad to make it read the dial frequency of the radio using CAT and make Linrad track the frequency as one tunes around in the radio.

Continue reading "Using Linrad as a panadapter"