## Introduction

In the previous post we looked at using the RTL-SDR on Raspberry Pi4 with GNU Radio and Gqrx. We examined three applications: displaying the FM band spectrum, wide-band FM reception and narrow-band Marine weather reception. In this post we look at the RTL-SDR for AM reception on GNU Radio. The latest version of GNU Radio >=3.8xx is used (Ref.1).

## RTL-SDR for MW/SW

In order to receive MW/SW (0-30MHz) on the RTL-SDR, I use a 125MHz up-converter. I described this procedure in an earlier post (Ref.2). When receiving signals using SDR# for example, you tune to the receive frequency + 125MHz or set the shift frequency to -125MHz. In a similar fashion, using GNURadio, you must tune the RTL to the shifted frequency.

## Zero IF Reception of AM

Figure 2 shows the block diagram of a Zero IF receiver. Essentially, a carrier signal is direct converted to base-band by multiplication with a local oscillator on the same frequency. The local oscillator matches the carrier frequency closely, but differs in phase. In I & Q reception, there are two receive branches, one with an LO = cos(wct+phi) and another with an LO = sin(wct+phi). This IQ construction can be used to receive AM or SSB(USB/LSB).

Consider the modulation process:

Info Signal = A(t) = [1 + m*cos(wmt)], m=mod index, wm=mod freq

Carrier Signal = A(t)*cos(wct), wc=carrier frequency

Consider the receiver I branch direct conversion:

Irx = A(t)*cos(wct)*cos(wct+phi), phi=phase difference carrier & LO

cosA*cosB = [cos(A+B)+cos(A-B)]/2, remove sum component with LPF

Irx = A(t)*cos(phi)

Consider the receiver Q branch direct conversion:

Qrx = A(t)*cos(wct)*sin(wct+phi)

cosA*sinA = [sin(A+B)+sin(A-B)]/2, remove sum component with LPF

Qrx = A(t)*sin(phi)

So to recover A(t), the receiver is basically a complex to magnitude block:

sqrt[Irx^2 + Qrx^2] = sqrt[A(t)^2*[cos^2(phi)+sin^2(phi)]] = A(t)

## RTL-SDR for AM on GNU Radio

Figure 3 shows the AM receiver schematic on GNU Radio Companion. IQ information from the RTL-SDR Source block is first Low Pass Filtered to remove all components outside of the information base-band. The AM demodulator is simply a complex to magnitude block as discussed in the previous section. Figure 4 shows the frequency response of the RTL-SDR block output and the LPF output.

GNURadio Companion Basics Course:

https://clarktelecommunications.thinkific.com/courses/gnuradio_basics

Please send your comments, questions and suggestions to:

jclark@clarktelecommunications.com

## References

#1. – “GNU Radio Installation”

https://wiki.gnuradio.org/index.php/InstallingGR

#2. – “RTL-SDR for HF 0-30MHz”

https://jeremyclark.ca/wp/telecom/rtl-sdr-for-hf-0-30mhz/

#3. – “HF Radio Telecommunications Learn by Simulation”

https://www.clarktelecommunications.com/simulation.htm