Paul Tagliamonte · @paul
736 followers · 438 posts · Server soylent.green

When working on my OFDM PHY, I wound up using the 802.3an LDPC matrices, and found doc typos. I've kept a thread over email alive for a few months where David Law (not on fedi?) shepherded an oddball email into a maintenance request, now live at ieee802.org/3/maint/requests/m

Wild to see how things like 802.3 works, I don't know what I expected but it's been a total learning experience. The 802.3 maintainers put *so* much time and effort into the spec, and I appreciate them so very much!

#hztools #RF

Last updated 1 year ago

Paul Tagliamonte · @paul
679 followers · 305 posts · Server soylent.green

Somewhat unbelievably, I've been able to get my PHY / Layer 2 project (which has been in-progress for 3 years and why I was writing ) over the line last night and tonight and exchange packets with the regular Internet(!). 🧵

#hztools

Last updated 1 year ago

Paul Tagliamonte · @paul
661 followers · 286 posts · Server soylent.green

:hztools: Thanks to a suggestion, I put up a example at github.com/hztools/examples -- more to come over time.

Incidentally, this also prompted me to also open up hz.tools/cli which are cobra shims with a standard set of flags to create sdr device handles. Didn't feel like working around that not being public, and it's infrastructural enough where that's not any real learning in there.

#hztools

Last updated 1 year ago

Paul Tagliamonte · @paul
659 followers · 285 posts · Server soylent.green

Digging up some old files on last night when writing that blog post had me find an old image I forgot to share!

A year or so ago, I played with a CW RADAR, transmitting a CW at my ceiling fan, turning the fan on, and then shutting it off. It worked WAY better than expected! I've loved going back to this photo from time to time.

#hztools

Last updated 1 year ago

Paul Tagliamonte · @paul
659 followers · 285 posts · Server soylent.green

Since everything was on battery power, it earned me a grand total of 3 points (qrp, battery) over the whole weekend. A personal high score since that's not really the part of the hobby I enjoy 🤣

#hamradio #hztools

Last updated 1 year ago

Paul Tagliamonte · @paul
659 followers · 285 posts · Server soylent.green

During Field Day 2021 I used hz.tools/{sdr,fm} and some glue code to try and participate by transmitting using a HackRF (with a bandpass and amp to bring me up to 0.1Watt, and an antenna up outside) attached to a Raspberry Pi to transmit over the network, and listen on an RTL (also using )

I made a confirmed QSO with a member of my club a bit over 6 miles away, simplex, and have checked into a weekly net doing the same.

#hztools #hamrado

Last updated 1 year ago

Paul Tagliamonte · @paul
645 followers · 279 posts · Server soylent.green

As a bonus with the code dump, I also made a repo that's being used by my (not yet public) PHY / Layer 2 public.

The existing TAP bindings I found didn't have support so I had to write pkg.go.dev/hz.tools/tap -- specifically so I could add ARP / NDP routes to the kernel

#hztools #openbsd

Last updated 1 year ago

Paul Tagliamonte · @paul
645 followers · 279 posts · Server soylent.green

pkg.go.dev/hz.tools/rfcap is able to read and write IQ at a byte boundary - things like process pipes (it's really fun to pipe IQ between processes using UNIX pipes), files on disk or over the network(!). It's very VERY simple, and the "grown up" thing to do is to use SigMF - but this works well for its very tiny ambitions of shuffling data at a single sample rate and format between processes over a byte based transport.

Protocol docs @ hz.tools/rfcap/

#hztools #hamradio #RF

Last updated 1 year ago

Paul Tagliamonte · @paul
645 followers · 279 posts · Server soylent.green

pkg.go.dev/hz.tools/fm and pkg.go.dev/hz.tools/am can demodulate (and modulate for FM) analog audio from IQ.

It's very fun to listen to analog FM radio, the local ham radio repeater via a tiny go program. This was the first "Hello World" I wrote back in 2018.

#hztools #hamradio #RF

Last updated 1 year ago

Paul Tagliamonte · @paul
645 followers · 279 posts · Server soylent.green

pkg.go.dev/hz.tools/rf and pkg.go.dev/hz.tools/sdr contain a lot of the basics -- the concept of Frequencies, IQ sample formats, the interface for an SDR (receiver, transmitter, transceiver), basic I/O helpers, stream helpers, and the drivers for the rtl-sdr, HackRF, PlutoSDR, UHD, and AirspyHF+ Discovery.

#hztools #hamradio #RF

Last updated 1 year ago

Paul Tagliamonte · @paul
645 followers · 279 posts · Server soylent.green

I'm very thankful to everyone who helped me over the years, and all the and nerds who've helped me along the way.

I'm hoping all this can help "pay it forward" by helping others learn with a codebase that's understand-able by a single person (since a single person wrote it)

#RF #hamradio #hztools

Last updated 1 year ago

Paul Tagliamonte · @paul
645 followers · 269 posts · Server soylent.green

After 4 years, I've started to hit "Make Public" on a bunch of my Go SDR code. I've published the overview blog post at k3xec.com/hztools/

I'm still slightly worried -- I really don't want to maintain this for the world to use (use @gnuradio) but it's been fairly stable recently, so I'm very hopeful that this will be useful to those looking to learn.

I'll be publishing more over time as the repos I'm learning in stabilize or are "done".

#hztools #hamradio #ham #RF #Golang #sdr

Last updated 1 year ago