Yesterday, they started digging up the street in front of my girlfriends house to put some fibre cables for faster internet—very cool. But it became even better: at the construction site, they placed two pairs of mobile traffic lights, which I could receive perfectly fine without leaving home.
Of course, I wanted to have a look at the signal. I once heard that they transmit in the 2 meters band and that turned out to be true. With GQRX I found them at around 170MHz. The screenshot shows the two channels corresponding to the two pairs of traffic lights that operate independently.
As usual on that band, FM modulation with a bandwidth of around 18kHz was used. Using Baudline and Audacity, I studied the demodulated signal.
It was very easy to see that this is AFSK1200 alternating between 1200Hz and 2400Hz.
Knowing the parameters I created a very simple and suboptimal GNU Radio receiver that I used to output some bits.
The frame structure was rather obvious.
…and with a little patience I could make some sense of the bits. I created an ugly web interface to visualize the data.
Putting everything together we get something like this.