用intel5300网卡提取csi数据,得到的数据是dat文件,我们在数据处理时一般先将dat文件转换成mat文件。

将dat文件转换成mat文件,可以根据matlab版本和数据量大小选择mat file的版本,matlab-预设-常规-MAT-FILE保存格式(3种选择)。不同版本的mat文件处理速度和后续处理方法不同。

Matlab处理过程:

csi_trace= read_bf_file('C:\Users\...\XXX.dat');
csi_amp1=get_csi_function(csi_trace);
save('C:\Users\...\XXX','csi_amp1');

注意:csi_amp1这个名字后面处理的时候会用到。

------------------------------------------------------------------------

function csi_amp=get_csi_function(csi_trace)
row = size(csi_trace,1);%get the row number of csi_trace

for m=1:row    
    csia=get_scaled_csi(csi_trace{m});
    csi=csia(:).';  
    for ki=1:270    %3*3*30
           csi_amp(m,ki)=csi(ki);    
    end

end

Python处理过程:

1.低版本mat文件

import scipy.io

data  = scipy.io.loadmat(r'C:\Users\...\XXX.mat')

In[1]:data

Out[1]:

后续可利用abs求复数模值。

2.高版本mat文件

高版本的mat文件,在python中读取时不能用scipy.io.loadmat()。

报错NotImplementedError: Please use HDF reader for matlab v7.3 files。

改用data_1=h5py.File(),输出的变量格式与上面不同,

In[2]:type(data_1)

Out[2]: h5py._hl.files.File

In[3]:print(list(data_1.keys()))

Out[3]: ['csi_amp']

In[4]: csi_complex = np.array(data_1[csi_name[0]])

In[5]:print(csi_complex)

Out[5]: array([[(  1.05561743,  -8.4449394 ), (  3.71679437,   7.43358875),…,( -9.91358644,  -2.08707083)],[],[],…[]],dtype=[('real', '<f8'), ('imag', '<f8')])

问题:

之前的scipy.io.loadmat()生成的数据就是复数的形式

不是复数没有办法用pow abs等函数,转换的方法如下:

In[6]:csi_complex.dtype='complex128'

Out[6]:array([[1.05561743-8.4449394j,...,-9.91358644-2.08707083j],[],[],…,[]])

In[7]:csi_complex.shape

Out[7]: (270, 50898)

后续可利用abs求复数模值。

CSI数据dat文件转换mat文件问题(matlab、python数据处理)相关推荐

  1. QT Creator使用matlab库文件读取.mat文件数据

    QT Creator使用matlab库文件读取.mat文件数据 一.环境配置 二.关于编程介绍 三.关于使用函数的介绍 1:关于假设数据类型介绍 2:关于使用函数介绍 一.环境配置 第一步先点开我的电 ...

  2. matlab 文件打开方式,mex文件和mat文件打开方式

    MAT文件是MATLAB专用的用于保存数据至磁盘和向MATLAB导入.从MATLAB导出数据的数据文件格式.MAT文件提供了一种简便的机制,它允许你在两个平台之间以灵活的方式移动数据.而且,它还提供了 ...

  3. MATLAB的M文件、MEX文件、MAT文件是什么 .如何打开(直接鼠标拖入相应区域)

    MATLAB的M文件.MEX文件.MAT文件是什么 .M文件是保存一段代码的文件,类似于C语言中的一个函数体:   这也是MATLAB中最常见的文件保存格式之一 .MEX文件是一种"可在ma ...

  4. gdf文件转.mat文件

    gdf文件转.mat文件 文章目录 gdf文件转.mat文件 前言 一.在matlab中读取gdf格式文件 二.biosig工具箱安装步骤 1.问题 2.解决 最后 前言 问题来源:在BCIcompe ...

  5. docx4j实现word文件转换pdf文件

    目录 前言 PDF文件导出 word文件转换pdf文件 前言 前段时间在项目中遇到了导出pdf的问题,之前在项目中遇到导出文件莫不是excle或者word文件的导出,所以在遇到需要导出pdf文件时,我 ...

  6. txt文件转为mat文件

    ** MATLAB .txt文件转为.mat文件** 在近红外光谱matlab数据处理中,我们获得的数据并不都是.mat文件,也有可能是.csv或.txt文件,如何将这些文件转为.mat 文件呢? 以 ...

  7. matlab实现xlsx文件转mat文件

    matlab实现xlsx文件转mat文件 实验中常常需要将表格文件转换为mat文件进行处理,下面提供多sheet表格文件转mat文件的代码 %将xlsx文件转为mat文件,版本>R2019a c ...

  8. java使用swfTools将pdf文件转换swf文件

    转载请表明出处 https://blog.csdn.net/Amor_Leo/article/details/89388851 谢谢 java使用swfTools将pdf文件转换swf文件 swfTo ...

  9. MATLAB 存储读入:dat文件、bin文件以及mat文件

    dat文件不是一种标准文件,一般有两种类型:一种是VCD的媒体文件,另外一种是数据文件: bin是binary(二进制)的缩写,bin文件即二进制文件: mat文件是matlab的数据存储的标准格式. ...

最新文章

  1. 特征工程学习,19 项实践 Tips!代码已开源!
  2. Java高阶代码_Java高阶语法---Volatile
  3. 关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法
  4. 【前端4】bootstrap:栅格系统,隔行/触摸换色,分页/导航条,模态框/轮播图,旅游首页
  5. 远程阿里云window服务器报错身份验证错误
  6. js 中动态添加成员对象与数组或map转换(成员字段含有.)
  7. ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询
  8. 编译错误 错误:PL/SQL: ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER 行
  9. PHP+jQuery实现翻板抽奖
  10. 【Oracle】用户管理
  11. Eclipse切换回中文
  12. 如何使用计算机小学生课件,小学信息技术计算机基础ppt课件
  13. 断点续传实现文件下载进度条
  14. hls解密key获取失败_请求帮助。M3U8里的加密key无法下载。
  15. win10系统以太网连接显示“未识别网络”问题的解决
  16. JavaScript事件代理(事件委托)
  17. ES2015 ES2016 ES2017 Javascript的关系是什么?
  18. 出入库与库存系统的模型问题
  19. animate cc开发html5游戏,使用Create.js与Adobe Animate CC制作H5落地页动画
  20. 2020-03-03学习日结

热门文章

  1. 在CentOS7上使用Fail2ban+Firewalld对SSH进行防护
  2. ColorOS和MIUI双系统安装笔记
  3. Linux背景知识(1)RedHat和Centos
  4. bootstrap-drawer 插件
  5. Apollo 2.0 传感器标定方法
  6. 新时达电梯服务器显示外呼错,新时达电梯系统常见故障分析
  7. 2020-12-11 PMP 群内练习题 - 光环
  8. 目标检测系列(preface) 数据集DataSets
  9. CNCF X ACE KubeMeet 云原生应用管理专场·上海站来啦!
  10. Hadoop,the definitive guide 学习