kjb文件 解析_NVH原始数据文件如何读取 Part2
“前一篇文章介绍了NVH数采系统记录的原始文件常见的几种数据格式。本篇将介绍怎样找到具体的数据位置并还原它,从而实现编程直接读取原始文件的目的。”
01
—
画出整体数据
前一篇文章提到:数采系统记录的原始数据包含两部分:ASCII码明文和某类型的二进制数据。如图1。
图1
本文中,我们以24位数据格式来举例。要画出整体数据,可以对图1的原始文件进行如下3次尝试,如图2:
1)从文件开头,读取24位整型数据;2)跳开8位,读取24位整型数据;3)跳开16位,读取24位整型数据。跳开24位,再读取24位数据的话,会和情况1)类似。
图2
第 1)次:没发现信号,如图3;
第 2)次:没发现信号,如图4;
第 3)次:发现测试信号,如图5。
图3
图4
图5
需要注意的是:图5中最前面的大数,是说明文字,而非数据。同样的,如果数据格式是32位,则进行4次尝试,即可画出整体数据。
02
—
原始文件的数据排序
由于NVH数采系统的采样频率较高,每个通道记录的数据一般不会连续存储。常采用数据块(数据长度固定)的形式,按通道依次存储。以3个通道记录的数据为例:要得到各通道数据,需要对整体数据进行重新排序,如图6。
图6
而解析原始数据格式,则是个逆向工程。需要先准备好各通道的数据(用NVH自身软件导出),然后从整体数据中找到其相应位置,如图7。
图7
虽说,图7过程和图8有些类似。但是,依然可以用一些数学方法让整个过程变得容易和充满乐趣。
图8
03
—
查找数据位置
我们拿NVH自身软件导出的某通道一小段数据(暂称为:目标数据)为例。目的是:找到这段目标数据在原始整体数据中的位置,如图9。其实,刚开始,我是用肉眼对的~。但是,由于图9上图和下图数据完全不是一个数量级(上图是24位整形数据,需要乘以修正系数后,才能得到下图),所以给肉眼寻找增加了很多难度。
图9
后来,我用了一种更简单高效的方法:互相关。如图10。
图10
因为目标数据是整体数据中某段乘以修正系数的结果,所以它们严格线性相关。通过互相关计算,找到互相关最大值的位置,也就是目标信号的位置,如图11。将目标信号放在互相关最大的位置,进一步验证:目标信号乘以一个系数后,和整体信号的一段完全吻合,如图11下图。说明我们找到了正确的位置。
图11
以上,即寻找某个通道数据在原始整体数据位置的方法。确认完所有通道数据在整体数据的各个位置后,该原始文件的解析工作也就基本完成。
04
—
总结
总结一下针对NVH原始数据文件的解析过程:
1)用NVH自身软件导出各通道数据备用。
2)读取NVH原始数据文件的ASCII明文内容,内含采样频率、通道数、各通道修正系数等。
3)已知数据格式(24位或32位等),进行多次数据读取尝试,找到合适的数据读取起始位置。
4)用之前备用的各通道数据作为目标数据,多次查找目标数据在原始文件整体数据中的位置。
5)知道原始文件整体数据的排列规律后,结合各通道修正系数,还原各通道数据。
以上是解析NVH原始数据文件的大致过程,具体过程及细节不再详述。在逆向解析的过程中难免会遇到各种问题,当然,乐趣,也尽在其中。
有问题请指正,谢谢!
kjb文件 解析_NVH原始数据文件如何读取 Part2相关推荐
- 分布式.RPC-WebService入门案例(java实现,注解实现,xsd文件解析,wsdl文件解析)
系列博文: 分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客 分布式.RPC-WebService三要素,三个规范, Soap协议_闲猫的博客-CSDN博客 分布 ...
- java大文件解析_java大文件(百M以上)的上传下载实例解析
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...
- STM32的烧录和Hex/bin烧录文件解析、烧录文件是被如何存储到MCU中的?
什么是hex文件 以*.hex为后缀的文件我们称之为HEX文件.hex是intel规定的标准,hex的全称是Intel HEX,此类文件通常用于传输将被存于ROM或EEPROM中的程序和数据.是由一行 ...
- 【JSON文件解析】JSON文件
文章目录 概要:本期主要介绍Qt解析JSON数据格式文件的方式. 一.JSON数据格式 1.JSON类似于XML,在JSON文件中,==有且只有一个根节点 2.JSON有两种主流包含型构造字符:{对象 ...
- 解析oracle追踪文件,解析listener跟踪文件
在上篇<监听器控制程序lsnrctl跟踪trace file>(http://space.itpub.net/17203031/viewspace-713587)中,我们探讨了如何获取到监 ...
- java xml文件解析工具_Xml文件解析工具 - java
解析Xml文件:就是把Xml文件里面的内容取出来. Xml文件解析工具:一个能解析Xml文件的类,即一个能把Xml文件里面的内容取出来的类. 先给出一个Xml文件(student_infor.xml) ...
- Java文件读写和CSV文件解析(读取csv文件的一列或若干列)
文件类 Java 读文件流的知识不可少,先复习一下吧! OREACLE JDK8 DOCS 文件类是Java IO的一个对象,用于指定文件的相关信息,位置和名称信息.如txt文件,csv文件对Java ...
- 基于Java的NetCDF文件解析
近期在做的项目中,需要使用Java语言进行NetCDF文件的解析. 然而,当在寻找资料时,发现基于Java语言的资料相较于Python少了很多,而且现有的基于Java解析NetCDF文件到CSV的资料 ...
- AVI文件格式解析+AVI文件解析工具
(转)AVI文件格式解析+AVI文件解析工具 AVI文件解析工具下载地址:http://download.csdn.net/detail/zjq634359531/7556659 AVI(Audio ...
最新文章
- Linux内存技术分析(下)
- 物联网中的 ARM 漏洞利用
- 11.14 mii-tool:管理网络接口的状态
- SAP Spartacus 如何取得某个table字段对应的Angular Component
- 你花了多久弄明白架构设计?多个java应用同时访问数据库
- 李洋疯狂C语言之n个人报数,报到3的退出,最后留在场上的是原来的第几位(约瑟夫环)
- 全新Wijmo5中文学习指南正式上线
- 【Elasticsearch】Failed to process cluster event (put-mapping) within 30s
- 2021年卡信乐卡盟源码程序
- 西门子主程序调用子程序_西门子PLC调用子程序的方法
- 中国汽车市场的合资模式终究覆灭
- 计算机管理属性被禁用,win7命令提示符提示已被系统管理员停用?
- 卡方值计算-python代码
- js 移动端 下载 doc文件
- 2023年全国最新工会考试精选真题及答案47
- u盘制作启动盘后空间容量变小解决方法
- 沃顿商学院自我管理课——埃里克.格雷腾斯
- 什么是字节码,采用字节码的好处是什么?
- 二见钟情之组合查询(vb.net版)
- unity语言如何切换成中文
热门文章
- java后端生成图形验证码、前端接收并展示
- 【麒麟操作系统软件商店老是闪退?--麒麟系统软件商店卸载与重装(小白教程)】
- Unity让物体跟随鼠标移动
- python微信聊天记录自动上传_python实现微信定时每天和女友发送消息
- Linux系统启动流程及服务管理控制
- jav常用类-时间处理相关类
- 微信公众号服务号申请-模板消息发送-自定义菜单-测试账号指南
- 《图解HTTP》全文笔记梳理
- 北京市中 高英语听说计算机考,北京2018中考英语听说计算机考试工作通知
- hook koa web 码云_Doodoo.js 发布 1.1.0,Koa.js+ Nuxt.js 最佳实践