This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:eval:user-guides:ad9081_fmca_ebz:radar [24 Sep 2021 15:15] – [Testing the OFDM Radar] David Winter | resources:eval:user-guides:ad9081_fmca_ebz:radar [30 Jan 2023 01:51] (current) – Joyce Velasco | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== gr-ofdmradar - OFDM Radar on MxFE Platforms using IIO ===== | + | ====== gr-ofdmradar - OFDM Radar on MxFE Platforms using IIO ====== |
This page is dedicated to the details of building an OFDM radar on a ZCU102 + AD9081 with GNURadio and IIO. | This page is dedicated to the details of building an OFDM radar on a ZCU102 + AD9081 with GNURadio and IIO. | ||
+ | |||
+ | This was based on a paper pressented at: | ||
+ | * {{youtube> | ||
+ | * [[https:// | ||
If you just want to get the software and hardware running, the following section covers the setup instructions: | If you just want to get the software and hardware running, the following section covers the setup instructions: | ||
Line 22: | Line 26: | ||
==== Preparing the ZCU102 boot files ==== | ==== Preparing the ZCU102 boot files ==== | ||
- | It is usually a good idea to start out by installing a recent image of [[resources: | + | It is usually a good idea to start out by installing a recent image of [[:resources: |
=== Linux Kernel === | === Linux Kernel === | ||
Line 126: | Line 130: | ||
< | < | ||
# Checkout code | # Checkout code | ||
- | git clone https:// | + | git clone https:// |
cd gr-ofdmradar | cd gr-ofdmradar | ||
Line 179: | Line 183: | ||
For more details in general about the theoretical underpinnings of OFDM radar, please check out Martin Brauns dissertation: | For more details in general about the theoretical underpinnings of OFDM radar, please check out Martin Brauns dissertation: | ||
- | For more information about gr-ofdmradar system parameters check out the [[https:// | + | For more information about gr-ofdmradar system parameters check out the [[https:// |
- | * [[https:// | + | * [[https:// |
* [[https:// | * [[https:// | ||
+ | |||
+ | ---- | ||
+ | ===== Using the OFDM Radar ===== | ||
+ | |||
+ | This section will describe how you can use the OFDM radar to get some actual returns, how you can tune the system and choose your parameters. | ||
+ | |||
+ | Before going on, please make yourself familiar with the basic operating principles of an OFDM radar, and the meaning of the system parameters: https:// | ||
+ | |||
+ | To reinforce your understanding, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * The complex system sample rate is '' | ||
+ | * the FFT Size '' | ||
+ | * a frame has '' | ||
+ | * and the cyclic prefix length '' | ||
+ | * and '' | ||
+ | |||
+ | thus | ||
+ | |||
+ | * the total TX frame length is '' | ||
+ | * the frame duration is '' | ||
+ | * the (non-oversampled), | ||
+ | * the (non-oversampled) doppler resolution is '' | ||
+ | * the true system bandwidth is '' | ||
+ | * the final processing gain '' | ||
+ | * and finally the covered distance spread: '' | ||
+ | |||
+ | This leaves us with a couple flowgraph parameters that should be discussed: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * The '' | ||
+ | * The '' | ||
+ | * '' | ||
+ | * The '' | ||
+ | |||
+ | Now lets take a look at the OFDM radar screen as you may see it when opening the simulation example in gr-ofdmradar: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | There are still four parameters left to be explained, that control visualization parameters (But don't change anything about the signals themselves): | ||
+ | |||
+ | * The range slider controls range which is shown, and can be thought of as an inverted zoom slider: If you want to zoom in the range dimension, move the slider to the left. | ||
+ | * The doppler range slider works similarly, but reduces the doppler ranges which are shown. This isn't usually too much of an issue. | ||
+ | |||
+ | To explain the min and max value sliders, we need to take a look at how the visualization code works: | ||
+ | |||
+ | * The input values to the gui widget have already been fully processed and can be thought of as a complex 2D matrix over range and doppler. To visualize this matrix we first take the energy of each value, then use a mapping function like the following to map those energy values to something between 0 and 1, where '' | ||
+ | |||
+ | < | ||
+ | def mapv(x): | ||
+ | x = (x-minV)/ | ||
+ | return max(min(x, 1.0), 0.0) | ||
+ | </ | ||
+ | |||
+ | This value is then fed though the turbo color map and shown on screen. For more information see the fragment shader in which all of this is happening: https:// | ||
+ | |||
+ | To really get an understanding of the max and min sliders you may need to play around with them in a simulation, but at least now you should have an idea of what they' | ||
---- | ---- | ||
Line 193: | Line 256: | ||
* The Transceiver / RF ADC/DAC (AD9081) | * The Transceiver / RF ADC/DAC (AD9081) | ||
- | * Hardware, | + | * Hardware, HDL |
* Linux drivers | * Linux drivers | ||
* gr-ofdmradar and its blocks | * gr-ofdmradar and its blocks | ||
Line 428: | Line 491: | ||
{{: | {{: | ||
- | **For more information on the parameters and OFDM radar algorithm, take a look at the [[https:// | + | **For more information on the parameters and OFDM radar algorithm, take a look at the [[https:// |
== DoA Blocks == | == DoA Blocks == |