Home » Radio » Software Defined Radio » Creating Amplitude Modulation in GNURadio

Creating Amplitude Modulation in GNURadio

creating amplitude modulation

Let’s have some fun creating amplitude modulation in GNURadio. This little experiment teaches the basics about modulation and is an easy way to learn more about GNURadio. 

One of the neat things you can do with GNURadio is explore different forms of analog and digital modulation. First, you can simulate modulation down at the bare metal by stringing together signal processing blocks. Second, you can receive different forms of modulation and decode them. Finally, you can actually transmit signals over your SDR if you have one capable of transmitting like the HackRF One.

In this article, we will take the first approach, creating amplitude modulation from scratch. You can watch the video of how this can be done, or download the GNURadio Companion file and do it yourself. Try both! 

Modulation is the process of attaching a message to a radio wave. A message or signal can modify a radio wave by changing its amplitude, phase or frequency. Not surprisingly, amplitude modulation changes the amplitude of a radio wave in concert with changes in the message.

So, why have people bothered modulating radio waves for over a hundred years? Why not just send the message directly?

It has to do with wavelength and the transmission medium. When we are dealing with sound, the transmission medium is air. The speed of sound in air quite slow and does not travel far. At best, a radio announcer’s voice will travel about 500 feet in a second before it fades into background noise. Not very good for broadcasting!

A radio wave travels electromagnetically at the speed of light and can cover a great distance. This is better for reaching lots of people. But radio waves aren’t very interesting unless they have information attached.

This is where modulation comes in. We take the sound of voice or music and somehow attach it to a radio wave at one end, and take it out at the other.

Creating Amplitude Modulation – Multiplying Signals Together

As shown in the video, you just take a message and a radio signal and multiply them together. With amplitude modulation, the strength of the signal (say your voice) will increase the strength of the radio wave up and down as you talk. The frequency of your voice will set the rate at which the radio signal varies. When you listen to your local AM station creating amplitude modulation, you are just hearing the sound from the studio multiplied with the carrier wave from the transmitter.

All your receiver has to do is track the up and down movements of the modulation envelope shown above and convert back down to audio.

With GNURadio, you can easily experiment with your own AM transmitter right in your PC.


  1. Leo de Blaauw PD1LDB says:

    Hi John, thank you for your excellent examples on gnuradio and the narrative videos. Greatly appreciated. I stumbled onto your blog trying to find a way to ad AM modulation onto the signal generated by my signal generator which doesnt have an internal modulator but does have I/Q inputs. Currently experimenting away with this concept 😉 Cant say I have 100% succes but in theory this should work i believe. Regards, Leo – PA1LDB

    • John VE6EY says:

      Good stuff, Leo, thanks. You can create an I/Q signal in GNURadio, send it to your sound card on the PC, and then hook the analog sound card output to your signal generator I/Q input. That might do the trick. 73

      • Leo says:

        Hi John,

        Thanks for your reply. Yes that was what i was thinking. Is there anything special you would need to configur in gnuradio for this? I was just feeding the audio out from your examples into the i and q inputs, basically left and right audio from the audio sink. That does not fully do the trick it seems.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.