Other Parts Discussed in Thread: AWR1642, IWR6843
利用DCA1000和AWR1642采集手势数据,但是得到的矩阵中只有前两格有数据是什么原因呢
测了八次数据,打开均是如此
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请问用的是下面文档里的代码吗?
9.2 DCA1000 With x16xx and IWR6843 MATLAB Example
https://www.ti.com/lit/an/swra581b/swra581b.pdf
生成adc_data.bin时,mmwave studio用的是默认的配置么?
你好,
你能否用wireshake抓包看看,是否获得的数据本身就是很多0?
我感觉还是电脑环境的问题,最好是有一台比较干净的电脑(安装应用程序较少)上测试对比看看。
你好,
pdf里的代码已经有很多客户参考使用了。
请问代码里的下面参数你是否有和你的配置做相应的调整?你也可以单步在matlab里调试一下。
numADCSamples = 256; % number of ADC samples per chirp
numADCBits = 16; % number of ADC bits per sample
numRX = 4; % number of receivers
numLanes = 2; % do not change. number of lanes is always 2
isReal = 0; % set to 1 if real only data, 0 if complex data0
Thanks,
Chris
你好,
下面是当isReal=0时,数据解析相关代码,这个LVDS不可能出现很多0. 你在debug时看过LVDS这个变量的值么?
% for complex data
% filesize = 2 * numADCSamples*numChirps
numChirps = fileSize/2/numADCSamples/numRX;
LVDS = zeros(1, fileSize/2);
%combine real and imaginary part into complex data
%read in file: 2I is followed by 2Q
counter = 1;
for i=1:4:fileSize-1
LVDS(1,counter) = adcData(i) + sqrt(-1)*adcData(i+2); LVDS(1,counter+1) = adcData(i+1)+sqrt(-1)*adcData(i+3); counter = counter + 2;
end
% create column for each chirp
LVDS = reshape(LVDS, numADCSamples*numRX, numChirps);
%each row is data from one chirp
LVDS = LVDS.';
下面代码adcData有先全部清零,然后再把LVDS数据负值进去。你是否在这一步里出了什么问题?
%organize data per RX
adcData = zeros(numRX,numChirps*numADCSamples);
for row = 1:numRX
for i = 1: numChirps
adcData(row, (i-1)*numADCSamples+1:i*numADCSamples) = LVDS(i, (row-1)*numADCSamples+1:row*numADCSamples);
end
end
% return receiver data
retVal = adcData;
Thanks,
Chris