Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

XENSIV™ BGT60TR13C radar: FAQs – KBA236821

XENSIV™ BGT60TR13C radar: FAQs – KBA236821

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Version : *B

1: How do I interface BGT60TR13C with PSoC™ 6 using SPI communication?

The BGT60TR13C shield is an extension board of Infineon’s 60-GHz radar system platform without a microcontroller. The shield must be connected to an MCU board, such as the radar baseboard MCU7 (RS, 2019), PSoC™ 6, and others. The following figure shows the sensor pinout and pad layout.

Infineon_Team_0-1673944109757.pngFigure 1 Pinout (a) and pad layout (b) of the sensor connectors on the BGT60TR13C shield
 

See the following resources:


2: How do I set the device firmware in continuous wave (CW) mode and duty cycle?

Radar development kit (RDK) provides a wrapper around the class available at radar_sdk\sdk\c\ifxAvian named Constant_Wave_Controller.h. This class puts the device into CW mode and controls all relevant parameters. The header file of that class provides a class reference which provides details on how to set the configuration such as ADC, baseband, sample rate, and duty cycle.

3: How do I interpret the raw data and extract the IQ data from BGT60TR13C?

The BGT60TR13C has a frequency-modulated continuous wave (FMCW) radar. This periodically transmits a ramp function which is frequency-modulated.

The receiver constitutes only one in-phase mixer (no IQ, only I), and therefore produces a real intermediate frequency (IF) signal. The frequency components of this signal are directly proportional to the distances of the objects reflecting the radar transmission.

A Fourier transform can be performed on the received IF signal to get complex I and Q signals with phase information associated with each frequency component.

 4: How do I flash the firmware in DEMO BGT60TR13C with and without using the Radar Fusion GUI? 

Without using the Radar Fusion GUI:

  1. Connect the board to the PC using the USB cable.
  2. Use the windows batch files located at: \radar_sdk\tools\flashing\UpdateFirmware.bat to flash the firmware after installing the radar_sdk from Radar Development Kit web page.
  3. On the software page of the RDK release, download the firmware-rbb7.zip file which can also be used for debugging and flashing the firmware in the DEMO BGT60TR13C.

Using the Radar Fusion GUI:

  1. Connect the board to the PC using the USB cable.
  2. Open the Radar Fusion GUI, and go to Device > Flash Firmware from the main menu as follows:

    Infineon_Team_1-1673944186127.pngFigure 2 Radar Fusion GUI

  3. Select the firmware binary file (for example, RadarBaseboard_v255.bin) and then click Flash to start flashing the firmware into the board.

    Infineon_Team_2-1673944224372.png
    Figure 3 Firmware flashing


5
: Why is the angle measurement not stable beyond 60 degrees?

Due to phase noise jumping over 90 degrees, there are angle jumps for the target angles beyond 60 degrees. The best performance is given within ± 45 degrees. However, the performance can be improved for larger angles by using the tracking and segmentation algorithm. This allows splitting the sensor field of view up to three segments; an active target can be detected in each segment.

6: Is calibration necessary when starting BGT60TR13C?

Multichannel ADC and Sensor ADC calibration are performed during startup, which can be enabled or disabled using register settings. If calibration is enabled, the radar chip will do the calibration by itself. No further calibration is required by the chip.

 7: Is it possible to set two different chirp profiles for macro and micro motion simultaneously?

No, it is not possible to set the two different chirp profiles using the current radar SDK.

8: How do I tune the chirp bandwidth for BGT60TR13C?

Do the following to configure and tune the chirp bandwidth for BGT60TR13C without using the Radar Fusion GUI:

Use the Radar SDK Recorder app available at radar_sdk\sdk\apps\c\recorder, and set the desired configuration into the config_recorder.json file available at radar_sdk\sdk\apps\c\share\ to record the raw data.

"device_config": {
"fmcw_scene": {
"rx_antennas": [1,2],
"tx_antennas": [1],
"tx_power_level": 31,
"if_gain_dB": 33,
"range_resolution_m": 0.3,
"max_range_m": 9.59,
"max_speed_m_s": 2.45,
"speed_resolution_m_s": 0.03,
"frame_repetition_time_s": 0.01 //100Hz, or 0.005 for 200Hz
}
}

After configuration, compile the whole SDK using the CMakeLists.txt given in the \radar_sdk\. After compiling, a folder named "bin" is created in the same path, which will contain all the applications.

For recording the data, run the executable with option -r.

For example:

\app_recorder.exe -r "PATH_TO_FILENAME"

To check out other options use the following command:

\app_recorder.exe –help


9: Can BGT60TR13C distinguish between humans, animals, and objects?

BGT60TR13C is designed and tested for human targets; therefore it can detect moving human targets. To detect animals, it may require further processing on the input data from the receiver. Static objects cannot be detected, but macro and micro motions can be detected.

10: Do the IF outputs from RX1, RX2, and RX3 of the BGT60TR13C chip have I-Q outputs? How do I interpret the raw data and extract I and Q component?

 The receiver of BGT60TR13C consists of only one in-phase mixer; therefore, it can produce only a real(I) IF  for each receiver antenna signal that is composed of several frequencies. However, by performing Fourier transformation on the signals received, both in-phase and quadrature components can be generated for further processing. The progression of each complex/quadrature frequency component over time can be treated as an IQ signal for each frequency component.

11: Is there any interface to provide the elevation angle, azimuth angle, and radial distance of the target to obtain the XYZ information of the world coordinates?

The azimuth and elevation angles information can be retrieved by using the Motion Angle app provided in the RDK. After installing the kit, locate the app file (app_motion_angle.c) in \radar_sdk\apps\c\motion_angle\

12: What is the data format of the recorded raw data from the Radar Fusion GUI?

The data format is specified in the recorded data text file. 

## Data_Format_Enum_Def = {DATA_REAL = 0, DATA_COMPLEX = 1, DATA_COMPLEX_INTERLEAVED = 2}

Because Data_Format_Enum value is ‘0’, the recorded data is real (I only) and has the inputs from three receiving antennas interleaved.

13: What is the difference between range resolution and accuracy? How is the range resolution computed for BGT60TR13C?

Range resolution is the ability of a radar system to distinguish between two or more targets on the same bearing but at different ranges. It can be computed as

image.png

The factor  comes from the window function used;  for no window. However, windowing once can gain better sidelobe rejection at the cost of mainlobe width, which influences the resolution.

Accuracy (or precision) is a function of the SNR, given by

Image.png

Thus, the higher the SNR value, the better the accuracy.

14: As per the attached image (Presence Detection MATLAB example), why does 'chirp_samples/8' correspond to 20 cm and 'chirp_samples/2' correspond to 80 cm? What is the significance of these? How is the maximum range calculated by this?

Infineon_Team_3-1673944672403.png
Figure 4 Presence detection MATLAB code snippet
 

The maximum range is calculated as follows:

Image.png

Thus, with the number of samples as 64 and the operating frequency range as 59 GHz to 62 GHz, the maximum range is 1.4851 m.

Range bin is the total detection range divided according to the samples while plotting the FFT. It's mathematically computed. In this case, the range bins are divided into 64. So, each range bin = 1.4851/64  = 2.32 cm.

In this case,
detect_start_sample = round(chirp_samples/8); % detection start sample corresponding to 20cm [2.32cm*(64/8)= 18.56 ~ 20cm]
detect_end_sample = round(chirp_samples/2); % detection end sample corresponding to 80cm [2.32cm*(64/2)= 74.24 ~ 80cm]

Note that detect_start_sample and detect_end_sample can be more appropriately termed as detect_start_bin and detect_end_bin.

For 5 m, increasing the number of samples is one option. The other option is to reduce the bandwidth, but note that the performance of the motion detection part with larger range bins is unverified.

15: Can BGT60TR13C distinguish between objects in the same range and velocity but at different angle?

 Because BGT60R13C has L-shaped antennas for the receiving part and for higher angular resolution, more than two receiver antennas would be required in azimuth and elevation angle to distinguish such targets. Thus, it would not distinguish between objects in the same range and velocity but at different angle.

16: Is there a way to view the recorded radar data captured in the Radar Fusion GUI in MATLAB signal analyzer app?

While recording the data from the Radar Fusion GUI, select the Raw Data (.txt) format from recording settings.

Image.png

Figure 5 Recording data in Radar Fusion GUI

After the recording, extract the data from the .txt file into MATLAB using the following code:

% Read in file
allData = textread('BGT60TR13C_record_20220801-104524.raw.txt', '%s', 'delimiter', '\n');

% Make allData cells empty if numerical
numericalArray = cellfun(@(s) sscanf(s,'%f').' ,allData, 'un', 0);

% Get Header
header = allData(cellfun('isempty',numericalArray));

% Get Data
data = vertcat(numericalArray{:});

plot(data)

After the execution of the code, save the data variable in the workspace into .mat format to plot it in signal analyser.

17: How do I connect the Radar Baseboard MCU7 to the Radar Shield?

To ensure that the shield is mounted correctly on the Radar Baseboard, check whether the markers on the board and the shield align properly as shown in Figure 6.

Markers on the Radar Shield and Radar Baseboard MCU7.png

 Figure 6 Markers on the Radar Shield and Radar Baseboard MCU7

18: What does the LED indicate on the Radar Baseboard MCU7?

The LED on the Radar Baseboard MCU7 board indicates the board's status as shown in Table 1, which can be used as a reference to identify any issues while connecting to PC.

Table 1 Board Status as indicated by LED on Radar Baseboard MCU7

LED

Board status

Slow green blinking

Ok

Fast red-green blinking

No RF shield connected

Fast red blinking

Wrong orientation of the RF Shield

Fast yellow-red  blinking

Unknown RF shield (Shield may be broken or not properly connected)

Fast yellow, slow red blinking

Internal error during initialization/detection (this may indicate a hardware/firmware problem)

 

19: What should be done if the PC does not detect the connected radar demo board ?

If the radar demo board is not detected on the PC, do the following:

  • Open device manager and check the ‘Ports’ to ensure that the device is connected properly.
  • Try changing the USB ports and also the USB cable because it could be an issue on either side.
  • Note that some USB cables contain only USB Vcc and GND (+5V) lines, which cannot be used in such cases, because there are no data lines. Ensure that you use a USB cable that contains both USB Data+ and Data- lines.
  • If it is a USB port error, it will show up as shown in Figure 7. In such cases, try unmounting and remounting the shield on the radar baseboard as shown in Figure 8.

USB port error.pngFigure 7 USB port error

 Unmounting and remounting of shield on Radar Baseboard.png

Figure 8 Unmounting and remounting of shield on Radar Baseboard 

  • If the issue still persists and it is none of the cases stated above, try reflashing the firmware on Radar Baseboard MCU7.

20: How do I rectify the firmware flashing error on Radar Baseboard MCU7?

The firmware on Radar Baseboard MCU7 can be programmed and the radar shields can be initialized from a Windows PC without the need of a programmer or other special equipment.

If errors occur during flashing the firmware on the board, do the following:

  • Change the USB port and check if that works.
  • Connect the test point TP1/Erase pin with the 3.3 V pin, while you plug the board into the USB port as shown in Figure 9.

TP1_Erase and 3.3V pins on the Radar baseboard.jpgFigure 9 TP1/Erase and 3.3V pins on the Radar baseboard

TP1/Erase is a test point above the ATSAMS70Q21, a 32-bit Arm® Cortex®-M7 Atmel MCU, (marked by a red circle). Check the label on the marked pin as 3.3V; while connecting the board to a PC via USB, make sure to connect both pins shown in the figure. Once the board is connected via USB, the pins TP1/Erase and 3.3V do not need to be connected anymore. You can update the firmware.
For more information, see Section 4 of the AN599 Radar baseboard MCU7 application note.

21: My radar demo board is not connecting to the GUI. What should I do?

Note that Infineon provides two GUI interfaces for the Infineon radar demo boards - the Radar GUI and Radar Fusion GUI. Also note that the 60-GHz demo boards are meant to work with the Radar Fusion GUI only. In addition, use the latest version of the firmware, and the latest version of the Radar Fusion GUI to work properly. If the device doesn’t show up in the Radar Fusion GUI while you try to connect, try flashing the latest firmware on the device by using the ‘Flash Firmware’ option in the GUI. 

Radar Fusion GUI.pngFigure 10 Radar Fusion GUI

If the issue still persists, try the steps listed out in Question 4.

22: I get an IFX_ERROR_NO_DEVICE when I try to use the Radar Development Kit (RDK). What should I do?

Always use the latest version of the Radar Development Kit (RDK) which can be downloaded from the Infineon Developer Center. If the issue still persists on using the latest version, do the following:

  • Check if the USB cable is properly connected to the PC. See Question 19.
  • Check if the application that you are trying to use is supported on the 60-GHz demo board. Not all applications support all boards.
  • If you are connecting the sensor to the Ubuntu environment, make sure that your version of Ubuntu is supported by the RDK. Make sure that you can access the device file /dev/ttyACM0 (the trailing number might be different on your computer). On Ubuntu and Raspbian, make sure that your current user is in the group dialout. You can check the groups of your current user by running the following code:
    IFX_Publisher1_1-1679613539822.png
    To add your user to the group dialout, run the following code snippet (replace username by your actual user name). Note that the group assignment takes effect only after logging out of all running sessions.
    IFX_Publisher1_2-1679613567511.pngNote that for some applications such as app_segmentationapp_motion_angle, and app_advanced_motion_sensing, it might be necessary to set the environment variable LD_LIBRARY_PATH such that the shared libraries are found. If you see an error message stating ‘error while loading shared library’, set the environment variable LD_LIBRARY_PATH to the directory where the compiled executables are located. Assuming you are in the directory of the executables, you can run app_segmentation using the following commands:
    IFX_Publisher1_3-1679613585742.png
  • If you get the IFX_ERROR_NO_DEVICE error using MATLAB or Python specifically in any environment, update the firmware to the latest version using the Radar Fusion GUI or the Flashtool (available with the RDK) and try connecting again.

23: I’m not able to see the application settings in the standard user mode in Radar Fusion GUI for my 60-GHz Radar demo board. What should I do?

Note that the applications are available only for particular radars in Standard User Mode. Segmentation and Seamless Tracking, Range and Angle measurement, Presence Detection and Raw Data applications are available only for the BGT60TR13C board, while BGT60LTR11AIP supports only Radar Integrated Motion Sensing and Advanced Motion Sensing with SPI in Radar Fusion GUI. As of now BGT60ATR24C doesn't come with any application settings.

24: I am trying to connect my KIT_CSK_BGT60TR13C with the Radar Fusion GUI but it is not detecting the device. What should I do?

Note that the Radar Fusion GUI and the Radar Development kit (RDK) only support the 60-GHz demo boards which come with the Radar Baseboard MCU7 with 60-GHz radar shield mounted on the top, at present. This means that support for KIT_CSK_BGT60TR13C is not offered by the GUI or the RDK. See the user manuals for to learn about packages supported by the board.

25: When I try to compile the Radar Development Kit (RDK) using the cmake -G “MinGW Makefiles” command, I get an error ‘CMake was unable to find a build program corresponding to “MinGW Makefiles”’. How do I rectify it?

This may be due to a problem with your MinGW environment. Ensure that MinGW is installed properly. In addition, verify that the following has been added to your system path variables (System properties > Environment variables > System Variables > Path > New > Add). Add these two paths there and Click OKC:\Program Files\CMake\bin; C:\msys64\mingw64\bin

26: I’m trying to read a register value from BGT60TR13C while interfacing it with a different microcontroller but I’m not getting any data back on the MISO line. What could be the issue?

Check the frequency that you are using for SPI communication and note that the MISO_HS_RD bit must be set LOW for frequencies < 25 MHz. In addition, double-check your level shifters. 

References:

2400 Views