Readers who were born at the 70s or earlier, and had medium-, long- or shortwave receivers at home, probably remember that stations of different wavelengths propagate differently at different times of the day. But how does it really work?

Image for post
Image for post

I will show, how using an SDR receiver and 50 lines of Python code, it is possible to visualize radio stations signals with <0.01 Hertz accuracy and observe some interesting atmospheric effects.

General Idea

Most AM radio stations are broadcasting 24h per day, which allows us to analyse the radio signals they transmit. To do this, we will record the radio signal in WAV format and plot its spectrum using FFT (Fast Fourier Transform). FFT makes it possible to obtain an image in the frequency domain from a signal in the time domain, in other words, to get a spectrum of the signal. …

Once I came across a description of an Android application that measured the heart rate remotely by using the smartphone’s camera. The camera was not touching to the skin, also was not illuminated by LED. An interesting point was that the Google Play reviewers did not believe in the possibility of such a measurement, and the application was rejected. I don’t know the end of this story, but it became interesting to check whether this is possible. There is no need to make an Android application, it is much easier to test the idea in Python.

Let’s get started.

Getting the Camera Stream

First, we need to get a stream from the webcam, for which I will use OpenCV. The code is cross-platform and can run on both Windows and Linux/OSX. …

Probably those who bought a clock or a weather station have seen the “Radio Controlled Clock” or even “Atomic Clock” logo on the packaging. Automatic time synchronization is very convenient, because it is enough to put the clock on the table, and after a while, it will automatically adjust to the exact time.

Image for post
Image for post

Let’s figure out how it works.

There are different time synchronization systems. The most popular in Europe is the German DCF-77 system, Japan has its own JJY system, the USA has WWVB, and so on. Further, the story will be about DCF77, the most relevant and easy for the reception in Europe. …


Dmitrii Eliuseev

Python and IoT Developer, science and ham radio enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store