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

XENSIV™ BGT60TR13C frequently asked questions – KBA236821

XENSIV™ BGT60TR13C frequently asked questions – KBA236821

Infineon_Team
Moderator
Moderator
Moderator
5 replies posted First solution authored First comment on KBA

XENSIV™ BGT60TR13C frequently asked questions – KBA236821

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

Answer: 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:


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

Answer: 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.

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

Answer: 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.

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

Answer:

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.png
  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


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

Answer: 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.

Question 6: Is calibration necessary when starting BGT60TR13C?

Answer: 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.

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

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

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

Answer: 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


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

Answer: 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.

Question 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?

Answer: 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.

Question 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?

Answer:  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\

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

Answer: 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.

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

Answer: 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.

Question 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
 

Answer: 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.

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

Answer: 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.

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

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

Image.png

 

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.

References:

0 Likes
132 Views
Contributors