read
Read radar data cubes from the binary files using dca1000FileReader object
Since R2024b
Syntax
Description
returns a cell array with one element that corresponds to one radar data cube that is
read using data
= fr
.read()dca1000FileReader
object, fr
. The
CurrentPosition
property of fr
also gets
incremented by 1 after a radar data cube is read. data
will be empty
if no new data cube is available to read from the
CurrentPosition
.
[
returns a cell array with number of elements equal to
data
,numDataCubesRead
] = fr
.read(numDataCubesToRead
)numDataCubesToRead
that correspond to radar data cubes that are
read using dca1000FileReader
object, fr
. The
CurrentPosition
property of fr
also gets
incremented by a value equal to numDataCubesToRead
, and the
subsequent read
function call considers this number as the index to
start reading the data. If the specified number of data cubes are not available to read
from the CurrentPosition
, then the function returns the available
data cubes as cell array and actual number of data cubes read as second output argument
numCubesRead
.
[
considers a specific index to start reading data and returns a cell array with number of
elements equal to data
,numDataCubesRead
] = fr
.read(numDataCubesToRead
, indexToRead
)numDataCubesToRead
that corresponds to radar data
cubes that are read from dca1000FileReader
object,
fr
. The CurrentPosition
property of
fr
is set based on indexToRead
and it gets
incremented by a value equal to numDataCubesToRead
after the read
operation. This new index becomes the CurrentPosition
when you call
read function the next time.
Examples
Start Reading Radar Data Cubes Using dca1000FileReader Object
Create a dca1000FileReader
object by specifying the file location
where the recorded files are stored.
fr = dca1000FileReader(RecordLocation = "C:\Users\DCA_data")
fr = dca1000FileReader with properties: BoardName: "IWR6843ISK" ConfigFile: "C:\Users\DCA_data\Range10Hz.cfg" RecordLocation: "C:\Users\DCA_data\" RecordFilePrefix: "iq_data" NumDataCubes: 63
Use the read function of the object to read radar two data cubes from the recordings, one-by-one.
% Read first data cube available. Now fr.CurrentPosition = 1, after the read, % fr.CurrentPosition will be updated to 2 data = fr.read()
data = 1×1 cell array {240×4×32 double}
% Read next data cube available. Now fr.CurrentPosition = 2, after the read, % fr.CurrentPosition will be updated to 3 data = fr.read();
data = 1×1 cell array {240×4×32 double}
Read 4 radar data cubes from the recordings, by specifying
numDataCubesToRead
. Note that the
CurrentPosition
got updated to 3 after the last read operation
in the previous code.
% Read 4 data cubes (index 3 to 6) . fr.CurrentPosition = 3
numDataCubesToRead = 4;
data = fr.read(numDataCubesToRead);
data = 1×4 cell array {240×4×32 double} {240×4×32 double} {240×4×32 double} {240×4×32 double}
Read radar data cubes from a known index 11, by overriding the
CurrentPosition
.
numDataCubesToRead = 4; indexToRead = 11 % Read 4 data samples starting from Index 11 (specified by indexToRead). % Here the fr.CurrentPosition is internally reset to 11. [data, numRadarCubesRead] = fr.read(numDataCubesToRead, indexToRead) % After this read operation, fr.CurrentPosition = 15
Read all IQ data cubes one-by-one from the binary files recorded using the class dca1000
Create a dca1000FileReader
object by specifying the file location
where the recorded files are stored.
fr = dca1000FileReader(RecordLocation = "C:\Users\abc\dca1000data")
fr = dca1000FileReader with properties: BoardName: "IWR6843ISK" ConfigFile: "C:\Users\abc\dca1000data\Range10Hz.cfg" RecordLocation: "C:\Users\abc\dca1000data\" RecordFilePrefix: "iq_data" NumDataCubes: 63
Read all radar data cubes one-by-one in a loop until no more data cubes are available for reading.
while hasData(fr) iqData = read(fr); end
Read all IQ data cubes in single call to read()
Create a dca1000FileReader
object by specifying the file location
where the recorded files are stored.
fr = dca1000FileReader(RecordLocation = "C:\Users\abc\dca1000data")
fr = dca1000FileReader with properties: BoardName: "IWR6843ISK" ConfigFile: "C:\Users\abc\dca1000data\Range10Hz.cfg" RecordLocation: "C:\Users\abc\dca1000data\" RecordFilePrefix: "iq_data" NumDataCubes: 63
Use NumDataCubes
property of dca1000FileReader
to read all data cubes.
iqDataCubes = fr.read(fr.NumDataCubes);
Record IQ data for a duration of 10s and read all IQ data recorded
Create a dca1000
object to create connection to TI IWR6843ISK board
and DCA1000EVM capture card.
dcaObj = dca1000("IWR6843ISK",RecordDuration = 10)
Start Recording for 10 seconds, wait till recording is completed.
dcaObj.startRecording(); while (isRecording(iqDataSource)) end
Create a dca1000FileReader
object by specifying the file location
where the recorded files are stored.
dr = dca1000FileReader(RecordLocation = dcaObj.RecordLocation)
Use NumDataCubes
property of dca1000FileReader
to read all data cubes at once.
iqDataCubes = dr.read(dr.NumDataCubes);
Input Arguments
Output Arguments
Version History
Introduced in R2024b