0% found this document useful (0 votes)
56 views

GRC FM Tutorial

This document provides instructions for building FM transmitters and receivers using GNU Radio. It begins with a review of the theory of frequency modulation and phase modulation. It then provides flow graphs to generate FM signals using phase modulation in GNU Radio and explains how to view the constellation diagram. Next, it shows how to implement a basic FM transmitter and receiver. It concludes by demonstrating how to build an FM receiver that receives signals from an RTL-SDR dongle and uses the WBFM demodulation block or quadrature demodulator block in GNU Radio.

Uploaded by

BJI ALUMNI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views

GRC FM Tutorial

This document provides instructions for building FM transmitters and receivers using GNU Radio. It begins with a review of the theory of frequency modulation and phase modulation. It then provides flow graphs to generate FM signals using phase modulation in GNU Radio and explains how to view the constellation diagram. Next, it shows how to implement a basic FM transmitter and receiver. It concludes by demonstrating how to build an FM receiver that receives signals from an RTL-SDR dongle and uses the WBFM demodulation block or quadrature demodulator block in GNU Radio.

Uploaded by

BJI ALUMNI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

College of Engineering Attingal

Instructor : Dr. Sunil T T

Lesson 3

Building FM transmitters and Receivers in GNU radio

Review of theory.

Assume that your carrier frequency is fc an modulating signal frequency is fm


FM can be generated by changing the phase of carrier

( Please learn your theory :D )

You can build the above exponential very easily in GRC and generate fm
Phase modulation
Let us first explore Phase modulation.

Build the following flow graph.

The first block is a constant source . It produces some constant value. It is


followed by throttle and phase modulation. The throttle block is used to remove
some samples . Otherwise our CPU will be overloaded.
We will input a constant value and change the sensitivity and observe the phasor
output. Set constant block to 1

The QT range
block controls
the variable
phi. Set its
value to change
between -pi
and pi.
We will send the constant signal to a phase modulation block and see how the I and
Q values change as we vary phase.
You can set sensitivity to phi. Look at the data type colors.

Instead of sensitivity you can vary input and obtain a rotating phasor.

The constellation
diagram looks as
shown below. Vary
the phase and see
how I and Q
changes.
We will experiment with the above flow graph. Change the constant input source to
a signal source.
Vary the phase and see the change of phasor in constellation output
Try changing the signal source to triangular or square and try to explain the
diagram.

Frequency modulation.
We will implement

We have constructed the first part above of the above equation using phase mod
block above. Multiply the above with a phasor with frequency fc.
Complex sine and Complex cosine signals are nothing but phasors.
Implement the following flow graph and verify.
Closely examine the phase of I and Q in both cases above.

The fm transmitter implementation is shown below.

Look at the various QT widgets. We can control fm,fc and Beta with them.
Complex to real extracts the real part.

Carefully look at the colors of various outputs. The complex ones are shown in
blue and real ones are shown as saffron. The output of the above flow graph is
shown below.
Change the signal source waveform type and see the waveforms.
Next add a file sink block and save the output to a file. The file can grow very huge.
( be careful)
Record the fm data for 1 minute . Locate the file and examine the content using od
command. ( od is available on terminal)
FM Receiver

FM reception is very easy.


Consider the FM signal

If we multiply as shown below you can recover the original signal

This will cancel out the carrier

Let us build receiver.


Use a file source which contain the complex FM signal saved from previous
example.

Note the sign of the carrier.


Let us improve our receiver further
Assume that we have a message m(t) encoded as FM . We have I and Q signals
corresponding to this.

( Please look up the theory part and how to manipulate samples in z domain)
This can be implemented as shown below.
Now let us build an actual FM receiver which accepts signals from RTL SDR dongle

The RTL SDR source will provide I and Q signals from the FM station. We can
directly recover the message using a conjugate multiplier and delay as shown
above.
Complex to arg takes in a complex stream and outputs each complex value's arg
(a.k.a. arctan, The output is a float.
FM with WBFM demodulation block
GNU radio provides a wide band fm receiver block which you can directly uses.
See the flow graph below. It used 2Mhz sampling rate a rational re sampler
converts the samples to 500khz . The demodulated out put is again re sampled to
suit the audio sink which works at 48khz

FM Quadrature de modulator block

You might also like