Example Code

Doppler Emulator Example Program for NI VST

Products and Environment

This section reflects the products and operating system used to create the example.

To download NI software, including the products shown below, visit ni.com/downloads.

    Hardware

  • PXI|VXI
  • RF|Wireless

    Software

  • LabVIEW
  • LabVIEW FPGA Module

    Driver

  • NI RF Device Drivers

    Operating System

  • Windows

    Programming Language

  • LabVIEW G

Code and Documents

Attachment

Description

Doppler's effect can be defined as an observed change in frequency of a wave when an observer and source have a relative motion between them. In other words, it is an increase or decrease in the frequency of waves as the source and observer move toward or away from each other.

 

                     

 

Doppler effect is important for many applications such as detecting the speed of motion of stars and galaxies in astronomy field, medical imaging to detect vascular anomalies by measuring the speed of blood flow and in radar applications where a signal is sent towards a moving target to detect its speed. Doppler effect is also widely used in channel sounding applications to study the characteristics of a channel and mitigate its effect on the signal due to many physical phenomena such as reflection, refraction, diffraction and shadowing.

 

In this example program, we are emulating doppler effect on a received signal on 4 different paths where each path shifts the frequency f0 by a value configured by the user ∆f, and then the signals with doppler shift are added to the original direct path then transmitted back to an external medium.

The doppler emulator can be used to test the behavior of receivers used for instance in radar and imaging applications with respect to a moving source, and to emulate effects of channel or emulate a moving target.

 

This example code is designed for the NI Vector Signal Transceiver (VST) 5646 where the doppler emulator is written on FPGA.

An RF signal is received by the Rx port of the 5646 and it passes through the DSP chain on FPGA where the doppler IP is applied to the signal. Then the signal is transferred to the Tx path to be played out and received by an external analyzer.

 

 

 

Example Specifications:

 

 

 

 

 

How to Use

To run this example code you will need a PXIe-5646 and another transceiver to generate a signal, feed it to the 5646, then receive the signal generated by 5646 back to measure the doppler shift. 

You can use 2 VSTs 5646 or a VST 5646 with a VST 5840 (you must have an instantaneuous BW equal or higher than that of VST 5646. for Example:

 

                                       

  • Wire your signal generator to the Rx port of the VST 5646, and the analyzer to the Tx port.
  • Attached to this page you will find a zipped file containing the example code and a user guide to explain how to use the program and further inromation about the implementation.
  • Extract the project anywhere on your hard disk and launch the host Doppler Emulator(Host).vi
  • Configure the RF parameters (carrier frequency, span, RBW) and Doppler parameters for each one of the paths (frequency shift from central frequency and attenuation in dB w.r.t. main path)
  • Each path can be enabled/disabled and its parameters can be modified on the fly
  • Make sure to set proper the RBW on the host and in your analyzer as well to detect 2 different signals with frequencies close one to another
  • run the VI, inject an RF signal in the RX path of 5646, then receive the signal generated via your analyzer

                                

 

 

For more information on the Software architecture, refer to the attached user guide.

 

 

 

Additional Information

Hardware Supported:

  • NI PXIe-5646

 

You can import this code to any other NI VST taking into account the data clock supported by the module and the number of samples treated per cycle.

 

Software Required:

 

Watch this gif for an idea on how to operate the UI:

 

  

 

 

Related Links

If you are interested in Channel Emulator applications, you can also consider the Channel Emulator Example Program hosted on the community:

MIMO Channel Emulator

 

 

 

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Contributors