Frequency Shifting: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
Line 70: Line 70:


[[File:frequency_shifting_flowgraph_multiply.png]]
[[File:frequency_shifting_flowgraph_multiply.png]]
The multiply block now performs the frequency shifting, moving the center frequency of the signal up to 1 MHz. Running the flowgraph shows the input signal centered at 0 Hz and the frequency shifted version at 1 MHz:
[[File:frequency_shifting_centered_1MHz.png]]

Revision as of 21:43, 5 April 2024

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

Increase the number of ports on the QT GUI Frequency Sink:

Frequency shifting frequency sink properties.png

Now run the flowgraph:

Frequency shifting run flowgraph.png

You can now see the new complex sinusoid that has been created and displayed in red:

Frequency shifting signal and complex sinusoid.png

The frequency shifting process will apply the blue signal against the red complex sinusoid, centering it at 1 MHz.

Perform Frequency Shifting

Add the Multiply block into the flowgraph and connect it such that it accepts the outputs from Low Pass Filter and Signal Source:

Frequency shifting flowgraph multiply.png

The multiply block now performs the frequency shifting, moving the center frequency of the signal up to 1 MHz. Running the flowgraph shows the input signal centered at 0 Hz and the frequency shifted version at 1 MHz:

Frequency shifting centered 1MHz.png