주요 콘텐츠

dca1000

R2026b

Connect to TI mmWave radar sensor and DCA1000EVM to capture raw ADC data for live processing or offline processing

Since R2024b

Description

The dca1000 System object™ connects to a Texas Instruments® (TI) DCA1000EVM capture card that allows you to receive ADC Data (IQ Data ) from TI mmWave radar. You can use the object to read ADC data for real-time processing or record the ADC data for processing at a later time.

The following image shows a simple connection diagram between host PC, DCA1000EVM and TI mmWave radar.

The Hardware Setup window in the support package guides you to make the hardware connection and complete the other required setup. To run Hardware Setup, execute mmWaveRadarSetup (this is a one time setup). After the hardware setup, to receive ADC (IQ) data from the TI mmWave radar:

  1. Create the dca1000 object and set its properties.

  2. To read one radar data cube for real time processing, call the object as if it were a function.

  3. To record ADC data to a file in a host PC, call the startRecording function of the object.

Creation

Description

iqDataSource = dca1000(boardname) connects to a TI mmWave radar sensor specified by boardname and DCA1000EVM capture card. The TI mmWave radar sensor and DCA1000EVM capture card are connected to the host computer's serial port and Ethernet port, respectively. The iqDataSource connection object has default property values. When you use this syntax, MATLAB® automatically detects the serial port at which the TI mmWave radar sensor is connected. Use this syntax when only one TI mmWave radar sensor is connected to the host computer.

iqDataSource = dca1000(boardname,Name=Value) sets Properties using one or more name-value arguments.

For example, iqDataSource = dca1000("IWR6843ISK",ConfigFile= "C:\Users\User1\PrototypeV3\configMaxRangResolution.cfg") connects to the DCA1000EVM that is connected to a IWR6843ISK radar board (with both boards connected to your host computer), and prepares for reading raw ADC data by using the configuration specified in the file configMaxRangResolution.cfg in the specified path.

Input Arguments

expand all

Name of the Texas Instruments mmWave radar sensor Evaluation Module (EVM) to which the DCA1000EVM is connected, specified as a string scalar.

BoardName is a mandatory input argument.

Example: iqDataSource = dca1000("IWR6843ISK")

Data Types: string

Name-Value Arguments

expand all

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after BoardName, but the order of the pairs does not matter.

Example: iqDataSource = dca1000("IWR6843ISK",ConfigPort="COM7",ConfigFile= "C:\Users\User1\configMaxRangResolution.cfg")

Properties

expand all

If a property is nontunable, you can only change its value before calling the object or after calling the release function.

If a property is tunable, you can change its value at any time.

If a property is immutable, the property value is set during construction; you cannot change the value of an immutable property after the object is created.

Note

You can specify any of the properties on this page, which are not read-only, as name-value pairs

The values of the read-only properties are internally set. For the dca1000 object, some of them are derived from the Configuration (.cfg) file (for example, Update Rate, Bandwidth, Resolution, and so on). Therefore, you can indirectly modify such properties by updating the Configuration file. To generate the configuration file, see Configure Radar Using a Configuration (.cfg) File for Reading Raw ADC (IQ) Data.

For more information on changing property values, see System Design in MATLAB Using System Objects.

Hardware Connection

Name of the Texas Instruments mmWave radar sensor Evaluation Module (EVM) to which the DCA1000EVM is connected, specified as a string scalar.

BoardName is specified as an input argument during object construction.

Property type: Read-only

Data Types: string

Name of the serial port (COM#) used for passing configurations and binaries to the TI mmWave radar sensor to which the DCA1000EVM is connected, specified as a character vector or string scalar. Typically, the Config port is named in your Device Manager as either Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced COM Port or XDS110 Class Application/User UART. For details, see Identifying Serial Ports for TI mmWave Radar Connection.

When you have only one TI mmWave radar sensor connected, MATLAB automatically detects the serial port at which the TI mmWave radar sensor is connected. In this case, you need not specify ConfigPort. If you have multiple TI mmWave radars connected, then specify the ConfigPort name-value pair argument.

Property type: Immutable

Example: iqDataSource = dca1000(“IWR6843ISK”, ConfigPort = “COM7”)

Data Types: string

This property is read-only.

Static IP address that is set on the host computer where raw ADC data (IQ data) packets are received.

The static IP address of the network connection in the host PC corresponding to the connected DCA1000EVM must be configured as 192.168.33.30. To view the steps to setup the static IP, execute mmWaveRadarSetup command.

Data Types: string

Output Configuration

Ethernet packet delay in μs (from 5μs to 500μs) to achieve different throughputs while capturing raw ADC data, specified as a numeric scalar. A lower delay allows for higher bandwidth while increasing the probability of UDP packet being dropped before the packet reaches host computer. If you increase Ethernet packet delay, streaming throughput is decreased due to slower data capturing.

Property type: Nontunable

Data Types: double

Radar Configuration

File name with full path and the file extension to the Configuration (.cfg) file that stores information regarding configuration and settings of the device, specified as a string scalar.

For example, iqDataSource = dca1000("IWR6843ISK",ConfigFile= "C:\Users\User1\configMaxRangResolution.cfg").

You can also specify a Configuration (.cfg) file that includes advanced frame configurations (subframes).

For more details, see Configure Radar Using a Configuration (.cfg) File for Reading Raw ADC (IQ) Data.

If you are using AWR2944EVM, you need to reboot the board if there are Transmit Antenna configuration changes when the board operates in TDM processing chain.

Note

The AWR2944EVM and IWRL6432BOOST boards do not support advanced frame configuration.

Property type: Nontunable

Data Types: string

This property is read-only.

Data processing chain used for reading raw ADC (IQ) data from an AWR2944EVM board. This property appears only if you enter the value "AWR2944EVM" for the BoardName property.

You can define the specific processing chain (either TDM (Time-division Multiplexing) or DDM (Doppler Division Multiplexing) during the initial Hardware Setup process. To change the processing chain after object creation, use the updateProcessingChain method, which opens the corresponding page of Hardware Setup. For more information, see updateProcessingChain.

Data Types: string

Subframe Configuration

This property is read-only.

Number of subframes in a frame, specified as a positive integer scalar. This value is 1 for a standard (non-advanced) configuration file. For an advanced frame configuration file, this value can be up to 4.

When NumSubframes is greater than 1, the properties that vary across subframes (SweepSlope, NumChirps, SamplesPerChirp, ADCSampleRate, ChirpCycleTime, RampTime, Bandwidth, RangeResolution, RangeRateResolution, and FramePeriodicity) are returned as 1-by-N vectors, where N is the number of subframes and each element corresponds to a specific subframe.

The NumSubframes is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Periodicity of each subframe in a frame, in milliseconds. For a standard configuration, this is a positive real scalar. For an advanced frame configuration, this is a 1-by-N vector where N is the number of subframes and each element corresponds to the periodicity of a specific subframe.

The FramePeriodicity is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

Recording Properties

Valid folder path on the host computer to save recorded IQ data read from TI Radar using DCA1000EVM. The data will be written to this location as binary files along with other meta data when you call startRecording() of the dca1000 object. You need to mention the absolute path of the folder.

If you do not specify RecordLocation, a folder name dca1000data will be created inside the current directory in MATLAB, where the recorded data will be stored when you call the startRecording function.

Property type: Tunable

Data Types: string

Prefix that gets added to the names of the binary files that holds the recorded ADC data read from TI Radar and the other files containing meta information, specified as a string scalar.

Each file generated will have a prefix specified by RecordFilePrefix property of dca1000 (default: iqData). The first binary file generate will have a suffix _Raw_0 appended to the prefix mentioned, and the subsequent files will have suffix Raw_n where n is number from 0 to value that is determined by maximum memory size allocated for a single file or the RecordDuration property.

For example, consider the case when RecordFilePrefix is specified as adc_data, and MaxFileSize is specified is 1GB. First set of data will be captured in a file named adc_data_Raw_0. After 1 GB of capture, the ADC data will be recorded into another file named adc_data_Raw_1. Each subsequent file which will be created after 1GB will have the “Raw_n” appended to the user given filename where n is a number starting from 0.

The filename that you specify for RecordFilePrefix must conform to host PC rules.

If you want to store multiple recordings in same RecordLocation, you can use different RecordFilePrefix.

Property type: Tunable

Data Types: string

Time duration (in seconds) to record data from DCA1000EVM, specified as a numeric scalar. This duration is considered for recording data after you call the startRecording function. If you intend to use the stopRecording function to stop the recording, specify RecordDuration as inf.

Property type: Tunable

Data Types: double

Maximum size (in MB) of a single binary file that holds recorded data from DCA1000EVM, specified as a numeric scalar. The value of MaxFileSize must be in the range [1 1024]. If the recorded data exceeds the MaxFileSize, this data will be written to a new file.

For example, if the MaxFileSize property is set to 100MB and RecordFilePrefix is iqData, then after 100MB of data is captured in iqData_Raw_0 file, the code starts saving the recorded data into iqData_Raw_1 file, and then into iqData_Raw_2 file, and so on.

The value of MaxFileSize determines the total number of binary files generated after recording.

Property type: Tunable

Data Types: double

Other Radar Configurations

This property is read-only.

Chirp start frequency in GHz, specified as a positive real scalar.

The StartFrequency is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Chirp stop frequency in GHz, specified as a positive real scalar.

The StopFrequency is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Center frequency of the radar band in GHz, specified as a positive scalar.

The CenterFrequency is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Radar waveform bandwidth in GHz, specified as a positive real scalar. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes.

The Bandwidth is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Total duration of single chirp in micro seconds, specified as a positive real scalar. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes.

The ChirpCycleTime is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Up chirp duration in micro seconds, specified as a positive real scalar. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes.

The RampTime is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Slope of chirp as it ramps frequency, specified as a positive real scalar. Units are in MHz/μs. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

The SweepSlope is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Number of chirps in a frame, specified as a positive real scalar. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes and each element corresponds to the number of chirps in that subframe.

The NumChirps is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Number of ADC samples for a chirp, specified as a positive real scalar. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes and each element corresponds to the number of ADC samples in that subframe.

The SamplesPerChirp is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

ADC sampling frequency in kS/s, specified as a positive real scalar. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes and each element corresponds to the ADC sampling rate for that subframe.

The ADCSampleRate is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Number of active receiver elements, specified as a positive real scalar.

The NumReceivers is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Active receiving elements with logical values for each receiving antenna element, specified as a positive real scalar.

The TI mmWave radar has the capability to selectively turn on and off each receiver element. The property ActiveRecievers provides information about which Receive antenna elements are active (represented by 1) and which are not (represented by 0). For example, if ActiveRecievers is 1 0 1 , then RX1 and RX3 are active and RX2 is not active.

The ActiveReceivers is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Number of active transmitter elements, specified as a positive real scalar.

The NumTransmitters is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Active transmitting elements with logical values for each element, specified as a positive real scalar.

The TI mmWave radar has the capability to selectively turn on and off each transmitter elements. The property ActiveTransmitters provides information about which Transmit antenna elements are active (represented by 1) and which are not (represented by 0). For example, if ActiveTransmitters is 1 0 1 , then TX1 and TX3 are active and TX2 is not active.

For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

The ActiveTransmitters is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Sensor update rate, in Hz (samples/sec), specified as a positive real scalar. The mmWave radar generates measurement data as frames at intervals defined by the reciprocal of the update rate.

The UpdateRate is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Azimuth resolution of the radar, in degrees, specified as a positive scalar. The azimuth resolution defines the minimum separation in azimuth angle at which the radar can distinguish between two targets.

The AzimuthResolution is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Elevation resolution of the radar, in degrees, specified as a positive scalar. The elevation resolution defines the minimum separation in elevation angle at which the radar can distinguish between two targets.

The ElevationResolution is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Range-rate resolution of the radar, in meters per second, specified as a positive real scalar. The range rate resolution defines the minimum separation in range rate at which the radar can distinguish between two targets. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

The RangeRateResolution is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

This property is read-only.

Range-rate resolution of the radar, in meters per second, specified as a positive real scalar. The range rate resolution defines the minimum separation in range rate at which the radar can distinguish between two targets. For an advanced frame configuration with multiple subframes, this property is a 1-by-N vector, where N is the number of subframes. Each value corresponds to the corresponding subframe.

The RangeRateResolution is derived from the Configuration (.cfg) file that you specified using the property ConfigFile. To modify the value of this property, update the config file before object creation or after releasing the object.

Data Types: double

Usage

Description

iqData = iqDataSource() reads one radar data cube for live processing of raw ADC (IQ) data from the TI mmWave radar sensor using DCA1000EVM. If you are using a configuration corresponding to advanced frame configuration, each call returns IQ data for one subframe, cycling through the subframes frame-by-frame.

System objects may be called directly like a function instead of using the step method. For example, y = step(obj) and y = obj() are equivalent.

[iqData,subFrameNum] = iqDataSource() reads one radar data cube corresponding to a single subframe and returns the subframe number. If you are using a configuration corresponding to advanced frame configuration, each call returns IQ data for one subframe along with its subframe number, cycling through the subframes frame by frame. For example, if the configuration contains four subframes, the first call returns the data cube for subframe 1, the second call returns the data cube for subframe 2, and so on, with the sequence continuing cyclically.

For example, consider a dca1000 object created with config file corresponding to advanced frame config with 4 subframe:

dcaObj = dca1000('IWR6843AOPEVM',ConfigFile = 'xwr68xx_AOP_advanced.cfg')

The corresponding output looks like this:

[iqData1,subFrameNum1] = dcaObj();  % data cube corresponding to first subframe, subFrameNum1 = 1
[iqData2,subFrameNum2] = dcaObj();  % data cube corresponding to second subframe, subFrameNum2 = 2
[iqData3,subFrameNum3] = dcaObj();  % data cube corresponding to third subframe, subFrameNum3 = 3
[iqData4,subFrameNum4] = dcaObj();  % data cube corresponding to 4=fourth subframe subframNum4 = 4

Output Arguments

expand all

Raw ADC or IQ radar data cube captured from TI mmWave radar using DCA1000EVM capture card. The dimension of the radar data cube is Number of ADC Samples * Number of Active Receivers * Number of Chirps. The Number of ADC Samples, Number of Active Receivers and Number of Chirps are specified as the properties SamplesPerChirp, NumRevievers and NumChirps of the dca1000 object.

For an advanced frame configuration with multiple subframes, the data cube dimensions correspond to the parameters of the subframe indicated by the subFrameNum output.

Data Types: double

Subframe number corresponding to the returned IQ data cube, returned as a positive integer scalar. This output is applicable when the configuration file specifies an advanced frame configuration with multiple subframes. The value cycles from 1 to NumSubframes across successive calls to the object.

Data Types: double

Object Functions

To use an object function, specify the System object™ as the first input argument. For example, to release system resources of a System object named obj, use this syntax:

release(obj)

expand all

releaseStop streaming raw ADC radar data and release the dca1000 object
startRecordingRead and record raw ADC data from TI mmWave radar using DCA1000EVM to files in host computer
stopRecordingStop recording of raw ADC data from TI mmWave radar using DCA1000EVM
isRecordingCheck status of recording of raw ADC data (IQ data)

Examples

Read ADC radar data cube from TI mmWave Radar using DCA1000EVM

Connect to a DCA1000EVM, which is connected to a TI IWR6843ISK mmWave radar. If you are using the function for the first time, make sure to run hardware setup process (execute mmWaveRadarSetup command and follow the steps displayed in the screens). Ensure that you have completed the required hardware connections and that the network connection associated with DCA1000EVM is configured with the static IP 192.168.33.30. The detailed steps for this are also explained in the Hardware Setup process.

Create a dca1000 object specifying the TI mmWave radar board name.

boardName = "IWR6843ISK";
iqDataSource = dca1000(boardName)
iqDataSource = 

  dca1000 with properties:

              BoardName: "IWR6843ISK"
             ConfigPort: "COM6"
          HostIPAddress: "192.168.33.30"
         UDPPacketDelay: 25 (us)
             ConfigFile: "C:\ProgramData\MATLAB\SupportPackages\R2024bPrerelease\toolbox\
target\supportpackages\timmwaveradar\configfiles\xwr68xx-IQDataStreaming.cfg"

Recording Properties
       RecordLocation: "C:\ProgramData\MATLAB\dca1000Data"
     RecordFilePrefix: "iqData"
       RecordDuration: 10 (s)
          MaxFileSize: 1024 (MB)

Show all properties all functions

Call iqDataSource object to read one sample of IQ radar data cube from the TI mmWave Radar using DCA1000EVM.

% Read one radar data cube from the TI Radar 
% connected with the capture card DCA1000 EVM
radarDataCube = iqDataSource(); 

radarDataCube is a complex, double-precision, three-dimensional array of size SamplesPerChirp × NumReceivers × NumChirps. However, the AWR2944EVM provides only real-valued ADC samples. For real-valued signals, the FFT has conjugate symmetry, which means that one half of the magnitude spectrum is a mirror image of the other half.

Read ADC Radar Cube When Radar is Configured with Advanced Frame Configuration Containing Four Subframes

Create a dca1000 object specifying the TI mmWave radar board name and an advanced frame configuration file.

dcaObj = dca1000("IWR6843AOPEVM",ConfigFile="xwr68xx_AOP_advanced.cfg")

Tip

You can use a sample advanced frame configuration file provided with the support package instead of generating a configuration file. The sample files are stored in the configfiles folder in the mmWaveRadar Support Package install directory. For more information, see Configure Radar Using a Configuration (.cfg) File for Reading Raw ADC (IQ) Data

Read radar data cube from the TI Radar connected with the capture card DCA1000 EVM.

[iqData1,subFrameNum1] = dcaObj();  % data cube corresponding to first subframe, subFrameNum = 1
[iqData2,subFrameNum2] = dcaObj();  % data cube corresponding to second subframe, subFrameNum2 = 2
[iqData3,subFrameNum3] = dcaObj();  % data cube corresponding to third subframe, subFrameNum3 = 3
[iqData4,subFrameNum4] = dcaObj();  % data cube corresponding to 4th subframe subframNum4 = 4

The Workspace gets updated with the new variables and their corresponding values.

Read and plot specified Subframe Data from TI mmWave Radar Using Advanced Frame Configuration

Connect to a DCA1000EVM connected to a TI IWR6843AOPEVM mmWave radar configured with an advanced frame configuration file containing multiple subframes. Each subframe uses a different chirp profile, enabling simultaneous short-range and long-range operation.

Create a dca1000 object specifying the TI mmWave radar board name and an advanced frame configuration file.

dcaObj = dca1000("IWR6843AOPEVM",ConfigFile="xwr68xx_AOP_advanced.cfg")

Specify which subframe to process. In this example, use subframe 1 for range response plotting.

% Specify the subframe to plot
reqFrame = 2;

Define the sampling rate and sweep slope for the specified subframe. Because the dca1000 object properties are 1-by-N vectors when using advanced frame configuration, index into the property using the subframe number.

% Define a variable to set the sampling rate in Hz for the
% phased.RangeResponse object. Because the dca1000 object provides the
% sampling rate in kHz, convert this rate to Hz.
fs = dcaObj.ADCSampleRate(reqFrame)*1e3;

% Define a variable to set the FMCW sweep slope in Hz/s for the
% phased.RangeResponse object. Because the dca1000 object provides the
% sweep slope in MHz/us, convert this sweep slope to Hz/s.
sweepSlope = dcaObj.SweepSlope(reqFrame) * 1e12;

% Define a variable to set the number of range samples
nr = dcaObj.SamplesPerChirp(reqFrame);

Create a phased.RangeResponse System object for range filtering.

rangeresp = phased.RangeResponse(RangeMethod="FFT",...
    RangeFFTLengthSource="Property",...
    RangeFFTLength=nr, ...
    SampleRate=fs, ...
    SweepSlope=sweepSlope, ...
    ReferenceRangeCentered=false);

Read ADC data in a loop, processing only the data cubes that correspond to the specified subframe.

% Specify the duration in seconds for which the loop should run
stopTime = 100;
% Start the stopwatch timer
ts = tic;
% Execute the loop until the stopTime specified is reached
while (toc(ts)<stopTime)
    % Capture the ADC data (IQ data) from TI Radar board and DCA1000EVM.
    % Each call returns data for one subframe along with its subframe number.
    [iqData,frameNum] = dcaObj();
    if frameNum == reqFrame
        % Get the data from the first receiver antenna
        iqData = squeeze(iqData(:,1,:));
        % Plot the range response corresponding to the input signal, iqData.
        plotResponse(rangeresp,iqData);
    end
    % Update figures
    drawnow limitrate;
end

Version History

Introduced in R2024b

expand all