Tool/software: Code Composer Studio
Hi,
I recorded the data with BPM mode. I used Tx0 and Tx1 to record the data. To record the data I used the Settings below for mmstudio.
%% parameters
samples = 256;
chirps = 128;
channels = 4;
numTX = 2;
frames = 8;
Slope = 60.977e12; %MHz/us
samplingRate = 7.5e6;
rampEnd = 60e-6;
frequency = 77e9;
To read the data I used the matlab code below.
%%% This script is used to read the binary file produced by the DCA1000
%%% and Mmwave Studio
%%% Command to run in Matlab GUI - readDCA1000('<ADC capture bin file>')
% change based on sensor config
numADCBits = 16; % number of ADC bits per sample
numLanes = 4; % do not change. number of lanes is always 4 even if only 1 lane is used. unused lanes
isReal = 0; % set to 1 if real only data, 0 if complex data are populated with 0
% read .bin file
fid = fopen("D:\\Data\\IWR1443\\adc_data_BPM_MIMO_1443.bin",'r'); % D:\Data\adc_data(IWR1443).bin
% DCA1000 should read in two's complement data
adcData = fread(fid, 'int16');
% if 12 or 14 bits ADC per sample compensate for sign extension
if numADCBits ~= 16
l_max = 2^(numADCBits-1)-1;
adcData(adcData > l_max) = adcData(adcData > l_max) - 2^numADCBits;
end
fclose(fid);
% for real only data
if isReal
% reshape data based on one samples per LVDS lane
adcData = reshape(adcData, numLanes, []);
%for complex data
else
% reshape and combine real and imaginary parts of complex number
adcData = reshape(adcData, numLanes*2, []);
adcData = adcData([1,2,3,4],:) + sqrt(-1)*adcData([5,6,7,8],:);
end
%% rearrange data according to transmitter
radar_data = reshape(adcData, 4, 256, 128, 8); %reshape(adcData, channels, samples, chirps, frames);
Sb = radar_data(:,:,2:2:end,:);
Tx1 = (Sa - Sb)/2;
radar_data_combined = permute(radar_data_combined,[2,3,1,4]); %(samples, chirps, channels, frames)