Bald Yak, scene 7, building a circuit without burnt chicken smell

Bald Yak, scene 7, building a circuit without burnt chicken smell

Author: Onno (VK6FLAB) January 25, 2025 Duration: 5:56
Foundations of Amateur Radio

The other day I was sitting on the couch lounging about when I came up with an idea and there and then I picked up a circuit board, soldered down a hundred or so components and built a noise cancelling gadget, all within about an hour .. right there, on my couch.

Yeah, that didn't happen, least of all, my soldering skills are not up to scratch, never mind the couch.

I did however build a noise cancelling circuit, on my couch, in about an hour, but no soldering iron was hurt and the room didn't smell of chicken afterwards. Instead I used GNU Radio to put together a series of blocks that allow me to apply noise cancelling to a signal.

How does this work?

Well, imagine a signal mixed together with the negative version of that signal, think of it as swapping positive and negative if you like. If you mix two identical signals together, one of them inverted, you end up with nothing, because they cancel each other out, where one is high, the other is opposite and low and vice versa. Mix a high signal with a low signal, you end up half-way. If they're the same but opposite, half-way is zero.

Hearing nothing is not helpful, but what if the two signals were slightly different, let's say, one is connected to a proper 10m antenna and the other is connected to an antenna that picks up local noise. We'll call the antenna on 10m the "signal" and the local noise antenna the "noise". If you mix these together, you end up with a signal and noise combined, but if you invert the noise signal, you can, at least theoretically, filter out the noise that's common to both antennas.

Now I did say "theoretically" and that's because while it sounds simple, it's far from it. Unless you have a special radio, the two signals are not coming from the same device and won't really be identical where it matters. For example, let's call it the volume or gain of one might be higher than the other. One might arrive slightly later than the other if the coax isn't the same length or the electronics in both radios are different. There are other things too, but let's just stay with this for a moment.

You could amplify or attenuate one or both signals to make them the same or similar levels. You could change the phase, think of it as the time when a signal starts, and synchronise the two signals in time manually.

Of course whilst you're doing this, inside GNU Radio, the computer is doing some serious math, which takes time to make these changes, which introduces further delays you'll also need to account for.

Building it was simple. Testing it much less so.

After coming to grips with the USB port on my computer, which for reasons best known to the manufacturer, cough, Apple, switches off ports that are in use, I managed to get two RTL-SDR dongles connected and working. This involved removing GNU Radio, which was installed using a tool called "homebrew", then installing it instead using "radioconda", twice, since the first time the installer failed with an error, actually three times, because the failed installation left all manner of rubbish behind, so that needed to be removed; then I had to disconnect my keyboard and track pad, because for reasons only known to the manufacturer, yeah, the same one, they won't play nice if there's an RTL-SDR dongle plugged into the USB-C hub, I finally got this running, which in turn involved figuring out what the GNU Radio "Device Arguments" look like for a locally connected dongle, in case you're wondering, it's "rtl=0" for the first one and "rtl=1" for the second.

Clearly this project is living up to its name, Bald Yak.

Now I can invert a signal, I can amplify and attenuate it, change the phase, shift the frequency, swap the I and Q, do a complex conjugate, and have a user interface that can change these settings as required.

I'm going to ignore the hour of my life I'm not getting back to understand how variables, parameters and user interface items hang together and how they interact. It's logical, but it takes a bit to wrap your head around it and I'm a software developer, so I don't envy you if you're not.

Anyway, I tuned to a local FM broadcast radio station and couldn't make any noise go away. I then discovered that my noise antenna was picking up the station just fine, so that didn't help. Then I swapped radios, actually, I just swapped the zero and the one in the "Device Argument" fields and tried again.

In the process I discovered how you can create a so-called "Hierarchical Block" in GNU Radio and to my delight also discovered that there is one that can have a user interface, so I can make a stand-alone block, that has a user interface, that I can use in another project, which is how I intend Bald Yak to function.

So, changing stations, I could finally hear noise, but still no reduction.

Then I realised that I was using FM, not single side band, so I started hunting for an SSB decoder but had to abandon ship to go and do life. Overnight I realised that if everything went to plan, the two FM signals should have cancelled each other out, making silence, which they didn't, despite my efforts.

So, at this point I have a thing that can alter noise and mix it with a signal for the purposes of noise reduction. That it doesn't work is potentially because I have not enough range in my adjustments, or too much range with not enough steps, just as likely it's because I'm missing some fundamental understanding somewhere. If you have any documentation I should read, please don't be shy.

As life adventures go, I'm hooked, but it's not without shaving Yaks, Bald or otherwise.

I'm Onno VK6FLAB


For anyone curious about the crackle of a distant voice emerging from the static or the thrill of making a contact across the globe using nothing but radio waves, Foundations of Amateur Radio offers a friendly, steady guide. Hosted by Onno (VK6FLAB) from Australia, this long-running podcast acts as a companion for newcomers navigating the initial, often overwhelming, steps into this vast hobby. Each episode deliberately unpacks a single facet of amateur radio, breaking down technical concepts, equipment, and operating practices into digestible pieces. You'll hear practical advice on how to get started, find your place within the global community, and discover which of the hobby's countless avenues-from building antennas to satellite communication or emergency service-might spark your passion. It’s not about dry theory; it’s about demystifying the process and sharing the genuine rewards that keep enthusiasts engaged for a lifetime. Having evolved from its earlier incarnation in 2011, this podcast builds from the ground up, week by week, creating a solid resource that grows with you. Tune in for a down-to-earth conversation that makes the airwaves feel a little more accessible and a lot more inviting.
Author: Language: en-au Episodes: 100

Foundations of Amateur Radio
Podcast Episodes
Bald Yak 20: More Pi with the Soap [not-audio_url] [/not-audio_url]

Duration: 4:48
Foundations of Amateur Radio The thing I think I love most about the hobby of amateur radio is the challenges it represents, not in terms of life or emotional ones, though I will admit that there's some of those .. in no…
Bald Yak 19: SoapyAudio adventures [not-audio_url] [/not-audio_url]

Duration: 5:16
Foundations of Amateur Radio Previously I've talked about a piece of software called SoapyAudio. It's part of the toolkit called SoapySDR which in turn is part of a whole ecosystem called the Pothos framework, coordinate…
Why not use LoTW? [not-audio_url] [/not-audio_url]

Duration: 9:34
Foundations of Amateur Radio The other day I witnessed a fellow amateur attempting to guilt another into using LoTW with comments about how their QSO partner would appreciate confirmation via the service, even if they di…
Some days are like running in place ... [not-audio_url] [/not-audio_url]

Duration: 4:54
Foundations of Amateur Radio Recently I discovered that the antenna that I had connected to my WSPR or Weak Signal Propagation Reporter beacon was not a 40m antenna, instead, it turns out to be a 15m antenna. The how and…
Keeping track of your adventures [not-audio_url] [/not-audio_url]

Duration: 8:21
Foundations of Amateur Radio About a year ago I set upon a new adventure, to determine if the dummy load I own, traditionally seen as a device that doesn't emit any RF, to determine if it was in fact imbued with the abil…
Dealing with Complexity [not-audio_url] [/not-audio_url]

Duration: 6:00
Foundations of Amateur Radio Several years ago, I forget exactly when, I was gifted a device called a "Wio Terminal". It's a micro-controller in a box with a screen, buttons, Wi-Fi, Bluetooth and a boat load of sensors,…
What does amateur radio bring to your life? [not-audio_url] [/not-audio_url]

Duration: 5:36
Foundations of Amateur Radio The other day I went for a walk around the block for the first time in a while. It's something I did for a time and then for several reasons, mostly to do with health, didn't. For me it's the…
You don't need an excuse to make noise! [not-audio_url] [/not-audio_url]

Duration: 3:40
Foundations of Amateur Radio The other day I came across a post on mastodon.radio by Keith W6KME announcing the resumption of the Micro Field Day, spelled using the 12th letter of the Greek alphabet, Mu. This was news to…
What's in an S-unit? [not-audio_url] [/not-audio_url]

Duration: 10:43
Foundations of Amateur Radio The other day fellow amateur Randall VK6WR raised an interesting question. Using his HP 8920A RF Communications Test Set, which you might recall from our adventures in measuring radio harmoni…
Where is the spark .. gap? [not-audio_url] [/not-audio_url]

Duration: 8:35
Foundations of Amateur Radio The thing I love most about this amazing hobby of amateur radio is the sheer size of the community and the depth of knowledge that comes with it. Case in point, the other day I mentioned the…