Frequency Shifting

From GNU Radio
Jump to navigation Jump to search

This tutorial describes how to perform frequency shifting, causing the frequency of a signal to change.

Frequency Shifting

Frequency shifting is the process of changing the position of a signal within the frequency domain. Equivalently, it can be stated that frequency shifting is the process of changing the center frequency of a signal. Frequency shifted can be implemented many different ways, although this tutorial will focus on the simple method of multiplication by a complex sinusoid.

Multiplying a signal by a complex sinusoid with frequency f Hz will translate or shift the center frequency of the signal by f Hz. For example, to frequency shift a signal by 1 MHz a complex signal must be generated with frequency 1 MHz, and then multiplied against the desired signal in order to frequency shift it.


Build Example Signal

First an example signal needs to be built. A simple signal of filtered noise is created. Drag in the following blocks and connect them:

  • Noise Source
  • Throttle
  • Low Pass Filter
  • QT GUI Frequency Sink


Frequency shifting flowgraph.png

The flowgraph is an offline simulation to the choice of sampling rate is somewhat arbitrary, but a sample rate of 10 MHz is chosen to realistic number.

Frequency shifting samp rate properties.png

The low-pass filter properties are updated to define the cutoff frequency and transition width:

  • Cutoff Freq: samp_rate/8
  • Transition Width: samp_rate/16

Frequency shifting low pass properties.png

Running the flowgraph then displays a simulated signal:

Frequency shifting example signal.png

The signal has not been shifted yet and therefore has a center frequency of 0 Hz.

Create Complex Sinusoid

A complex sinusoid is added to the flowgraph which will be used later to perform the frequency shifting. Add the following blocks and connect them to the flowgraph:

  • Variable
  • Signal Source

Frequency shifting flowgraph sinusoid.png

The flowgraph is an offline simulation to the choice of sampling rate is somewhat arbitrary, but a sample rate of 10 MHz is chosen to be a realistic number.

Frequency shifting new center frequency properties.png

The variable new_center_frequency is then used for the frequency in the signal source block:

Frequency shifting signal source properties.png