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!


15 comments
F4GKA, Guenael
November 11, 2010 at 3:46 PM (UTC -5) Link to this comment
Great job !
Finally, this enigmatic QRcode was decrypted and the message was found :)
Thank you for your answer and thanks to everybody in the “Knightsqrss” mailing-list.
73
Johan Breukink
November 12, 2010 at 9:49 AM (UTC -5) Link to this comment
Bravo !
Johan
Jimmy
November 14, 2010 at 8:03 PM (UTC -5) Link to this comment
Love it!!! Haha, I enjoy your technique…
Eldon R. Brown SR
November 15, 2010 at 10:38 PM (UTC -5) Link to this comment
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
November 27, 2010 at 9:45 PM (UTC -5) Link to this comment
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
November 28, 2010 at 12:29 AM (UTC -5) Link to this comment
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
November 28, 2010 at 3:25 PM (UTC -5) Link to this comment
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 shit but I hope you enjoyed youself while playing with it.
Patrick Donnelly
November 30, 2010 at 11:48 AM (UTC -5) Link to this comment
wow. that is some dedication.
Patrick, QrArts
Patrick Donnelly
November 30, 2010 at 11:49 AM (UTC -5) Link to this comment
One issue is that many QR readers will not Scan inverted codes.
-pd
Patrick
November 30, 2010 at 11:49 AM (UTC -5) Link to this comment
One issue is that many QR readers will not Scan inverted codes.
-pd
Joshua Davison
January 19, 2011 at 8:22 PM (UTC -5) Link to this comment
I used notepad to decode it, and came up with this:
░░░░░░░░░░░░░░░░░░░░░░░░░░░
░███████░░████░░░░░███████░
░█░░░░░█░░░█░░░██░░█░░░░░█░
░█░███░█░████░░░░█░█░███░█░
░█░███░█░░░█░██░░█░█░███░█░
░█░███░█░███░░██░░░█░███░█░
░█░░░░░█░█░██░░░░░░█░░░░░█░
░███████░█░█░█░█░█░███████░
░░░░░░░░░░░░█████░░░░░░░░░░
░░█░░█░█░█░░░██░░░█░██░█░░░
░█░░█░█░█░█░█████████░██░█░
░█░███░█░██░░█░░█░░█░█░███░
░█░░░░░░█░░░██░░█░░░░██░░█░
░░░███░██░░░████░████░█░██░
░░░░█░░░░████░░████░░█░█░░░
░███░█░████░█░██░██░░███░█░
░██████░█░██░░░██░███░░███░
░░░███░██░░░█░░░██████░█░░░
░░░░░░░░░███░█░░██░░░█░░██░
░███████░░██░░████░█░██░░░░
░█░░░░░█░░░██░░█░█░░░█░███░
░█░███░█░██████░░████████░░
░█░███░█░░█░░████░░█░░░█░█░
░█░███░█░░░░█░░██░░░███░█░░
░█░░░░░█░█████░██░░█░██░██░
░███████░░░██░███░░░█░█░░█░
░░░░░░░░░░░░░░░░░░░░░░░░░░░
Joshua Davison
January 19, 2011 at 8:23 PM (UTC -5) Link to this comment
Might have to copy and paste that somewhere :P
Looked good in the editor.
hamman
May 29, 2011 at 8:57 AM (UTC -5) Link to this comment
Hey, well done on the decryption !
Nice technique- and nice site !
You are working on and are interested in all the same things as me !Day before yesterday i just built my first AVR programmer :) Im also into QRP, I have all the components gathered to build my first TX .
Great site- really enjoyed it, first time here- but certainly not the last !
Greetings from Ireland.
Hamman
N.B I dont have my licence- but perhaps when i get it, we could organise a contact ?
Would be fun to ragchew with someone cool on the other side of the atlantic :)
Xrummer Proxies
February 20, 2012 at 3:30 PM (UTC -5) Link to this comment
Amazing Post.thanks for share..additional wait ..
Pharme757
March 26, 2012 at 9:59 PM (UTC -5) Link to this comment
Hello! aeabkkc interesting aeabkkc site! I’m really like it! Very, very aeabkkc good!