MRR Beamsteering Users Guide

Table of Contents

Overview

Required Hardware

Getting Started

1. Download the Lab Project

The mmWave Lab projects are available as part of the TI CLOUD TOOLS under Resource Explorer

2. Flash Lab Binaries

* XDS110 Class Application/User UART (COM<sub>UART</sub>): Used for passing configuration data and firmware to the EVM
* XDS110 Class Auxiliary Data Port (COM<sub>AUX</sub>): Used to send processed radar data output

3. Run the Lab

In the prebuild binaries, the beam steering is configured as follows:

In the prebuild binaries, the frame duration is 60ms, so the beam steering cycling time is 7 x 60ms

Appendix – ECO Required for AWR1843BOOST RevA

MRR TIREX Lab enables the Tx beamforming by enabling all the 3 Tx simultaneously and this would require to use the 1V supply.

On the AWR1843BOOST EVM RevA the 1V supply does not by default go to the VOUT PA pin, there is a zero ohms resistor (R137) that needs to be mounted. The resistor is on the bottom of the board, just below the AWR device, near the VOUT PA pin.

Below are the schematic and the placement details:

Developer’s Guide

MRR Beamsteering Release v2.0 – Please read release notes for modes supported in this release.

Overview

Key System Specification

Parameter MRR USRR Details
Max Range 150m 30m This represents the maximum distance that the radar can detect an object representing an RCS of approximately 10 m2.
Range Resolution 68.2 cm 4.3cm Range resolution is the ability of a radar system to distinguish between two or more targets on the same bearing but at different ranges
Max Velocity 150 kmph 36 kmph This is the native maximum velocity obtained using a two dimensional FFT on the frame data. This specification will be improved over time by showing how higher level algorithms can extend the maximum measurable velocity beyond this limit.
Velocity Resolution 0.11m/s 0.32m/s This parameter represents the capability of the radar sensor to distinguish between two or more objects at the same range but moving with different velocities.

System Design

Antenna Configuration

The AWR1843BOOST EVM uses four receivers and the three transmitters in two different chirp configurations.

The first configuration (MRR) uses a TX beamforming with all the 3 TX transmitting simultaneously.

The second configuration (USRR) uses a time division multiplexed MIMO configuration (that is, alternate chirps in a frame transmit on TX1, TX2 and TX3 respectively.). The MIMO configuration synthesizes an array of twelve virtual RX antennas(8 antennas in azimuthal plane and 4 antennas in the elevation plane), as shown in the figure below. This technique improves the angle resolution by a factor of two (compared to a single TX configuration).

Chirp and System Performance Parameters

Chirp Configuration

Parameter MRR USRR
Idle Time (us) 5 5
ADC start time (us) 4.8 3
Ramp end time (us) 60 44.0
Number of ADC samples 256 512
Frequency Slope (MHz/us) 4 56.25
ADC Sampling frequency (ksps) 4652 12500
MIMO 0 1
Number of chirps per profile 256 256
Effective chirp time (us) 53 42
Bandwidth (MHz) 240 3456
Frame Lengths (ms) 16.6 10.5
Memory requirements (KB) 1024 512

System Performance Parameters

Parameter MRR USRR
Range Resolution (m) 0.70 0.043
Maximum Distance (m) 150 30
Maximum Velocity (kph) 150 36

Implementation on the AWR1843

Modes Supported

Three Modes:

Configuration Profile

This lab makes use of “Advanced Frame Configuration” APIs to meet the requirements of the MRR and USRR use cases. These APIs allow construction of frames consisting of multiple sub frames, each one corresponding to particular use case.

2 sub frames are used in the USRR/MRR mode, 1 sub frame for the MRR context and the other for USRR context.

Frame Construction

MRR subframe

This subframe consists of two kinds of chirps (fast chirps and slow chirps). Both fast and slow chirps have the same slope; however, the slow chirp has a slightly higher ‘chirp repeat periodicity’ than the fast chirp. As a result, the slow chirps (when processed after 2D fast-Fourier transform (FFT)) have a lower maximum unambiguous velocity as compared to the fast chirps.

Note that the fast and slow chirps do not alternate; instead, the fast chirp is repeated a certain number of times, followed by the slow chirp, which is again repeated an equal number of times. The purpose of this chirp design is to use the two separate estimations of target velocity from the ‘fast chirp’ and the ‘slow chirp’ along with the ‘Chinese remainder theorem’ to generate a consistent velocity estimate with a much higher max-velocity limit.

USRR subframe

This subframe consists of three alternating chirps. Each chirp utilizes one of the three Txs available on the AWR1843 device. Combined processing of this subframe allows the generation of a virtual Rx array of twelve Rx antennas, which consequently has better angular resolution (approximately 14.3°) than the 4 Rx antenna array

Data Path

Processing Chain

The RF front end is configured by the BIST subsystem (BSS). The raw data obtained from the various front end channels is taken by the HWA subsystem for processing.

Processing during the chirps consists of:

Processing during the idle or cool down period of the RF circuitry following the chirps until the next chirping period. This processing consists of:

Clustering

Clustering is performed using the dBscan algorithm, applied on the detected objects of both the MRR and the USRR subframes. The output of the clustering algorithm is the mean location of a cluster and its dimensions (assuming the cluster is a rectangle).

For the USRR subframe, the clustering output is sent as is to the graphical user interface (GUI).

USRR clusters allow the grouping of dense point clouds to rectangles. In cross-traffic scenarios, these clusters can be used to identify vehicles crossing the field of vision (FoV) of the radar.

Tracking

Clustering output forms the input for the tracking algorithm. The strongest object in the cluster is provided as a representative object for the tracking algorithm.

The tracker is a fairly standard Extended Kalman Filter (EKF with four states [x, y, vx, vv] and three inputs [r, v, sin(θ)] or range, relative velocity, and sine of the azimuth).

Signal to noise ratio is taken as input and associated variance is computed using the Cramer-Rao Lower Bound formula for frequency variance.

Output Data Format

Data Packet Format: A TLV (type-length-value) encoding scheme is used with little endian byte order. For every frame, a packet is sent consisting of a fixed sized Frame Header and then a variable number of TLVs.

Below are the possible TLVs:

TLV Name Type
Detected Points 1
Clusters 2
Tracked Objects 3

Detected Object List

Parameter Size
Doppler Index short(uint16)
Peak Value short(uint16)
X-coordinate in meters short(uint16)
Y-coordinate in meters short(uint16)
Z-coordinate short(uint16)

Cluster Output Format

Parameter Size
Clustering center on X-direction short(uint16)
Clustering center on Y-direction short(uint16)
Clustering size on X-direction short(uint16)
Clustering size on Y-direction short(uint16)

Tracking Output Format

Parameter Size
Tracking X-coordinate short(uint16)
Tracking Y-coordinate short(uint16)
Velocity in X-direction short(uint16)
Velocity in Y-direction short(uint16)
Cluster Size (X-direction) short(uint16)
Cluster Size (Y-direction) short(uint16)

Demo Configuration

Operation Modes

The demo supports 3 modes of operation:

The mode of operation is hard coded in the implementation.

CLI Configuration

Most of the mmWave demos provided by our team on TI Resource Explorer support a CLI configuration from the PC host:

The MRR demo also supports a CLI, however the main difference with the other demos is that the RF configuration is not sent through the UART but hard coded in the application that runs on the target.

The MRR demo supports only two commands which are sent by the Matlab GUI through UART to start the demo.

Please see in following file <RADAR_TOOLBOX_INSTALL_DIR>\tools\visualizers\MRR_BeamSteering_GUI\load_config.m

The MRR demo can be started using these commands using Tera Term for example.

RF Configuration

The RF configuration (profile, chirp, frame…) is performed using Advanced Frame Configuration. For more information about Advanced Frame Configuration please see following appnote: “Section 6 Advanced Chirp Configurations” in Programming Chirp Parameters in TI Radar Devices.

As mentioned in previous section, the RF configuration is not sent through UART as in other demos.

The RF configuration is hard coded in the code in the following file:

In order to modify the RF configuration, one would need to re-build the demo.

Beam Steering

This demo configures the beam steering on a per frame basis. This means that the beam steering angle is the same for all the chirps included in one frame. The beams steering configuration is hard coded.

In the prebuild binaries, the beam steering is configured as follows:

The beams are alternating as follows:

In the prebuild binaries, the frame duration is 60ms, so the beam steering cycling time is 7 x 60ms

Steps to change the Beam Steering Configuration:

* The value “-60” must be replaced with the new desired initial steering angle.  

Building from Source Code and Running

1. Pre-requisites

Please read in the Lab Release Notes for the version of the SDK required by this Lab.

It is assumed that you have the TI mmWave SDK and all the related tools installed as mentioned in the mmWave SDK release notes.

If you have already installed the mmWave SDK and all the required tools, you can move on to the next step i.e. downloading the lab on to your machine.

2. Import Lab Project

The Medium Range Radar Lab consists of two CCS projects, one for the R4F core and one for the C674x DSP core.
The CCS projects are included in the Radar Toolbox zip file installed as described in the Getting Started Guide.

  1. Open CCS. Select the “CCS Edit” perspective.

  1. Select Project ► Import CCS Projects. Browse to select the lab folder.
  2. The labs projects should be discovered by CCS. Select All and Finish
  3. This copies the projects in the user’s workspace and imports it into the CCS project explorer.
    • It is important to note that the copy created in the workspace is the one that gets imported in CCS. The original project downloaded in mmwave Radar toolbox is not touched.
  4. The projects should be visible in CCS Project Explorer as shown here:

We are ready to move on to the next step i.e. Building the project.

3. Build Lab Project

At this point we assume the two projects have been imported in CCS. If they have not please go to Step 2.

  1. With the dss project selected in Project Explorer, right click on the project and select Rebuild Project.
    • Selecting Rebuild instead of Build ensures that the project is always re-compiled. This is especially important in case the previous build failed with errors.
  2. On successful completion of the build, you should see the output in CCS console as shown here and the following two files should be produced in the project debug directory:
    • mrr_18xx_dss.xe674
    • mrr_18xx_dss.bin
  3. If the build fails with errors, please ensure that all the pre-requisites are installed as mentioned in the mmWave SDK release notes.
  4. The dss project must be built BEFORE the mss project.
  5. With the mss project selected in Project Explorer, right click on the project and select Rebuild Project
  6. On successful completion of the build, you should see the output in CCS console as shown here and the following three files should be produced in the project debug directory:
    • xwr18xx_mrr_demo.bin
    • mrr_18xx_mss.bin
    • mrr_18xx_mss.xer4f

If the build fails with errors, please ensure that all the pre-requisites are installed as mentioned in the mmWave SDK release notes.

4. Preparing the EVM

There are two ways to execute the compiled code on the EVM:

5. Running the Lab

Connecting EVM to CCS

It is assumed that you were able to download and build the Lab in CCS (completed steps 1, 2 and 3).

To connect the Radar EVM to CCS, we need to create a target configuration:

  1. Go to File ► New ► New Target Configuration File
  2. Name the target configuration accordingly and check the “Use shared location” checkbox. Press Finish
  3. In the configuration editor window:
    • Select “Texas Instruments XDS110 USB Debug Probe” for Connection
    • Select AWR1843 device in the Board or Device text box.
    • Press the Save button to save the target configuration.
    • You can press the Test Connection button to check the connection with the board.
  4. Go to View ► Target Configurations to open the target configuration window.
  5. You should see your target configuration under User Defined configurations.

  1. Right click on the target configuration and select Launch Select Configuration.
  2. This will launch the target configuration in the debug window.

  1. Select the Texas Instruments XDS110 USB Debug probe/C674X_0 and press the Connect Target button.
  2. Select the Texas Instruments XDS110 USB Debug probe/Cortex_R4_0and press the Connect Target button.

Loading the Binary

  1. Once both targets are connected, select the C674X_0 target, and click on the Load button in the toolbar.
  2. In the Load Program dialog, press the Browse Project button.
  3. Select the lab executable (.xe674) found in the project as shown, and press OK.
  4. Press OK again in the Load Program dialog.
  5. Now select the Cortex_R4_0 target, and click on the Load button in the toolbar.
  6. In the Load Program dialog, press the Browse Project button.
  7. Select the lab executable (.xer4f) found in the project and press OK.
  8. Press OK again in the Load Program dialog.

Running the Binary

  1. With both executables loaded, group in CCS the two cores, ARM and DSP.
  2. Select the group and press the Run/Resume button.
  3. The program should start executing and generate console output.

If everything goes fine, you should see:

Start the GUI as described in the next section.

Running the Lab PC-GUI

  1. Navigate to the folder gui ► MRRvisualization and click on MRRVISUALIZER.exe
  2. Windows should open. (i.e. a Display prompt window and a GUI window)
    • If the EVM is connected to the PC, then the display prompt window should successfully open the COM ports (to double check, make sure they match with the port numbers on the Device Manager).

  1. In the GUI window, fill in the Data COM Port field. (Make sure that no other EVM is connected to the USB ports of the PC)
  2. After filling all the options. Click “Ok”

The Matlab GUI consists of 5 components:

Learn more about TI mmWave Sensors

Learn more about xWR1x devices, please visit the product pages:

Get started evaluating the platform with xWR1x EVMs, purchase EVM at:

Download mmWave SDK
Ask question on TI’s E2E forum