来源:TI提供的Mmwave Radar Device ADC Raw Data Capture

  1. %%% This script is used to read the binary file produced by the DCA1000
  2. %%% and Mmwave Studio
  3. %%% Command to run in Matlab GUI -
  4. function [retVal] = readDCA1000(fileName)
  5. %% global variables
  6. % change based on sensor config
  7. numADCSamples = 256; % number of ADC samples per chirp
  8. numADCBits = 16; % number of ADC bits per sample
  9. numRX = 4; % number of receivers
  10. numLanes = 2; % do not change. number of lanes is always 2
  11. isReal = 0; % set to 1 if real only data, 0 if complex data0
  12. %% read file
  13. % read .bin file
  14. fid = fopen(fileName,'r');
  15. adcData = fread(fid, 'int16');
  16. % if 12 or 14 bits ADC per sample compensate for sign extension
  17. if numADCBits ~= 16
  18. l_max = 2^(numADCBits-1)-1;
  19. adcData(adcData > l_max) = adcData(adcData > l_max) - 2^numADCBits;
  20. end
  21. fclose(fid);
  22. fileSize = size(adcData, 1);
  23. % real data reshape, filesize = numADCSamples*numChirps
  24. if isReal
  25. numChirps = fileSize/numADCSamples/numRX;
  26. LVDS = zeros(1, fileSize);
  27. %create column for each chirp
  28. LVDS = reshape(adcData, numADCSamples*numRX, numChirps);
  29. %each row is data from one chirp
  30. LVDS = LVDS.';
  31. else
  32. % for complex data
  33. % filesize = 2 * numADCSamples*numChirps
  34. numChirps = fileSize/2/numADCSamples/numRX;
  35. LVDS = zeros(1, fileSize/2);
  36. %combine real and imaginary part into complex data
  37. %read in file: 2I is followed by 2Q
  38. counter = 1;
  39. for i=1:4:fileSize-1
  40. 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;
  41. end
  42. % create column for each chirp
  43. LVDS = reshape(LVDS, numADCSamples*numRX, numChirps);
  44. %each row is data from one chirp
  45. LVDS = LVDS.';
  46. end
  47. %organize data per RX
  48. adcData = zeros(numRX,numChirps*numADCSamples);
  49. for row = 1:numRX
  50. for i = 1: numChirps
  51. adcData(row, (i-1)*numADCSamples+1:i*numADCSamples) = LVDS(i, (row-1)*numADCSamples+1:row*numADCSamples);
  52. end
  53. end
  54. % return receiver data
  55. %retVal = adcData;
  56. save("./temp.mat", 'adcData')

调用方法:控制台输入readDCA1000('里面填你要读的bin的绝对地址')

matlab解析毫米波雷达bin文件数据 得到复数的更多相关文章

  1. S03_CH11_基于TCP的QSPI Flash bin文件网络烧写

    S03_CH11_基于TCP的QSPI Flash bin文件网络烧写 11.1概述 针对ZYNQ中使用QSPI BOOT的应用,将BOOT.bin文件烧写至QSPI Flash基本都是通过USB C ...

  2. 读取bin文件,并且按结构体赋值打印

    目标:读取一个bin文件,并且将bin文件中的数据,按字节对齐赋值给结构体,并且打印出结构体的内容 目前思路是简单的先将bin文件数据一次性读到一个数组中,再将数组强制转换为结构体 ] FILE *f ...

  3. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  4. TPLink 备份文件bin文件解析

    TPLink 路由器备份文件bin文件 测试路由器 WR885,备份文件加密方式DES,密钥:478DA50BF9E3D2CF linux端: openssl enc -d -des-ecb -nop ...

  5. Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库

    Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...

  6. c代码写数据到二进制的bin文件中

    需要将数据写入到bin文件中,打开该文件是一堆乱码,增加数据的保密性 例如:要写入的数据为一个字符串,加上若干个int型整数 #define _CRT_SECURE_NO_WARNINGS #incl ...

  7. Unity3d-XML文件数据解析&amp;JSON数据解析

    1.XML文件数据解析:(首先须要导入XMLParser解析器,The latest released download from:http://dev.grumpyferret.com/unity/ ...

  8. 工作总结 1 sql写法 insert into select from 2 vs中 obj文件和bin文件 3 npoi 模板copy CopySheet 最好先全部Copy完后 再根据生成sheet写数据 4 sheet.CopyRow(rowsindex, rowsindex + x); 5 npoi 复制模板如果出现单元格显示问题

    我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSE ...

  9. POI解析excel,将批量数据写入文件或数据库

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  10. 编写Java程序,使用 dom4j 解析上一节王者荣耀“英雄”对应的Xml文件数据内容,打印输出,具体格式

    查看本章节 查看作业目录 需求说明: 使用 dom4j 解析上一节王者荣耀"英雄"对应的Xml文件数据内容,打印输出,具体格式如图所示 实现思路: 创建ParseHeroXML用于 ...

随机推荐

  1. 手机安装python环境

    一.安装Termux环境 1.下载Termux Qpython 安装以后玩爬虫各种报错,也就不纠结了,直接弄Termux 虚拟环境 下载链接:https://wiki.termux.com/wiki/ ...

  2. 把userId:12323 直接拿到12323

    JSONObject jsonObject1 = JSONObject.parseObject(mqttMessage); MessageVo messageVo =  JSONObject.toJa ...

  3. 解决 ant design vue Carousel 图片不能点击的问题

    pointer-events: none 的作用如下: // 阻止用户的点击动作产生任何效果 // 阻止缺省鼠标指针的显示 // 阻止CSS里的hover和active状态的变化触发事件 // 阻止J ...

  4. p标签设置行数,超出部分用省略号隐藏

    p { overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2; word-wrap: break-word; display ...

  5. msvc去除控制台窗口的编译指令

    #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")

  6. Retrofit简要分析

    Retrofit是对网络请求实现了一套请求架构封装,屏蔽底层网络实现,使网络请求像调用本地接口一样 基本使用例子 public interface GitHubService {//定义request ...

  7. zabbix 监控域名到期时间

    cat userparameter_http.conf UserParameter=http_discovery,/usr/bin/python /etc/zabbix/scripts/base/ht ...

  8. deployment.yml参考

    apiVersion: apps/v1kind: Deploymentmetadata: labels: com.xx.service: xxxxxxxxxxxxx name: xxxxxxxxxxx ...

  9. IDEA给【类】和【方法】设置作者和日期等注释

    https://blog.csdn.net/m0_61933976/article/details/127021176 一.在Java类的开头自动注释作者名字和日期等信息 这样以后只要我们创建一个类, ...

  10. E. Permutation Game

    https://codeforces.com/contest/1772/problem/E 题目大意就是给一个1~n的全排序列,所有数字都是红色的,两人轮流操作,操作有三种选择,第一是将所有蓝色的数字 ...