absorptions is a blog about my hobbies. So far it's mostly about signals and programming, but may pick up a random new field at any point. It's a place for me to direct my need to talk nerdy. Why? I like the smell of unsolved mysteries. Call them obsessions or special interests; I call them absorptions.
Here I've collected some questions often asked in the comments section etc.
- Contact info
- Why?
- What are your rates for a sponsored article or guest post?
- How did you learn about signals? How could I learn, too?
- Do you do talks or workshops?
- How could I support this blog?
- What's your decoding software of choice?
- What kind of radio hardware you've used in this blog?
- What's the software you use to draw graphics and waveforms?
- Could you release source code for this project you wrote about?
- Are you a hacker that breaks into computers?
- Will you decode this signal / write this program for me?
- What do you do for a living?
- What are you working on right now?
- What's that weird language?
- How is your name pronounced?
- I have questions!
Contact info
- inquiries via david.bientechmedia@gmail.com
- please browse through this FAQ first
- currently not open for talks or work assignments
- twitter: @windyoona
Why?
I write this blog because I want to share the joy of researching something interesting. And sound and waves are pretty interesting.
I'm one of those people who enjoy absorbing information about something very specific and solving mysteries for no apparent reason. Maybe it feels natural for us; maybe we see patterns in everything and are tempted to get to the bottom of them. Or maybe we never wanted to stop playing. Some would say there are lots of similarities with putting together puzzles. Perhaps you would like this Quora answer: Why do people like puzzles?
Sometimes I may do things the hard way, instead of the obvious way. Why? Because this is how we roll in this blog.
How did you learn about signals? How could I learn, too?
See my nerd story. I learnt by spending much of my free time SWLing, programming, playing musical instruments, and reading for many, many years. This geeky stuff is what I've always enjoyed doing and I find it relaxing as well. It's like when some people like listening to heavy metal or reading manga, and end up having a lot of knowledge on the subject as a byproduct.
Here are some sources that might be suitable for beginners:
- Seeing Circles, Sines, and Signals – a compact primer on digital signal processing
- Let's learn about waveforms by Josh Comeau
- RTL-SDR Quick Start Guide – set up a cheap radio scanner based on the RTL-SDR
And maybe not-so-beginners:
- Tutorials on Digital Communications Engineering by Charan Langton
- The Scientist and Engineer's Guide to Digital Signal Processing by Steven W. Smith, Ph.D.
- Signal Analysis for Radio Monitoring, a book on Amazon (I haven't read it myself)
What are your rates for a sponsored article or guest post?
I don't do those at all, sorry.
Do you do talks or workshops?
Currently I do not give talks, but there are some videos of past talks:
- SDR Analog Video Decoding Adventures (GRCon 2020)
- "My journey into FM-RDS" (30C3)
- "Solving mysterious signals – a case study" (Reaktor Dev Day)
How could I support this blog?
Maybe leave a nice comment, or better yet, get inspired to investigate some mystery yourself :)
What's your decoding software of choice?
Some command-line tools I use (Linux and macOS):
- csdr does many kinds of basic low-level DSP tasks and can be used with Unix pipes on the command line. It can, for example, demodulate AM and FM, shift frequencies up and down, and convert integer data to floating point and back. It also works quite fast.
- SoX can do brick-wall sinc filtering and arbitrary resampling. It's sometimes easier to use than csdr because the frequency parameters are in Hertz. I also use it to change the number of channels, to write WAV file headers, and to convert between file types.
- For simple FSK stuff, minimodem is the perfect choice.
- multimon-ng for many digital modes.
For visually browsing the live radio spectrum and listening to carriers by ear I use the GnuRadio-based gqrx. For all kinds of offline measurements and visual inspection I use baudline.
I also write my own tools, many of them in C++ using the liquid-dsp library. Some of these are open source:
What kind of radio hardware you've used in this blog?
In most radio-related projects I've used a cheap USB DVB-T receiver stick, also known as RTL-SDR. Currently I use the Airspy R2 as my main receiver. Some FM radio related projects were done using a modified "worldband receiver".
What's the software you use to draw graphics and waveforms?
For waveforms I use my own program called oscille (explained in a blog post). Baudline renders beautiful spectrograms. For graphics design and compositing I use free software like Inkscape, GIMP, ImageMagick, and librsvg.
Could you release source code for this project you wrote about?
Short answer: no, unfortunately not.
Long answer: I like to write about my projects but I only occasionally release full source code. There are a couple of reasons behind this:
Firstly, publishing big software projects is a commitment. I would have to sacrifice a lot of my free time, and it would become less fun. And I want to keep writing this blog fun.
How can it be extra work to release something I already wrote? A few examples:
- Software is expected to work on different OS distributions, hardware configurations, and compiler versions. There is already plenty of dysfunctional software in the wild, and I wouldn't want to contribute to that.
- I must be legally allowed to release all parts of the software. A single snippet of copy-paste from a tutorial or example that has no licensing information means I cannot release the software.
- Published code has to be well-documented, preferably in English which is not my first language. Manuals and usage help should be up to date and internally consistent.
- User input should be validated and all possible errors and exceptions should be foreseen and handled. "Dirty hacks" should be avoided.
- Once published, software needs to be maintained to work with current libraries and operating systems, and for possible portability and security issues.
- Users require support. I wouldn't want to leave my users without support.
Also, I feel partly responsible for things people do with my tools.
Instead of source code I prefer to share ideas, blog posts, diagrams, flow charts, algorithms; this is much more portable.
However, I have published many of my command-line tools on GitHub. These include:
- redsea, an RDS decoder that aims to be fast and light-weight while still supporting most if not all RDS features.
- deinvert, for descrambling a type of voice encryption known as voice inversion scrambling.
- darc2json, for receiving DARC carriers. At the moment it only supports a few types of data packets.
- squelch, a noise gate to facilitate RLE compression of PCM signals.
Are you a hacker that can break into computers?
No. I used the word 'hacker' half-jokingly in a blog post because I reverse engineered a cipher. I then decided to embrace the term for some time, because 'hacker' can also mean someone who does 'hacks', i.e. weird solutions to technical problems. However, it unfortunately causes this confusion with infosec. I'm not skilled in infosec things.
Will you decode this signal / write this program for me?
Currently I don't accept commissions.
What do you do for a living?
I work as a C++ software engineer, which is a fancy way of saying I write computer programs in a team.
What are you working on right now?
I always have some posts as drafts, but there are no rigid plans or schedules. When the blog starts to become a burden I take pauses of several months – even years – to think about other things. These would be outside the subject matter of this blog.
For example, I make sleepy music (EP on Spotify). I also like bike rides, gaming, and visual art.
What's that weird language?
It's Finnish, the official language where I live and also my native language. I started to learn English at the age of 11. I also know Swedish and some Estonian.
How is your name pronounced?
The 'oo' is pronounced like the 'oo' in 'door'. I won't be offended if you say it differently. If you want to learn more about Finnish phonology, see this video, it's a fun summary.
I have questions!
I'm on ask.fm.
Discovered the dial-up poster last year. Loved it.
ReplyDeleteDiscovered your blog today. Enjoyed it.
Saw that you have a radio license. Congrats!
de VA1DF
I grew up hacking telephone systems, A lot of this for me is the old school of tech. Still, I find your signals analyses really interesting. Thanks again.
ReplyDelete-C
Hi
ReplyDeleteGreat blog! Would you mind sharing the details of the HW you use for your investigations?
Thanks
Cheers
Thanks, I've added info about that.
DeleteHi Oona,
ReplyDeleteI started to follow your blog some years ago, congrats, I love this stuff... A personal question came up (sorry I'm curious), what's your type/result of Myers-Briggs test?
Thanks!
Hi, I always get either INTP or INFP.
DeleteOona, what is the baudrate of the human ear and auditory processing system? What I mean is that someone could listen to and process a morse code transmission at 300 letters per second using just a single frequency (and different durations). If we added more frequencies could we double or quadruple this rate?
ReplyDeleteGoogling around, seems there's a world record for CW RX from 1939, at 75 WPM = 6 letters per second.
Deletehi, if you didnt know there is a nice project on SDR, modem, codecs. There is even a physics defying low power tests... http://www.rowetel.com/blog/
ReplyDeletehi windy... used to follow you on G+... refreshing to see you're still in the noise... don't hurt anyone with those massive flaming-shoes.... :-)
ReplyDeleteHi! I miss G+ sometimes, such a fun place to share all the geeky stuff. See you around!
Deletehey oona, which gfx application did you used for that famous 56k dialup sound artwork? thats look great and i need design something like that for mine poster..
ReplyDeleteHi, the spectrogram is a screenshot of Baudline. Any software with a customizable spectrogram display should work. I used Inkscape for the layout and overlays.
DeleteHello, thanks a lot for your work.
ReplyDeleteI've got a couple questions for you.
I use some of your programs (redsea and stereodemux) in a program that I created to broadcast stereo FM radio with live text from RDS to Icecast.
However, I've noticed that stereodemux is no longer on Github. Is there a reason you removed it ? Can you suggest an alternate stereo demuxer that works well with rtl_fm ? Or perhaps an alternate program which can do stereo FM and RDS ?
I still use stereodemux and while not perfect, it seems to work.
Hi, thanks for the comment. There's no other reason for removing it than that I didn't have time to maintain projects and couldn't guarantee that the FM tools were actually standards compliant.
DeleteI'm actually surprised it's being used - I could return it into existence and would be glad to hear about any improvement ideas or pain points in actual use.
Hi, is there a reason the TEMPEST demonstration video is gone? That was such a cool demonstration!
ReplyDeleteHi, I sometimes have to switch videos to private but you can still view it in my GRCon20 talk: https://www.youtube.com/watch?v=gJhRRTSDCa0&t=397s
Delete