論壇說...DCA1000EVM_CLI_Control 怎麼存檔的,沒有文件,但是你可以去看 source code,
studio 2.1 版有附 source code...
/** Data Index in the buffer - With bytes count (6 bytes) */
#define RECORD_DATA_BUF_INDEX 10
s32CtPktRecvSize = recvfrom(sRFDCCard_SockInfo.s32DataSock[u8DataTypeId],
s8ReceiveBuf, MAX_BYTES_PER_PACKET, 0,
(struct sockaddr *)&SenderAddr,
&s32SenderAddrSize);
...
memcpy(&u32CtPktNum, &s8ReceiveBuf[0], sizeof(UINT32));
memcpy(&u64BytesSentTillCtPkt, &s8ReceiveBuf[4], 6);
writeDataToBuffer_Inline(&s8ReceiveBuf[RECORD_DATA_BUF_INDEX],
(s32CtPktRecvSize - RECORD_DATA_BUF_INDEX),
false, false);
所以真的就是把後面的 rawdata 存起來...存檔格式的話,mmWave Radar Device ADC Raw Data Capture .pdf 的 6.xWR16XX and IWR6843 with DCA1000 Data Format 有說明...
因為LVDS 是一個一個 Lane 傳送的,一個lane 可以傳送兩筆資料。
因為 DCA1000 傳送 ADC 資料時,只能用 complex。
所以格式就是先兩筆 I 資料(Lane1),再兩筆 Q 資料 (Lane2)
而不是 (I.Q), (I.Q) 成對依序出現。
同樣的 pdf 檔,9.Interpreting Binary File in MATLAB 有code 證實這樣的format..
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
沒有留言:
張貼留言