尊敬的工程师们:
现在我只连接了master一个设备如下两张图所示


现分别设置一发一收、一发四收、两发四收进行数据的采集,请问如何用TI官方给的算法读取出雷达块呢?具体请给出调用示例,不胜感激。
PS:收集到的数据路径为:‘E:\company\data\2022_1_17_cascade\1T1R_5120F_2C_1ms\master_0000_data.bin’,官方给定的代码如下所示:
%% read raw adc data with MIMO
function [radar_data_Rxchain] = read_ADC_bin_TDA2_separateFiles(fileNameCascade,frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices)
dataFolder =fileNameCascade.dataFolderName;
fileFullPath_master = fullfile(dataFolder,fileNameCascade.master);
fileFullPath_slave1 = fullfile(dataFolder,fileNameCascade.slave1);
fileFullPath_slave2 = fullfile(dataFolder,fileNameCascade.slave2);
fileFullPath_slave3 = fullfile(dataFolder,fileNameCascade.slave3);
[radar_data_Rxchain_master] = readBinFile(fileFullPath_master, frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices);
[radar_data_Rxchain_slave1] = readBinFile(fileFullPath_slave1, frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices);
[radar_data_Rxchain_slave2] = readBinFile(fileFullPath_slave2, frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices);
[radar_data_Rxchain_slave3] = readBinFile(fileFullPath_slave3, frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices);
% Arranged based on Master RxChannels, Slave1 RxChannels, slave2 RxChannels, slave3 RxChannels
% The RX channels are re-ordered according to "TI_Cascade_RX_ID" defined in
% "module_params.m"
radar_data_Rxchain(:,:,1:4,:) = radar_data_Rxchain_master;
radar_data_Rxchain(:,:,5:8,:) = radar_data_Rxchain_slave1;
radar_data_Rxchain(:,:,9:12,:) = radar_data_Rxchain_slave2;
radar_data_Rxchain(:,:,13:16,:) = radar_data_Rxchain_slave3;
end
function [adcData1Complex] = readBinFile(fileFullPath, frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices)
Expected_Num_SamplesPerFrame = numSamplePerChirp*numChirpPerLoop*numLoops*numRXPerDevice*2;
fp = fopen(fileFullPath, 'r');
fseek(fp,(frameIdx-1)*Expected_Num_SamplesPerFrame*2, 'bof');
adcData1 = fread(fp,Expected_Num_SamplesPerFrame,'uint16');
neg = logical(bitget(adcData1, 16));
adcData1(neg) = adcData1(neg) - 2^16;
%%
adcData1 = adcData1(1:2:end) + sqrt(-1)*adcData1(2:2:end);
adcData1Complex = reshape(adcData1, numRXPerDevice, numSamplePerChirp, numChirpPerLoop, numLoops);
adcData1Complex = permute(adcData1Complex, [2 4 1 3]);
fclose(fp);
end
罗
