vk6flab

joined 11 months ago
[–] [email protected] 2 points 54 minutes ago (1 children)
[–] [email protected] 2 points 55 minutes ago (1 children)
[–] [email protected] 4 points 14 hours ago (3 children)

It appears to be multifactorial:

  • Culling last year due to AI
  • High demand during the festive season
  • Ban on caged eggs in 2036
[–] [email protected] 331 points 16 hours ago (3 children)

That's what it feels like when you steal other people's personal information ..

[–] [email protected] 6 points 16 hours ago (5 children)

In Australia they're not available at all. This is at Woolworths supermarket:

Screenshot of a search for eggs at the largest supermarket in Australia showing none in stock.

[–] [email protected] 17 points 18 hours ago

What do you call a person who practices the pull out method of birth control?

A parent.

[–] [email protected] 19 points 1 day ago (1 children)

Well FB is/was blocking Linux, so I doubt that the Debian Linux team would use that as a platform.

[–] [email protected] 0 points 1 day ago (3 children)

What's the benefit to the employee for doing this?

[–] [email protected] 5 points 1 day ago

The legal system spent centuries attempting to order this and it continues to be debated, argued and transformed on a daily basis.

[–] [email protected] 3 points 2 days ago (3 children)

There is no mention of e-ink, OP has an Android device, I have an Android device, I read eBooks on it daily, I use FBReader. I'm not sure what all the kerfuffle is about.

[–] [email protected] 167 points 2 days ago (1 children)

What, you mean like Microsoft, uh, OpenAI did?

 

In case you're unsure why this has anything to do with Amateur Radio, the ionosphere is directly impacted by space weather, as is Earth's magnetic field.

 

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

10
CME Alert (listserver.ips.gov.au)
 

A coronal mass ejection is expected to arrive in the second half of UT day 24-Jan, possibly inducing G1 geomagnetic activity in the Australian region. A second coronal mass ejection is expected to arrive on 25-Jan, prolonging geomagnetic activity. Auroras may be visible in dark skies late on UT day 24-Jan in high latitude locations, and then there is an further chance for them on 25-Jan.

Aurora alerts will follow if significant geomagnetic activity actually occurs.

 

For quite some time I have operated a WSPR or Weak Signal Propagation Reporter beacon on the 10m band. If you're not familiar with it, I've dialled the power right down to 10 dBm, or 10 milliwatts. You'd think that this would be a fool's errand, but it was heard 13,945 kilometres away. Of late the reports have been far and few between, despite the 10m band being quite active.

Encouraged by a friend playing on 15m, I made the decision to change bands. At the moment this is not a trivial process, though at some point in the not too distant future, hopefully before I need a Zimmer Frame, I intend to erect a multi-band Hustler 6-BTV antenna that has been in storage for several years. Before that occurs, since it involves all kinds of shenanigans, I went for a simpler option, replace the 40m helical whip antenna with a 15m helical whip, something I can do without climbing on the roof.

In case you're wondering, using an SG-237 antenna coupler, the 40m antenna tunes fine on 10m, but not so much on 15m.

After pulling the replacement antenna from its hidey-hole I discovered that it was missing a tip. I don't recall if it ever had one, it came from the estate of a fellow amateur, Walter VK6BCP (SK). I took it on faith that it worked on the band that it was labelled with and went looking for a way to close off the tip. In the end I used heat shrink with a glue lining and sealed it off, folded over the tip and used more heat shrink to keep it folded over. We'll see how well that works.

I then unscrewed the 40m antenna from its mount and was frustrated that it would only come with the spring attached. Using a crescent and a pipe wrench I was able to unscrew the spring but discovered that the threaded stud that connects the two didn't stay in the antenna, instead it stayed in the spring, which meant that I couldn't attach my 15m antenna without breaking something.

I remembered that I had another spring lying around, so I dug that out of storage, I really need to set-up a "part-db" to keep track of where everything is, and attached the 15m antenna to the spring and screwed it back into the antenna mount and I'm back in business.

In putting away the 40m antenna I lifted it up after removing the spring and promptly got wet. Litres of brown water came pouring out of the antenna. It turns out that the adjustable tip isn't sealed and sitting on my roof for several years managed to fill it full of water, that's through a tiny opening at the tip, in a country known for hot and dry, it's expected to be 40 degrees Celsius here today. It made me wonder if that water was why the beacon wasn't heard recently.

The next step involved changing the beacon frequency. The hardware is a ZachTek 80To10 desktop transmitter, built by Harry, SM7PNV. The software to change settings runs on Windows and since my system crash in June last year I've not had any Windows machines lying around. I went to the ZachTek website and discovered in the downloads section that there is a link to a web page configuration tool written by Phil VK7JJ, of wspr.rocks fame, that allows you to open a website, plug in your beacon, and configure it from any Chrome web browser. I was both astonished and delighted that this exists.

I changed the beacon band from 10m to 15m and powered it up.

One final step. As I said, for the last little while my beacon has only sporadically been heard, so I set up a local monitoring system. It consists of a little computer connected to an RTL-SDR v3 dongle and the included telescopic dipole. Using a Docker container written by Guenael VA2GKA, I monitor my own beacon. After updating the band from 10m to 15m, reports started flowing in.

As an aside, the last time I did this I built a custom Raspberry Pi image and had to change several things to start monitoring after a reboot. This time I used an inbuilt Docker mechanism, "restart unless stopped", to launch the container. This means I don't need to alter the system and I can add and remove containers as I need to.

This is important because it's likely how some of the "Bald Yak" project will also gain functionality.

I'm feeling rather chuffed that on my first day back as a human after recovering from my first bout of COVID, I managed to move my beacon to 15m, get it on-air, configured and transmitting with confirmation in the log.

The only thing missing now is your signal report.

I'm Onno VK6FLAB

 

Reports welcome!

 

The other day I noticed a flurry of QSL card designs come across my screen and it sparked me into action on actually creating such a card for myself. I've previously talked about what I think of the current offerings in terms of validating contacts, but having a QSL card design is step one of confirming a contact, well, technically step two, since you have to make the contact first.

I'm intending to use SVG as the design platform, since it's a text file that describes an image, so I can use my favourite command line tools, like "grep", "sed", "cut" and "awk" to replace parts of the file, so I can make a personal card for every contact, but that's a story for another day.

Accompanying the rush of new card designs was an intriguing hash tag, #hamchallenge. Looking into this further I discovered a project by Fabian DJ5CW with an accompanying website, hamchallenge.org. When you go there, and you should, you'll discover 52 challenges with varying levels of difficulty that you can use as inspiration to do something with your hobby.

The usual suspects are there, things like week 42, receive an SSTV image, or week 50, receive an APRS message or beacon. Then there are those like week 38, make a contact on Morse code, and week 19, simulate an antenna. It goes well beyond those essential skills into important stuff like, week 14, implement and describe a backup solution for your ham radio log, and week 24, make a contribution to an Open Source ham radio software package.

Not all challenges require an amateur license either. For example, week 32, listen to a broadcast station from another country, is open to anyone with a sense of wonder. The difficulty level is included in a challenge, so week 17, which VHF or UHF repeater is closest to you, is marked as easy, where week 3, work another continent on 80m or 160m, is marked as hard.

There's also helpful information about a challenge, for example week 6, take part in a contest, includes a link to the contestcalendar.com website where you'll find most if not all amateur radio contests.

Of course this is your hobby and it's not up to me to tell you what to do, but I have to say that the items in this list are exciting, they speak to me and I have to say that I'll be taking inspiration from this list and I recommend that you do too.

Not all of the challenges will be something new to everyone. I've already built an antenna, participated in a contest, worked a 10m FM repeater and several other things on this list, but if I'm going to make a Morse Code contact, I'm sure going to have to find some time to actually, you know, learn Morse. I know this will come as music to the ears of several of my amateur friends.

There will be challenges that speak to you more than others, week 21, create a GNU radio flowgraph, is right up my alley, but that might not be the case for you.

If you feel inspired, week 47 encourages you to submit an idea for the Ham Challenge next year.

So, thank you to Fabian for the efforts and many amateurs who have already contributed to this adventure. What a beauty. I'm off to finish my QSL card.

I'm Onno VK6FLAB

 

Life is messy. This is not a revelation. We attempt to organise this chaos by using all kinds of magic incantations, to-do lists, new year resolutions, plans, projects and anything else you might have in your arsenal. The same chaos reigns, in how we make progress. Some days are harder than others. I'm mentioning this because I've seen a couple of amateurs share all the things they didn't achieve last year. If we used that metric, I could point out that I didn't win the lotto, likely, neither did you, or your friends. I didn't get on HF to make a contact, I didn't put up a 6BTV antenna, the list is never ending.

In other words, it's easy to say what you didn't do. What if you turned this upside down? I hosted my weekly radio net for its thirteenth year, I had my beacon heard more times than I have bandwidth available to check right now, I started a project that looks like it's going to keep me busy for some time to come. I've been working my way through a full system crash and I can see light out the end of the tunnel, six months later.

So, don't beat yourself up about all the things you didn't do.

Speaking of that, making plans is fine, but don't use the to-do list as a way to describe all the things you didn't do, instead, think of it as an inspiration for what to do when you're bored.

Chaotic aspects of life aside, the same disorder reigns supreme in the software world. GNU Radio on which I'm basing the "Bald Yak" project is just as chaotic. New versions are released regularly. Right now it's at version 3.10.something. On my Mac, it's 3.10.11.0, on my Debian machine it's 3.10.5.1. Depending on which operating system you use it's different, there's a wiki table, but that's out of date, before you ask, yes, I've requested an account on the GNU Radio wiki so I can fix it.

This only scratches the surface of things that are, for want of a better word, disharmonious. This might be perceived as chaos, but the reality is that this exists throughout the computing world. If you're not a software developer you might have only scratched the surface of this, trying to open a document written for a different version of your word processor, installing a new operating system and finding software that was working perfectly before, suddenly doesn't.

GNU Radio is a complex beast. The latest release has 5,570 files, making nearly 80,000 lines of source and related code. The git repository shows 579 authors and I will point out that it's likely there are more, since the project was first released in 2001, but the git repository only goes back to 2006.

Said differently this is a big project that nobody is likely to hold entirely inside their brain. It means that things change without everyone involved knowing about it. I'm raising this because we're diving into a complex environment that we're using to build ourselves a new thing.

At this point you might want to run for the hills. I understand.

One of the great things about society is our ability to abstract. It's why I'm typing on a keyboard with letters of the alphabet and not punching holes into cardboard. It's why I'm looking at a screen with graphics and controlling images with my finger, rather than looking at dozens of blinkenlights that provide a lifetime of memories.

GNU Radio is the abstraction of radio. That's the whole point. It allows us to pick up a signal block, tell it to make a kilohertz tone, connect it to my loudspeaker so sound comes out. It looks simple on the outside, but underlying that is a level of complexity that you will only encounter when it comes to raise its chaotic head.

This all to say that I did make some progress. When you play an audio tape at half speed, or play a single at 33 RPM instead of 45 RPM, the result is that the audio is slower, but it also means that the audio is lower in frequency. It led me to wonder if I can use that phenomenon to help me hear better. What if I could play audio slower and have my ears be able to hear better. Right now, anything above 2 kHz is hard to hear. I keep asking my partner, "Say again?", "Sorry, what?", "Sorry, I didn't hear that."

Hearing aids seem to attempt to deal with the problem by amplifying the sounds you cannot hear. This results in squealing and all manner of other unpleasantness. It also doesn't seem to help me. Instead I wondered if I could halve a 4 kHz tone to 2 kHz, I could hear it. So, if I play audio at half speed, I can hear more. Unfortunately it would also mean that I would be running behind all the time. So, what if I could play at half speed and remove half the audio samples? I can confirm that with simple tones this works and I did this inside GNU Radio with pretty much one block, "Keep M in N samples", in this case, keep one in two. I halved the sample rate and all was well.

Why is this significant?

Well, aside from that it might help me hear better, it represents the first time I had an idea that I could try out in realtime and see what it did. For a bunch of reasons I haven't yet moved on to actually hearing it, by setting the source as the microphone and the sink as my headphones, but that's on the cards soon.

Making progress is a series of chaotic steps that take you on a journey. If you're lucky, the journey will get you where you want to go.

I'm Onno VK6FLAB

 

As you might know, a little while ago I started a new project.

"The Bald Yak project aims to create a modular, bidirectional and distributed signal processing and control system that leverages GNU Radio."

In embarking on this adventure I've been absorbing information as I go whilst explaining what I've learnt to anyone who will sit still long enough. Credit to Glynn VK6PAW and Charles NK8O for their patience.

For most people, me included, the introduction to GNU Radio happens via a graphical user interface where you build so-called flowgraphs. These are made up of little blocks that you wire together to get from a Source, where a signal originates, to a Sink, where it terminates.

Each of these blocks does something to the signal, it might be a filter, an amplifier, it might encode or decode a signal like FM, AM, Wideband FM, or some other modulation like Phase Modulation or OFDM, Orthogonal Frequency Division Multiplexing, a way of transmitting digital information using multiple channels. It's used in places like WiFi, ADSL and DSL, Digital Television as well as modern cellular systems.

Those blocks generally expect a specific type of input and generate some particular output.

After you save your design you can run the flowgraph and behind the scenes some magic happens. Your visual representation of signal flow is translated into either Python or C++ and the resulting application is what is actually run, which is why the user interface that you design your flowgraph in is cunningly named, GNU Radio Companion.

So, what if you want to do something that doesn't yet exist? As it happens, that's where I came across a YouTube video by John VE6EY called "GNURadio Embedded Python Block" which neatly describes a fundamental aspect of how the GNU Radio framework actually operates.

One of the blocks available to you is one called "Python Block", which you can add to your flowgraph just like any other block. What sets it apart from the others is that you can open it up and write some Python code to process the signal.

When you first insert such a block, it's already populated with some skeleton code, so it already does something from the get-go and that's helpful because if you break the code, you get to keep both parts.

Seriously, it allows you to figure out what you broke, rather than having to worry immediately about how specifically the code is wired to the outside world, which let's face it, is not trivial. If you're a programmer, think of it as the "Hello World" of GNU Radio.

If not much of that means anything, think of it as a variable electronic component. If you need it to be a capacitor, it can be that, or a transistor, a whole circuit, or just a filter, all in software, right there at your fingertips and no soldering required.

Now I'm under no illusion that everybody is going to want to get down and dirty with Python at this point, and truth be told, I have a, let's call it "special" relationship with the language, but that is something I'm just going to have to get over if this project is going to go anywhere.

For my sins this week I attempted to recreate the intent of John's video on my own keyboard and discovered that debugging code in this environment might be tricky. It turns out that you can actually print out Python variables within your code and in the GNU Radio environment they'll show up in the console inside the companion window, which is handy if you committed one of many Python sins, like say attempting to compare an integer against a list. Don't ask me how I know.

One thing I'm planning to attempt is to get the same thing going for C++ output. By default GNU Radio Companion uses Python, but you can change it so instead of generating Python, it can generate C++. Whilst I have no immediate need for that, I do know that at some point it's likely that I will, like say when I want to run something on an embedded processor, or some other contraption. So, whilst I have nothing to lose, I want to try out the boundaries of my new toy, besides, I have form, in testing boundaries that is.

I'm Onno VK6FLAB

view more: next ›