CSI数据dat文件转换mat文件问题(matlab、python数据处理)
用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数据处理)相关推荐
- QT Creator使用matlab库文件读取.mat文件数据
QT Creator使用matlab库文件读取.mat文件数据 一.环境配置 二.关于编程介绍 三.关于使用函数的介绍 1:关于假设数据类型介绍 2:关于使用函数介绍 一.环境配置 第一步先点开我的电 ...
- matlab 文件打开方式,mex文件和mat文件打开方式
MAT文件是MATLAB专用的用于保存数据至磁盘和向MATLAB导入.从MATLAB导出数据的数据文件格式.MAT文件提供了一种简便的机制,它允许你在两个平台之间以灵活的方式移动数据.而且,它还提供了 ...
- MATLAB的M文件、MEX文件、MAT文件是什么 .如何打开(直接鼠标拖入相应区域)
MATLAB的M文件.MEX文件.MAT文件是什么 .M文件是保存一段代码的文件,类似于C语言中的一个函数体: 这也是MATLAB中最常见的文件保存格式之一 .MEX文件是一种"可在ma ...
- gdf文件转.mat文件
gdf文件转.mat文件 文章目录 gdf文件转.mat文件 前言 一.在matlab中读取gdf格式文件 二.biosig工具箱安装步骤 1.问题 2.解决 最后 前言 问题来源:在BCIcompe ...
- docx4j实现word文件转换pdf文件
目录 前言 PDF文件导出 word文件转换pdf文件 前言 前段时间在项目中遇到了导出pdf的问题,之前在项目中遇到导出文件莫不是excle或者word文件的导出,所以在遇到需要导出pdf文件时,我 ...
- txt文件转为mat文件
** MATLAB .txt文件转为.mat文件** 在近红外光谱matlab数据处理中,我们获得的数据并不都是.mat文件,也有可能是.csv或.txt文件,如何将这些文件转为.mat 文件呢? 以 ...
- matlab实现xlsx文件转mat文件
matlab实现xlsx文件转mat文件 实验中常常需要将表格文件转换为mat文件进行处理,下面提供多sheet表格文件转mat文件的代码 %将xlsx文件转为mat文件,版本>R2019a c ...
- java使用swfTools将pdf文件转换swf文件
转载请表明出处 https://blog.csdn.net/Amor_Leo/article/details/89388851 谢谢 java使用swfTools将pdf文件转换swf文件 swfTo ...
- MATLAB 存储读入:dat文件、bin文件以及mat文件
dat文件不是一种标准文件,一般有两种类型:一种是VCD的媒体文件,另外一种是数据文件: bin是binary(二进制)的缩写,bin文件即二进制文件: mat文件是matlab的数据存储的标准格式. ...
最新文章
- 特征工程学习,19 项实践 Tips!代码已开源!
- Java高阶代码_Java高阶语法---Volatile
- 关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法
- 【前端4】bootstrap:栅格系统,隔行/触摸换色,分页/导航条,模态框/轮播图,旅游首页
- 远程阿里云window服务器报错身份验证错误
- js 中动态添加成员对象与数组或map转换(成员字段含有.)
- ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询
- 编译错误 错误:PL/SQL: ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER 行
- PHP+jQuery实现翻板抽奖
- 【Oracle】用户管理
- Eclipse切换回中文
- 如何使用计算机小学生课件,小学信息技术计算机基础ppt课件
- 断点续传实现文件下载进度条
- hls解密key获取失败_请求帮助。M3U8里的加密key无法下载。
- win10系统以太网连接显示“未识别网络”问题的解决
- JavaScript事件代理(事件委托)
- ES2015 ES2016 ES2017 Javascript的关系是什么?
- 出入库与库存系统的模型问题
- animate cc开发html5游戏,使用Create.js与Adobe Animate CC制作H5落地页动画
- 2020-03-03学习日结
热门文章
- 在CentOS7上使用Fail2ban+Firewalld对SSH进行防护
- ColorOS和MIUI双系统安装笔记
- Linux背景知识(1)RedHat和Centos
- bootstrap-drawer 插件
- Apollo 2.0 传感器标定方法
- 新时达电梯服务器显示外呼错,新时达电梯系统常见故障分析
- 2020-12-11 PMP 群内练习题 - 光环
- 目标检测系列(preface) 数据集DataSets
- CNCF X ACE KubeMeet 云原生应用管理专场·上海站来啦!
- Hadoop,the definitive guide 学习