Deciphering QR code from Radio Spectrograph
650 words | Posted on November 11th, 2010
Scott was 25.13 years old when he wrote this!
Filed under: General, Radio
Although I’ve been ridiculously busy the last few weeks, I’ve been eying some posts circulating around the Knights QRSS mailing list regarding mysterious signals in the 40m band. They recognized it as a QR Code and tried decoding it with phones and such, but the signal wasn’t strong enough above the noise to be automatically deciphered.
That’s the original spectrograph as captured by ON5EX in Belgium. It’s a pretty good capture, it’s just not great enough to be automatically decoded. The first thing I did was pop it open in ImageJ, separate the channels, and use the most useful one (red, I believe). When adjusted for brightness and contrast, I was already at a pretty good starting point.
I tried using an automated decoder at this point (http://zxing.org/w/decode.jspx) but it wasn’t able to recognize the QR code. I don’t blame it! It was pretty rough. I decided to manually recreate one, so I slapped the image into InkScape, add a grid, and align the image with the grid. From there, it was as easy as drawing a single grid-square-sized rectangle and copy/pasting it in all the right places.
However problems came when working on those last few rows. The static was pretty serious, so I tried a lot of different filters / adjustments. One of the greatest benefits was when I stretched the image super-wide and performed a “rolling ball” background subtraction, then revered it to its original size. That greatly helped reduce the effect of the vertical striping, and let me visually determine where to place the last few squares by squinting a bit.
Once it was all done, I saved the output as orange, then later converted it to black and white for web-detection via the ZXing Decoder.
The final result:
… which when decoded reads:
WELL DONE / F4GKA QSL PSE 73
Yay! I did it. Although my call sign is AJ4VD, I’m spending the afternoon at the University of Florida Gator Amateur Radio Club station and am using their computers, so I might QSL as W4DFU. Also, there’s a lot to be said for ON5EX for capturing/reporting the QR code in the first place. After a bit of research, it turns out that F4GKA is one of the Knights! I should have known it =o)
Thanks for the fun challenge!
This entry was posted on Thursday, November 11th, 2010 at 3:13 pmand is filed under General, Radio. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.
14 Responses to “Deciphering QR code from Radio Spectrograph”
| F4GKA, Guenael wrote the following at 03:46:43 PM on November 11th, 2010 |
|
Great job ! 73 |
| Johan Breukink wrote the following at 09:49:45 AM on November 12th, 2010 |
|
Bravo ! |
| Jimmy wrote the following at 08:03:53 PM on November 14th, 2010 |
|
Love it!!! Haha, I enjoy your technique… |
| Eldon R. Brown SR wrote the following at 10:38:38 PM on November 15th, 2010 |
|
Good Job, I had the same thoughts for decoding, but I just did not follow through. I had been playing with QR Codes, See: http://wa0uwh.blogspot.com/2010/09/more-qr-code.html 72 Eldon – WA0UWH |
| Ian Tester wrote the following at 09:45:47 PM on November 27th, 2010 |
|
BTW, JPEG’s are best for continuous-tone photos and the like. Using it for a bi-level image is really inappropriate. As an experiment I pulled the ‘final’ image into The GIMP, used the ‘threshold’ tool to remove the JPEG artefacts, autocropped it, and saved it as PNG with level 9 compression. The result was 572 bytes, much smaller than the 12K JPEG you posted. Running it through OptiPNG got it down to 270 bytes. That’s fewer bytes than are in this message! Similarly, many of your screenshots would probably be smaller in the PNG format. Don’t just always use JPEG. Anyway, interesting work! I wonder how much bandwidth that signal used compared to other methods of sending text. |
| RBR wrote the following at 12:29:39 AM on November 28th, 2010 |
|
I attempted to reconstruct it but i didn’t do it pixel per pixel i just traced it and scaled it into a square. It worked using google goggles, funny thing is that if i just take to raw image and use google goggles it comes up as “kill you” in txt. |
| Paul wrote the following at 03:25:00 PM on November 28th, 2010 |
|
Hey, I have a great Idea. Wat if I write a haiku on a piece of toilet paper, wipe my as with it flush it through the toilet. Is anybody interested in decoding that? I gues this is just not my kind of **** but I hope you enjoyed youself while playing with it. |
| Patrick Donnelly wrote the following at 11:48:36 AM on November 30th, 2010 |
|
wow. that is some dedication. Patrick, QrArts |
| Patrick Donnelly wrote the following at 11:49:15 AM on November 30th, 2010 |
|
One issue is that many QR readers will not Scan inverted codes. -pd |
| Patrick wrote the following at 11:49:50 AM on November 30th, 2010 |
|
One issue is that many QR readers will not Scan inverted codes. -pd |
| Joshua Davison wrote the following at 08:22:19 PM on January 19th, 2011 |
|
I used notepad to decode it, and came up with this: ░░░░░░░░░░░░░░░░░░░░░░░░░░░ |
| Joshua Davison wrote the following at 08:23:06 PM on January 19th, 2011 |
|
Might have to copy and paste that somewhere |
| hamman wrote the following at 08:57:25 AM on May 29th, 2011 |
|
Hey, well done on the decryption ! N.B I dont have my licence- but perhaps when i get it, we could organise a contact ? |
| Xrummer Proxies wrote the following at 03:30:06 PM on February 20th, 2012 |
|
Amazing Post.thanks for share..additional wait .. |

