OpenRadio Part 3 – Filters

Over the past week I’ve built my own OpenRadio prototype, using the construction notes Mark has put together as a guide.

To help others I measured a few DC voltages and recorded them. I found one small bug in my assembly: one of the flip-flop pins was not soldered correctly, leading to erratic signals. After that I set the LO to receive a 14 MHz signal and managed to receive a carrier from my FT-817, via about 60dB of in-line attenuation. At the moment I am using SpectraView running under Wine as the SDR software, however we really should get a Linux/Open Source SDR program running for the mini-conf. I only have a mono input sound card in my laptop so I’m getting a mirror image of the received spectrum. Still, good enough to get started.

I connected the radio to an external antenna and tuned to a local AM station on 1310 kHz. This sounded very strong but distorted. When I tuned to 7.150 MHz I could still hear AM radio signals, which suggests very strong local signals overloading the mixer. I tested this idea by inserting a 20dB attenuator in line with the antenna and sure enough the AM signal on 1310 kHz became clear and I could no longer hear AM stations on 7.150 MHz.

I could even see the AM signal on my oscilloscope – it measures 1Vrms (20mW) on the antenna terminals! That’s enough to light a LED (10mA at 2V).

However an attenuator is not ideal, so using the tables from my trusty copy of RF Circuit Design I built a simple High Pass Filter to attenuate broadcast signals by about 20dB, but pass other HF signals above 3 MHz. This consists of a 1nF capacitor and two 4.5uH inductors (21 turns on a 7mm diameter pencil) in a “Pi” arrangement. This worked well, the AM signals sound fine and no break through on other HF frequencies.

I also tested Mark’s 27 MHz Low Pass transmit filter, this cleaned up the PSK31 tx signal nicely, 2nd harmonic at least 30dB down with about 1Vrms into 50 ohms (20mW) transmit power. Here is a photo of my OpenRadio with both filters on the right. The larger coils at the top are part of the 3 element 3MHz high pass filter, which then connects to the 7 element 27MHz low pass filter.

Mark and I even had a OpenRadio to OpenRadio PSK31 QSO on the 40m Ham Band! I had about 40mW transmit power on 40m. This was actually NVIS propagation so 100km up and down to the ionosphere and 10km across Adelaide!

So our #2 prototype helps us confirm that the design is working. I’ve followed Mark’s construction notes and made some of my own, and obtained experience in setting up the Arduino and Spectraview software. The broadcast HPF design may be useful for others who experinece strong local interference.

Well done Mark on a fine job designing OpenRadio and writing the support Arduino software. He has put in a tremendous amount of work to develop and test the hardware, written a lot of software, and carefully documented everything on the OpenRadio Wiki. This is a great resource that will be useful to many others. Next step is the kit production. Right on schedule for linux.conf.au in January.

Robust FreeDV Part 1

I’m working on increasing the robustness of FreeDV over HF radio channels, in particular compared to analog SSB.

Why HF Digital Voice so Hard

HF radio channels are bad news for digital data. Here is a plot of the Bit Error Rate (BER) versus Eb/No for two different modems (DQPSK and QPSK) and two different channels (AWGN and . . . → Read More: Robust FreeDV Part 1

OpenRadio Part 2 – Prototype Works!

Since the first post on the OpenRadio project Mark has been moving ahead and leaps and bounds. In just a few late nights work he has assembled and tested the radio, managed to receive off air signals, and even tested the PSK31 transmitter! Fine business Mark.

Mark writes:

Hooked it up to a real antenna tonight:

That’s . . . → Read More: OpenRadio Part 2 – Prototype Works!

OpenRadio – a one day Software Defined Radio project

For the 2015 Linux Conference, I am working with Kim Hawtin and Mark Jessop on a 1 day Open Radio Mini-conference.

In this mini-conf a classroom of people will solder together their very own software defined radio (SDR) transceivers in just a few hours. It will be capable of receiving signals on the HF . . . → Read More: OpenRadio – a one day Software Defined Radio project

JackPair – Secure Phone Calls using Codec 2

I’ve just found out about a new Kickstarter for JackPair, a device that enables secure phone calls over a mobile phone. It uses Codec 2.

Over the past 12 months I have been approached by a couple of groups interested in building a similar product (but not JackPair). These groups asked me to develop a . . . → Read More: JackPair – Secure Phone Calls using Codec 2

SM1000 Part 7 – Over the air in Germany

Michael Wild DL2FW in Germany recently attended a Hamfest where he demonstrated his SM1000. Michael sent me the following email (hint: I used Google translate on the web sites):

Here is the link to the review of our local hamfest.

At the bottom is a video of a short QSO on 40m using the SM-1000 over about . . . → Read More: SM1000 Part 7 – Over the air in Germany

Degrowth Economy

Just read this article: Life in a de-growth economy and why you might actually enjoy it.

I like the idea of a steady state economy. Simple maths shows how stupid endless growth is. And yet our politicians cling to it. We will get a steady state, energy neutral economy one day. It’s just . . . → Read More: Degrowth Economy

SM1000 Part 6 – Noise and Radio Tests

For the last few weeks I have been debugging some noise issues in “analog mode”, and testing the SM1000 between a couple of HF radios.

The SM1000 needs to operate in “analog” mode as well as support FreeDV Digital Voice (DV mode). In analog mode, the ADC samples the mic signal, and sends it . . . → Read More: SM1000 Part 6 – Noise and Radio Tests

Timing Estimation for PSK modems

Jim, KG4SGP just sent me an email asking about how timing recovery (timing estimation) works in the FDMDV modem. In fdmdv.c, this is performed by the rx_est_timing() function.

At the receiver, we need to “sample” the PSK modem signal at just the right time. A timing estimator looks at the received signal and works out the . . . → Read More: Timing Estimation for PSK modems

SM1000 Part 5 – Mysterious Triangle Waves

Getting close to Beta now.

I have just spent a week tracking down a mysterious 256 Hz low level (30mVpp) tone that ended up being a software configuration error in the DAC initialisation code! However before that I thought it was a noise issue caused by PCB layout, or the wrong sort of bypass capacitor. . . . → Read More: SM1000 Part 5 – Mysterious Triangle Waves