Home Envelope Elimination and Restoration using an FPGA

Envelope Elimination and Restoration using an FPGA.

Introduction
For a SDR project i'm working on, i needed a signal generator with verry specific parameters.
One could use GNU/Radio for such need, but i decided to use an FPGA in stead.

The idea was to use a technique known as Envelope Elimination and Restoration.
This basicly means removing the amplitude information from a signal and only process the phase information.
Later you can add the amplitude information tot the system. This has several advantages like no need for linear systems.
Just at the end following the restoration step we're back to normal again.

HardWare
The hardware part is kept realy simple.
I used a ladder-resistor network to create a DAC that outputs the phase information direct at the target frequency.

DAC using a resistor ladder network DAC using a resistor ladder network

An even simpler PWM followed by a Low-Pass-Filter provides the amplitude information needed for the envelope restoration part.

DAC using PWM followed by a LPF DAC using PWM followed by a LPF

These signals are fed into what in essence is a verry basic Amplitude-Modulator.
Thats where the Envelope Restoration takes place.

What the electronics look like What the electronics look like

Firmware
The firmware was created in VHDL and is running on a Altera Cyclone-IV FPGA.
The block diagram ilustrates how the whole process works.

The block diagram of both hardware and firmware The block diagram of both hardware and firmware

I startof with a sinewave generator that produces both I and Q for an variating audioable sound
This can be replaced easyly by a microphone signal later.

A Sinewave generator creates a sinewave using a phase counter and an Sine approximation function.
A external phase can be added to the phase counter, resulting in a phase modulated carrier,
straight out of the Resitor-DAC

The amplitude part is send to the PWM generator and after the LPF provides a descent amplitude signal

Having just the need for a steady tone or predefine sequence of tones this is all i need for the project.
The way all is setup the transmitter produces a USB signal at the target frequency of 1850kHz.

This is what the complete transmitter looks like This is what the complete transmitter looks like