The industrial grade dual-channel wide-band SDR transceiver

Journey to GSM. Part 3. Finding GSM Signal

Posted: July 4th, 2016 | Author: | Filed under: Journey to GSM | Tags: , , , | No Comments »

In the third article of the series we will try to find GSM signal.

First of all, we need to design a signal processing algorithm. The GNU Radio package contains a frontend graphical interface designated for design signal processing flow graphs that may ease our work. It could be found in Application Center with GRC name, which means GNU Radio Companion. GRC automatically creates python programs for the required SDR blocks.

Let’s start with adding of USRP Source from UHD tab to the workspace of GRC. USRP Source is the abstraction layer that allows communication with a hardware. It produces digital signal which will be consumed by the next blocks in our flow graph. The source block tells our SDR to turn on receive mode.

The next block we are going to add is QT GUI FFT Sink under Instrumentation tab. This one helps to visualize the frequency components. To connect the blocks, just click on the «out» of the Source and then on the «in» of the FFT Sink. USRP Source title changed color from red to black, which means that output properly connected with input of the next block. If QT GUI FFT Sink title is still red, then probably we have WX GUI enabled in Generate Options (top block). If we change that option to the QT, the FFT Sink will also become black. QT ( and WX ( just different libraries with graphical user interface elements.

It’s necessary to increase sample rate in samp_rate variable to be able to register the GSM signal. 1 million would be enough. Let us also create another variable center_freq to be able to change the central frequency in one place. Now we can set center_freq in both blocks and change it in Variable block if needed.

Our lab Base Transceiver Station (BTS) transmits downlink signals at 949.8 MHz and receives uplink signals at 904.8 MHz. If you don’t know exactly GSM frequencies transmitted near you, you may scan them using GNU Radio uhd_fft tool or software like gqrx (


We will listen at 949.8 MHz first to catch some broadcast channel signals.


Push «Execute the flow graph» button to catch some radio waves!


Here it is! The downlink GSM signal at 949.8 MHz.

Leave a Reply