FPGA-Based Upconversion: From Digital IF to RF

FPGADSPRF

FPGA-Based FM Upconversion: From Digital IF to RF

How to generate FM at a practical digital frequency, use an affordable 15 MSPS DAC, and translate the signal to 430 MHz with an analog mixer.

The key idea: Don’t make the DAC generate 430 MHz. Generate the FM signal at 1 MHz, filter the DAC output, and use RF frequency translation to move the complete FM spectrum to 430 MHz.

01The Basic Idea

In my previous article, FM Modulation on the FPGA, I demonstrated how an FPGA and a DDS can be used to generate an FM-modulated signal digitally.

The next practical question is: what if we want to transmit that FM signal at 430 MHz?

Instead of trying to generate 430 MHz directly, we generate the FM signal at a much lower frequency and then upconvert it.

FPGA
FM @ 1 MHz
→
DAC
15 MSPS
→
LPF
reconstruction
→
MIXER
×
↑ LO
429 MHz
→
430 MHz
band-pass filtered
Figure 1 — Conceptual FPGA-to-RF upconversion chain.

02Why Not Generate 430 MHz Directly?

A conventional first-Nyquist-zone DAC would need a sampling rate greater than twice the desired RF frequency:

fs > 2 × 430 MHz = 860 MSPS

In practice, the required DAC performance can be considerably more demanding depending on the architecture, output bandwidth, filtering, and signal-quality requirements.

Rather than requiring an expensive high-speed RF DAC, we move the difficult high-frequency translation into the analog RF section.

1 MHz
Digital FM center frequency
15 MSPS
DAC sample rate
429 MHz
Example local oscillator
430 MHz
Target RF frequency

03Generate the FM Signal at 1 MHz

Set the FM carrier in the FPGA to:

fc = 1 MHz

For example, with a 5 kHz message and 75 kHz deviation:

fi(t) = 1 MHz + 75 kHz · sin(2π · 5 kHz · t)

The instantaneous frequency therefore varies from 925 kHz to 1.075 MHz. The modulation has not changed; only the center frequency is lower.

FM spectrum
0.8 MHz
1 MHz
1.2 MHz
Figure 2 — Illustrative spectrum: the FM signal is centered at 1 MHz.

04Why Use a 15 MSPS DAC?

For a 15 MSPS DAC, the Nyquist frequency is:

fN = 15 MHz / 2 = 7.5 MHz

The 1 MHz FM signal sits comfortably below the Nyquist frequency. The DAC therefore only needs to reproduce the low-frequency IF signal rather than the final 430 MHz carrier.

05DAC Images

A sampled DAC output contains spectral replicas separated by the sampling frequency. For a 1 MHz signal sampled at 15 MSPS, an important first image appears at:

15 MHz − 1 MHz = 14 MHz
Reconstruction LPF
1 MHz
Desired FM
14 MHz
DAC image
Figure 3 — The reconstruction filter should pass the desired 1 MHz FM signal and strongly attenuate the 14 MHz image.

With a 5 kHz message and 75 kHz deviation, Carson’s rule gives the approximate occupied bandwidth:

BW ≈ 2(Δf + fm) = 2(75 + 5) = 160 kHz

So the approximate occupied range is 920 kHz to 1.080 MHz.

06Reconstruction Filtering

The DAC output should be passed through a reconstruction low-pass filter before the mixer. The filter should comfortably pass the complete FM spectrum around 1 MHz while attenuating the DAC images around 14 MHz and beyond.

Filter Objective
Pass
~920 kHz – 1.080 MHz
Reject
~14 MHz image and higher replicas
Purpose
Present a clean 1 MHz FM signal to the mixer

07Frequency Upconversion Using a Mixer

The clean 1 MHz FM signal is now mixed with a 429 MHz local oscillator. A conventional mixer produces sum and difference products:

fRF = fLO + fIF = 429 + 1 = 430 MHz
fIMAGE = |fLO − fIF| = 429 − 1 = 428 MHz
430 MHz BPF
428 MHz
Difference — unwanted
429 MHz
LO leakage
430 MHz
Sum — desired
Figure 4 — A conventional mixer creates sum and difference products; the 430 MHz band-pass filter selects the desired product. (Frequency axis not to scale.)
Practical Note

With a 1 MHz IF, the unwanted 428 MHz product and the 429 MHz LO leakage sit only 2 MHz and 1 MHz away from the desired signal. Filtering them with a 430 MHz band-pass filter alone requires a very narrow, high-Q filter. Practical designs often use a higher IF, an image-reject (I/Q) mixer, or both to relax this requirement.

08Does the Mixer Change the FM Modulation?

No. Frequency translation moves the spectrum but does not inherently change the FM deviation.

1 MHz
Original FM center
75 kHz
FM deviation
430 MHz
Translated center
75 kHz
Deviation after translation
BEFORE
+429 MHz translation
AFTER
1 MHz FM
Δf = 75 kHz
430 MHz FM
Δf = 75 kHz
Figure 5 — The center frequency moves; the FM modulation and deviation remain the same.

09Why This Approach Is Useful for FPGA/SDR

The FPGA does not need to generate the final RF frequency. It generates and processes the modulation at a frequency that is practical for the digital hardware, while the analog RF section performs the final frequency translation.

DIGITAL DOMAIN                   ANALOG RF DOMAIN
FPGA FM generation
  fc = 1 MHz
  Δf = 75 kHz
        │
        ▼
  15 MSPS DAC
        │
        ▼
  Reconstruction LPF
        │   1 MHz FM
        ▼
      Mixer  ◄──────  429 MHz LO
        │
        ▼
   430 MHz BPF
        │
        ▼
   430 MHz FM

10The Same Concept at Other Frequencies

The 430 MHz example is only one application. The general relationship is:

fRF = fLO + fIF
Desired RF IF Example LO
100 MHz 1 MHz 99 MHz
430 MHz 1 MHz 429 MHz
433 MHz 1 MHz 432 MHz
900 MHz 1 MHz 899 MHz

11This Is the Basic Idea Behind an Upconverter

An upconverter takes a signal at a lower frequency and translates it to a higher frequency. In this project:

1 MHz → 430 MHz

The digital section generates the modulation at a frequency that is practical for the FPGA and DAC. The mixer performs the final frequency translation.

12Complete FPGA FM Transmitter Architecture

DIGITAL (FPGA)
Message
baseband
→
FM Modulator
1 MHz carrier
430 MHz RF
FM output
→
←
ANALOG / RF
DAC
15 MSPS
→
LPF
clean IF
↓
BPF
430 MHz
←
×
←
429 MHz
LO
Figure 6 — Complete transmitter chain. The mixer receives the 429 MHz LO; the BPF selects the 430 MHz product.

13From FM Modulation to a Complete Transmitter

The previous question was:

How can we generate FM digitally using an FPGA?

The next question is:

How can we take that digitally generated FM signal and turn it into an RF signal at a much higher frequency?

Frequency upconversion provides the answer:

Digital FM→DAC→Filter→Mixer→RF Filter

For this experiment:

1 MHz FM→15 MSPS DAC→429 MHz LO→430 MHz FM

14What’s Next?

The next step is to take this concept from simulation and theory into hardware. I will use the FPGA to generate the FM signal at 1 MHz, convert it using a 15 MSPS DAC, filter the DAC output, and then use an RF mixer to translate the signal to 430 MHz.

The goal is not simply to generate a 430 MHz carrier. The goal is to demonstrate the complete chain:

FPGA→FM modulation→DAC→Analog upconversion→430 MHz FM

This is another step toward building a complete digital AM/FM radio system using FPGA-based signal processing.

About this project

This article is part of a practical FPGA DSP/SDR series covering signal generation, filtering, frequency conversion, modulation, demodulation, and hardware validation.

DDSFIR FilteringDDC / DUCModulationDemodulationHardware Validation
FPGA DSP / SDR Series · FPGA-Based FM Upconversion

Watch related video: DSP Design Series On FPGA

▶ Watch on YouTube