首 頁(yè)
手機(jī)版

數(shù)據(jù)曲線分析器Curve v2.1綠色版

  • 軟件大?。?9K
  • 軟件語(yǔ)言:簡(jiǎn)體中文
  • 軟件類型:國(guó)產(chǎn)軟件
  • 軟件授權(quán):免費(fèi)軟件
  • 更新時(shí)間:2023/10/31
  • 軟件類別:雜類其它
  • 應(yīng)用平臺(tái):Windows10,Windows8,Windows7,WinVista
網(wǎng)友評(píng)分:8.9分
網(wǎng)友評(píng)論 下載地址 收藏該頁(yè)
本地下載

Curve俗稱數(shù)據(jù)曲線分析器,是一款用于曲線形式查看工程試驗(yàn)中生成的文本文件數(shù)據(jù)工具,程序內(nèi)置了對(duì)曲線的變換操作和數(shù)據(jù)處理功能,主要有曲線算法、標(biāo)記線窗、動(dòng)態(tài)模擬、頻譜分析等應(yīng)用模塊,便于分析。其中曲線繪制采用高效的聚點(diǎn)算法,即使對(duì)于長(zhǎng)曲線,在伸縮變換時(shí)仍能速度極快且不損失觀察細(xì)節(jié);頻譜分析數(shù)據(jù)精準(zhǔn),單窗可支持65536*64點(diǎn)數(shù)據(jù),很好的兼顧了譜分辨率和帶寬,適用于用于精密測(cè)量。

此外,數(shù)據(jù)曲線分析器應(yīng)用簡(jiǎn)單,支持?jǐn)?shù)據(jù)導(dǎo)入和導(dǎo)出,且無(wú)需安裝即可雙擊使用!

數(shù)據(jù)曲線分析器Curve

數(shù)據(jù)曲線分析器Curve使用方法

1、導(dǎo)入、導(dǎo)出數(shù)據(jù)

單擊"導(dǎo)入數(shù)據(jù)"按鈕,可從文件導(dǎo)入數(shù)據(jù)序列,初始數(shù)據(jù)為"曲線一",對(duì)初始數(shù)據(jù)變換后生成二級(jí)曲線"曲線二",對(duì)"曲線二"變換后稱"曲線三",三條曲線在同一坐標(biāo)系下以不同顏色顯示;變換后的數(shù)據(jù)被存儲(chǔ)在各自的內(nèi)存緩沖區(qū)中,不影響其前級(jí)數(shù)據(jù)。

2、源文件格式

數(shù)據(jù)文件為文本文件,可以單列或多列形式存儲(chǔ);各行應(yīng)整齊,即每行列數(shù)相同,列間以空格或Tab分隔,多個(gè)連續(xù)空格或Tab被視為1個(gè);對(duì)每個(gè)數(shù)據(jù)的字符個(gè)數(shù)不限制(即每行長(zhǎng)度可以不齊),每行列數(shù)相同即可;

系統(tǒng)會(huì)根據(jù)設(shè)定的列號(hào)提取一列數(shù)據(jù)作為初始數(shù)據(jù)(首列列號(hào)為1),提取時(shí)會(huì)忽略掉不被提取的其它列,僅讀取指定列,因而其它列可以是任意字符,提取列則要求為數(shù)值形式;

數(shù)值無(wú)論是否帶小數(shù)點(diǎn),都被視為double,合法的數(shù)值為C正則"%lf"字符串格式,例如: +69352,618,0,-4,1.7,-87.1899,2.3E-6 等;

文件被導(dǎo)入時(shí)系統(tǒng)會(huì)自動(dòng)預(yù)覽顯示,可根據(jù)預(yù)覽自行設(shè)定參數(shù);

3、曲線算法

曲線算法是指生成曲線數(shù)據(jù)時(shí)使用的方法,對(duì)于"初始曲線",只能從文件中導(dǎo)入數(shù)據(jù)(也可以進(jìn)程通信直接內(nèi)存交換,已保留該接口);對(duì)二級(jí)、三級(jí)曲線的數(shù)據(jù),則由其前級(jí)曲線經(jīng)過算法運(yùn)算得到;

每次點(diǎn)擊算法列表中的選項(xiàng)時(shí),對(duì)應(yīng)的曲線數(shù)據(jù)生成一次,反復(fù)改變算法只影響本級(jí)的結(jié)果,不影響其前級(jí)曲線;算法改變時(shí),用前級(jí)數(shù)據(jù)重新運(yùn)算一次,而不是在本級(jí)原有結(jié)果的基礎(chǔ)上再疊加算法;

變換后的曲線數(shù)據(jù)可執(zhí)行"導(dǎo)出數(shù)據(jù)"被保存至新的文本文件中;導(dǎo)出時(shí)可以指定數(shù)據(jù)選項(xiàng)以及是否以.csv格式存儲(chǔ)(該格式可被Excel識(shí)別);

4、多列數(shù)據(jù)查看

三條曲線中只有"初始數(shù)據(jù)"是從文件中導(dǎo)入的,另外兩條均是在內(nèi)存中變換生成的;如果數(shù)據(jù)文件中包含多列數(shù)據(jù),想同時(shí)對(duì)比觀察,可逐條導(dǎo)入后,利用變換算法中的"復(fù)制前級(jí)"將曲線移至二三級(jí)緩沖區(qū),然后再導(dǎo)入另一列,這樣,曲線窗中即可以對(duì)比同一數(shù)據(jù)文件中的多列數(shù)據(jù)(目前限制為三條曲線,軟件保留有一次導(dǎo)入更多條曲線的接口);

也可以靈活使用"數(shù)據(jù)導(dǎo)出"功能,將曲線暫存為文件,需要時(shí)再導(dǎo)入。

5、曲線操作(先通過Tab鍵或單擊使曲線窗獲得焦點(diǎn))

鼠標(biāo)方式

切換活動(dòng)曲線:左鍵單擊輔助鈕(左上角)

X方向縮放:滾輪

Y方向縮放:Ctrl+滾輪

X方向平移:

Y方向平移:

自動(dòng)顯示全部:左 雙擊繪圖區(qū)

1:1初始顯示:右 雙擊繪圖區(qū)

鍵盤方式

Ctrl + Tab

← →

↑ ↓

Ctrl + ← →

Ctrl + ↑ ↓

Ctrl + a/A

a/A

其他:

開/關(guān)標(biāo)記窗功能: Ctrl+左雙擊標(biāo)記"開"字符  

鎖定/解鎖窗寬: Ctrl+左雙擊寬"鎖定"字符 (標(biāo)記窗開時(shí)才有效) 

標(biāo)記區(qū)起點(diǎn): Ctrl+左雙擊繪圖區(qū) (標(biāo)記窗開時(shí)才有效)     

標(biāo)記區(qū)止點(diǎn): Ctrl+右雙擊繪圖區(qū) (標(biāo)記窗開時(shí)才有效)  

頻譜查看: Ctrl+左單擊Fn按鈕/F1

退出程序:ESC

注:當(dāng)多條曲線疊加顯示時(shí),其中有一條是"活動(dòng)曲線",或稱"當(dāng)前曲線";視值顯示、標(biāo)記窗和頻譜分析都是針對(duì)"活動(dòng)曲線"的;任意一條曲線均可切換為"活動(dòng)曲線",界面上會(huì)有顏色變換區(qū)分;

6、視值

視值是指根據(jù)坐標(biāo)刻線的標(biāo)示量讀出的曲線點(diǎn)的數(shù)值;

本系統(tǒng)中,y軸視值與初始數(shù)據(jù)的量值完全相等(不因曲線變換而改變);x軸的視值默認(rèn)等于數(shù)據(jù)點(diǎn)序號(hào)(0,1,2,...);導(dǎo)入數(shù)據(jù)時(shí)若指定了采樣頻率,x視值會(huì)被修正為以秒(s)為單位的時(shí)間量;按照x坐標(biāo)軸刻線讀出的是s;

如果采樣頻率設(shè)定準(zhǔn)確,相應(yīng)的頻譜曲線頻率軸視值單位為Hz,也已被修正準(zhǔn)確,可直接讀出;

曲線平移時(shí),窗口頂部會(huì)實(shí)時(shí)顯示曲線上最左點(diǎn)的數(shù)值(視值);查看其它點(diǎn)數(shù)值可通過平移曲線完成(也可以采用挪動(dòng)標(biāo)記線方式);

7、標(biāo)記線/窗

當(dāng)在曲線窗繪圖區(qū)外的"標(biāo)記:關(guān)"按鈕上Ctrl+左雙擊后,會(huì)開啟數(shù)據(jù)標(biāo)記功能,數(shù)據(jù)標(biāo)記默認(rèn)為單點(diǎn)模式,標(biāo)記為一條豎線(寬度為1);繪圖區(qū)上任意點(diǎn)Ctrl+左雙擊,會(huì)使標(biāo)記線移動(dòng)到該點(diǎn),并顯示該點(diǎn)的數(shù)據(jù)值;

標(biāo)記開啟后,單擊"寬:鎖定"按鈕,可將標(biāo)記寬度設(shè)為可變,此時(shí),在曲線窗中任意點(diǎn)Ctrl+右雙擊,會(huì)使標(biāo)記變?yōu)橐欢未翱?,?biāo)記窗中的數(shù)據(jù)即被選中;

8、算法明細(xì)

軟件保留有自定義算法接口,內(nèi)置算法如下:

復(fù)制前級(jí): 不做任何處理,將前級(jí)數(shù)據(jù)拷貝至本級(jí);

一階差分: 求一階導(dǎo)數(shù)(速度),本級(jí)本點(diǎn)=前級(jí)本點(diǎn)-前級(jí)前點(diǎn)

二階差分: 二階導(dǎo)數(shù):本級(jí)本點(diǎn)=前級(jí)前點(diǎn)+前級(jí)后點(diǎn)-2*前級(jí)本點(diǎn);

一階LPF(Fs/2): 一階IIR低通濾波,截止頻率為采樣頻率的1/2;

一階LPF(Fs/4):   類同;

一階LPF(Fs/8):   類同;

一階LPF(Fs/100): 類同;

3點(diǎn)1次平均: 前級(jí)的本點(diǎn)為中心前后共3點(diǎn)均值,作為本級(jí)本點(diǎn)值;

3點(diǎn)2次平均: 3點(diǎn)1次完成后,疊加一遍3點(diǎn)1次,共2次;

5點(diǎn)1次平均: 類同;

5點(diǎn)3次平均: 類同;

n點(diǎn)m10次: 類同;

9、動(dòng)態(tài)模擬

動(dòng)態(tài)模擬是一種在事后將數(shù)據(jù)流從數(shù)據(jù)窗動(dòng)態(tài)滑過,以模擬數(shù)據(jù)時(shí)間變化的功能;按住Ctrl并單擊Fn按鈕,系統(tǒng)即開始對(duì)原始數(shù)據(jù)曲線進(jìn)行動(dòng)態(tài)模擬;動(dòng)態(tài)模擬刷新由定時(shí)器自動(dòng)執(zhí)行(設(shè)為10ms一次,但未必準(zhǔn)確);模擬時(shí)的曲線平移速度由滑動(dòng)步長(zhǎng)調(diào)節(jié),滑動(dòng)步長(zhǎng)可以是2,4,8,10,20,40,80,100點(diǎn);在動(dòng)態(tài)模擬時(shí)點(diǎn)按Alt鍵即可自動(dòng)切換步長(zhǎng);

10、頻譜分析

點(diǎn)擊Fn按鈕,即可打開頻譜窗,并查看標(biāo)記區(qū)內(nèi)數(shù)據(jù)的頻譜,頻譜窗內(nèi)曲線的操作與5所述相同;

系統(tǒng)只有在標(biāo)記窗打開,并選定數(shù)據(jù)時(shí),才允許查看頻譜;系統(tǒng)會(huì)自動(dòng)將標(biāo)記窗內(nèi)的數(shù)據(jù)截取為2的n次冪長(zhǎng),以便于FFT計(jì)算(例如標(biāo)記窗內(nèi)有1035點(diǎn)數(shù)據(jù),則譜分析實(shí)際使用的是其前1024點(diǎn));

由于FFT變換得到的是完全對(duì)稱的雙邊譜,為提高效率,頻譜窗中只顯示其幅值譜的單邊一半,并進(jìn)行視值校準(zhǔn),可在由坐標(biāo)軸直接讀數(shù);    

當(dāng)系統(tǒng)進(jìn)行動(dòng)態(tài)模擬時(shí),或由外部進(jìn)程動(dòng)態(tài)注入數(shù)據(jù)時(shí),隨著時(shí)域窗中數(shù)據(jù)的刷新,頻譜窗也會(huì)隨之動(dòng)態(tài)刷新;

11、使用限制

1) 文件單行長(zhǎng): 32768字符;

2) 可瀏覽行數(shù): 4194304行;導(dǎo)入時(shí)有跳行功能,理論上長(zhǎng)度無(wú)限制;

系統(tǒng)保留有單次查看更多行的配置接口;

3) 單譜窗點(diǎn)數(shù): 4194304點(diǎn);

數(shù)據(jù)曲線分析器外部接口

外部接口:

外部進(jìn)程可采用進(jìn)程通信方式直接向Curve的共享緩沖區(qū)中寫入數(shù)據(jù),并更新曲線;

步驟如下:

OpenFileMapping();

MapViewOfFile();

buf[0]=..;

buf[1]=..;//操作緩沖區(qū)

...

UnmapViewOfFile();

CloseHandle();

PostMessage();

過程描述:

(1) 打開內(nèi)存映像文件,映像名字為"LiXueLei_SharedCurveMemory",

(2) 成功后,將映像映射到本地內(nèi)存地址空間;會(huì)獲得一個(gè)本進(jìn)程中的內(nèi)存地址指針;(注意:如果Curve.exe未運(yùn)行,打開時(shí)會(huì)失敗,因而應(yīng)在此之前先啟動(dòng)Curve程序)

(3) 進(jìn)程中用這個(gè)地址指針操作內(nèi)存,就可以改寫作曲線的數(shù)據(jù)區(qū);

映像區(qū)的格式:

offset(byte) 類型 元素個(gè)數(shù) 內(nèi)容

0~3 long 1 本次修改的數(shù)據(jù)長(zhǎng)度n(點(diǎn)數(shù))

4~7 float 1 數(shù)據(jù)的采樣頻率(Hz數(shù))

8~15 double 1 data[0]  --\

16~23 double 1 data[1]     \

24~32 double 1 data[2]     |---共n點(diǎn);

... /

... _ / (n個(gè)double)

(4) 操作完成后撤銷在本地進(jìn)程的地址映射并關(guān)閉映像文件;

(5) 最后向Curve主窗口發(fā)送一條數(shù)據(jù)更新消息:

取窗口句柄:

::FindWindow(NULL,"數(shù)據(jù)曲線分析器 Curve2.1");

消息號(hào)定義:

::RegisterWindowMessage(_T("LixlCurveMsg_BufferModified"));     

然后用::PostMessage()就可以了;可參閱MSDN;

細(xì)節(jié)補(bǔ)充:

Curve.exe軟件中這樣創(chuàng)建的映像區(qū),看完這段,緩沖區(qū)結(jié)構(gòu)就清楚了,同行人士都懂,不再贅述! 

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"

);

曲線數(shù)據(jù)區(qū)預(yù)留: MaxCurveLength=65536*64 點(diǎn);一般足夠用了;實(shí)際上曲線刷新是以nSize規(guī)定的點(diǎn)數(shù)為上限的;

還有就是:

Curve.exe運(yùn)行時(shí)當(dāng)共享緩沖區(qū)創(chuàng)建成功,會(huì)廣播一條消息,消息號(hào):

::RegisterWindowMessage(_T("LixlCurveMsg_CurveAppInit"));

Curve.exe在退出時(shí),也會(huì)廣播一條消息,消息號(hào):

::RegisterWindowMessage(_T("LixlCurveMsg_CurveAppExit"));

可根據(jù)這些消息進(jìn)行相應(yīng)的處理;

軟件特色

1、Curve數(shù)據(jù)曲線分析器中文版支持對(duì)Y向比例、X向比例查看。

2、也可對(duì)初始數(shù)據(jù)、左側(cè)點(diǎn)好進(jìn)行快速的了解。

3、可以對(duì)需要的數(shù)據(jù)進(jìn)行快速的導(dǎo)出。

4、對(duì)需要的曲線進(jìn)行快速的添加,自定義的選擇。

更新日志

v2.1版本

1、增加頻譜自動(dòng)提取至剪貼板功能。

2、增加導(dǎo)出頻譜序列對(duì)功能(F2)。

收起介紹展開介紹
  • 下載地址
數(shù)據(jù)曲線分析器Curve v2.1綠色版

有問題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評(píng)論

0條評(píng)論

熱門推薦