大小:29K
更新时间:23-10-31
系统:Pc
版本:v2.1
Curve俗称数据曲线分析器,是一款用于曲线形式查看工程试验中生成的文本文件数据工具,程序内置了对曲线的变换操作和数据处理功能,主要有曲线算法、标记线窗、动态模拟、频谱分析等应用模块,便于分析。其中曲线绘制采用高效的聚点算法,即使对于长曲线,在伸缩变换时仍能速度极快且不损失观察细节;频谱分析数据精准,单窗可支持65536*64点数据,很好的兼顾了谱分辨率和带宽,适用于用于精密测量。
此外,数据曲线分析器应用简单,支持数据导入和导出,且无需安装即可双击使用!
1、导入、导出数据
单击"导入数据"按钮,可从文件导入数据序列,初始数据为"曲线一",对初始数据变换后生成二级曲线"曲线二",对"曲线二"变换后称"曲线三",三条曲线在同一坐标系下以不同颜色显示;变换后的数据被存储在各自的内存缓冲区中,不影响其前级数据。
2、源文件格式
数据文件为文本文件,可以单列或多列形式存储;各行应整齐,即每行列数相同,列间以空格或Tab分隔,多个连续空格或Tab被视为1个;对每个数据的字符个数不限制(即每行长度可以不齐),每行列数相同即可;
系统会根据设定的列号提取一列数据作为初始数据(首列列号为1),提取时会忽略掉不被提取的其它列,仅读取指定列,因而其它列可以是任意字符,提取列则要求为数值形式;
数值无论是否带小数点,都被视为double,合法的数值为C正则"%lf"字符串格式,例如: +69352,618,0,-4,1.7,-87.1899,2.3E-6 等;
文件被导入时系统会自动预览显示,可根据预览自行设定参数;
3、曲线算法
曲线算法是指生成曲线数据时使用的方法,对于"初始曲线",只能从文件中导入数据(也可以进程通信直接内存交换,已保留该接口);对二级、三级曲线的数据,则由其前级曲线经过算法运算得到;
每次点击算法列表中的选项时,对应的曲线数据生成一次,反复改变算法只影响本级的结果,不影响其前级曲线;算法改变时,用前级数据重新运算一次,而不是在本级原有结果的基础上再叠加算法;
变换后的曲线数据可执行"导出数据"被保存至新的文本文件中;导出时可以指定数据选项以及是否以.csv格式存储(该格式可被Excel识别);
4、多列数据查看
三条曲线中只有"初始数据"是从文件中导入的,另外两条均是在内存中变换生成的;如果数据文件中包含多列数据,想同时对比观察,可逐条导入后,利用变换算法中的"复制前级"将曲线移至二三级缓冲区,然后再导入另一列,这样,曲线窗中即可以对比同一数据文件中的多列数据(目前限制为三条曲线,软件保留有一次导入更多条曲线的接口);
也可以灵活使用"数据导出"功能,将曲线暂存为文件,需要时再导入。
5、曲线操作(先通过Tab键或单击使曲线窗获得焦点)
鼠标方式
切换活动曲线:左键单击辅助钮(左上角)
X方向缩放:滚轮
Y方向缩放:Ctrl+滚轮
X方向平移:
Y方向平移:
自动显示全部:左 双击绘图区
1:1初始显示:右 双击绘图区
键盘方式
Ctrl + Tab
← →
↑ ↓
Ctrl + ← →
Ctrl + ↑ ↓
Ctrl + a/A
a/A
其他:
开/关标记窗功能: Ctrl+左双击标记"开"字符
锁定/解锁窗宽: Ctrl+左双击宽"锁定"字符 (标记窗开时才有效)
标记区起点: Ctrl+左双击绘图区 (标记窗开时才有效)
标记区止点: Ctrl+右双击绘图区 (标记窗开时才有效)
频谱查看: Ctrl+左单击Fn按钮/F1
退出程序:ESC
注:当多条曲线叠加显示时,其中有一条是"活动曲线",或称"当前曲线";视值显示、标记窗和频谱分析都是针对"活动曲线"的;任意一条曲线均可切换为"活动曲线",界面上会有颜色变换区分;
6、视值
视值是指根据坐标刻线的标示量读出的曲线点的数值;
本系统中,y轴视值与初始数据的量值完全相等(不因曲线变换而改变);x轴的视值默认等于数据点序号(0,1,2,...);导入数据时若指定了采样频率,x视值会被修正为以秒(s)为单位的时间量;按照x坐标轴刻线读出的是s;
如果采样频率设定准确,相应的频谱曲线频率轴视值单位为Hz,也已被修正准确,可直接读出;
曲线平移时,窗口顶部会实时显示曲线上最左点的数值(视值);查看其它点数值可通过平移曲线完成(也可以采用挪动标记线方式);
7、标记线/窗
当在曲线窗绘图区外的"标记:关"按钮上Ctrl+左双击后,会开启数据标记功能,数据标记默认为单点模式,标记为一条竖线(宽度为1);绘图区上任意点Ctrl+左双击,会使标记线移动到该点,并显示该点的数据值;
标记开启后,单击"宽:锁定"按钮,可将标记宽度设为可变,此时,在曲线窗中任意点Ctrl+右双击,会使标记变为一段窗口,标记窗中的数据即被选中;
8、算法明细
软件保留有自定义算法接口,内置算法如下:
复制前级: 不做任何处理,将前级数据拷贝至本级;
一阶差分: 求一阶导数(速度),本级本点=前级本点-前级前点
二阶差分: 二阶导数:本级本点=前级前点+前级后点-2*前级本点;
一阶LPF(Fs/2): 一阶IIR低通滤波,截止频率为采样频率的1/2;
一阶LPF(Fs/4): 类同;
一阶LPF(Fs/8): 类同;
一阶LPF(Fs/100): 类同;
3点1次平均: 前级的本点为中心前后共3点均值,作为本级本点值;
3点2次平均: 3点1次完成后,叠加一遍3点1次,共2次;
5点1次平均: 类同;
5点3次平均: 类同;
n点m10次: 类同;
9、动态模拟
动态模拟是一种在事后将数据流从数据窗动态滑过,以模拟数据时间变化的功能;按住Ctrl并单击Fn按钮,系统即开始对原始数据曲线进行动态模拟;动态模拟刷新由定时器自动执行(设为10ms一次,但未必准确);模拟时的曲线平移速度由滑动步长调节,滑动步长可以是2,4,8,10,20,40,80,100点;在动态模拟时点按Alt键即可自动切换步长;
10、频谱分析
点击Fn按钮,即可打开频谱窗,并查看标记区内数据的频谱,频谱窗内曲线的操作与5所述相同;
系统只有在标记窗打开,并选定数据时,才允许查看频谱;系统会自动将标记窗内的数据截取为2的n次幂长,以便于FFT计算(例如标记窗内有1035点数据,则谱分析实际使用的是其前1024点);
由于FFT变换得到的是完全对称的双边谱,为提高效率,频谱窗中只显示其幅值谱的单边一半,并进行视值校准,可在由坐标轴直接读数;
当系统进行动态模拟时,或由外部进程动态注入数据时,随着时域窗中数据的刷新,频谱窗也会随之动态刷新;
11、使用限制
1) 文件单行长: 32768字符;
2) 可浏览行数: 4194304行;导入时有跳行功能,理论上长度无限制;
系统保留有单次查看更多行的配置接口;
3) 单谱窗点数: 4194304点;
外部接口:
外部进程可采用进程通信方式直接向Curve的共享缓冲区中写入数据,并更新曲线;
步骤如下:
OpenFileMapping();
MapViewOfFile();
buf[0]=..;
buf[1]=..;//操作缓冲区
...
UnmapViewOfFile();
CloseHandle();
PostMessage();
过程描述:
(1) 打开内存映像文件,映像名字为"LiXueLei_SharedCurveMemory",
(2) 成功后,将映像映射到本地内存地址空间;会获得一个本进程中的内存地址指针;(注意:如果Curve.exe未运行,打开时会失败,因而应在此之前先启动Curve程序)
(3) 进程中用这个地址指针操作内存,就可以改写作曲线的数据区;
映像区的格式:
offset(byte) 类型 元素个数 内容
0~3 long 1 本次修改的数据长度n(点数)
4~7 float 1 数据的采样频率(Hz数)
8~15 double 1 data[0] --\
16~23 double 1 data[1] \
24~32 double 1 data[2] |---共n点;
... /
... _ / (n个double)
(4) 操作完成后撤销在本地进程的地址映射并关闭映像文件;
(5) 最后向Curve主窗口发送一条数据更新消息:
取窗口句柄:
::FindWindow(NULL,"数据曲线分析器 Curve2.1");
消息号定义:
::RegisterWindowMessage(_T("LixlCurveMsg_BufferModified"));
然后用::PostMessage()就可以了;可参阅MSDN;
细节补充:
Curve.exe软件中这样创建的映像区,看完这段,缓冲区结构就清楚了,同行人士都懂,不再赘述!
struct CurveSCB
{
long nSize;
float FsHz;
};
hShareFile= CreateFileMapping
(
INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE|SEC_COMMIT,
0,
sizeof(struct CurveSCB)+cvWnd.MaxCurveLength()*sizeof(double),
"LiXueLei_SharedCurveMemory"
);
曲线数据区预留: MaxCurveLength=65536*64 点;一般足够用了;实际上曲线刷新是以nSize规定的点数为上限的;
还有就是:
Curve.exe运行时当共享缓冲区创建成功,会广播一条消息,消息号:
::RegisterWindowMessage(_T("LixlCurveMsg_CurveAppInit"));
Curve.exe在退出时,也会广播一条消息,消息号:
::RegisterWindowMessage(_T("LixlCurveMsg_CurveAppExit"));
可根据这些消息进行相应的处理;
1、Curve数据曲线分析器中文版支持对Y向比例、X向比例查看。
2、也可对初始数据、左侧点好进行快速的了解。
3、可以对需要的数据进行快速的导出。
4、对需要的曲线进行快速的添加,自定义的选择。
v2.1版本
1、增加频谱自动提取至剪贴板功能。
2、增加导出频谱序列对功能(F2)。
同类热门
类似软件
matlab r2014b官方版6.54G13797人在用 matlab r2014b官方版是一款功能强大的科学计算软件,广泛应用于数学、工程、自然科学等领域。它集成了众多高级计算和可视化工具,方便用户进行数据分析、算法开发和模型建立等工作。除了常见的计算和数据分析功能之外,Matlab 2014b提供了多
查看热门标签
网友评论0人参与,0条评论
最新排行
Jamparc官方版122K Jamparc官方版是McNeil公司专为Rhinoceros软件设计的一款架构建模插件,在设计过程中,用户通常需要对不同的元素进行分组和管理,以便更好地组织和控制设计内容,同时,Jamparc插件还提供了灵活的层管理工具,使得用户可以方便地创建、
查看sap2000v19中文语言包28.74M sap2000v19中文语言包是针对CSI公司发行最新软件sap2000v19而开发的汉化文件,可以将英文版sap2000界面变成中文版,从而使用最新版中国规范以及中文教程,另外软件还包括了CSI系列软件许可证生成器、sap2000帮助文件、以及详
查看xmanager7注册机66K附使用教程Xmanager7不仅是一款专业强大的远程桌面管理工具,还是该系列今年全新推出的一个版本,相信使用过该产品的用户们都了解其中为用户们提供了优越的新能,而当利用一个PC X服务器,精度和速度是必不可少的,但是它不仅高性能的X11R7.7 PC X服务器,还
查看maya lt 2020注册机554K附序列号和密钥 maya lt 2020是一款实用的三维建模软件,功能虽然不及完整版,但还是可以满足用户平常的工作。这里小编带来了maya lt 2020注册机,同时还附带了相应的序列号和密钥,两者配合一起使用,可以完美成功激活软件,其详细的安装教程可参考下文操作,
查看屏幕录像专家2020注册机387K附安装教程屏幕录像专家2020注册机是针对屏幕录像专家2020推出的一款激活工具,配合相对应的注册码可完美激活软件,让用户免费使用所有功能,同时,注册方法十分简单,只需用户输入机器码和用户名后,再点击注册即可得到注册码,再将注册码复制到注册框中即可,后文还奉上详细
查看Gilisoft软件通用注册机(全系列)46KGilisoft软件通用注册机(全系列)是由国外大神专门针对Gilisoft软件产品推出的一款小巧实用,功能强大的破解辅助工具,软件主要针对Gilisoft 软件开发网站所有软件产品(支持最新!),能够生成有效Gilisoft注册码,让您免费获取Gili
查看