首 頁
手機(jī)版

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

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

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

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

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

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

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

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

2、源文件格式

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

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

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

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

3、曲線算法

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

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

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

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

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

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

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

鼠標(biāo)方式

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

X方向縮放:滾輪

Y方向縮放:Ctrl+滾輪

X方向平移:

Y方向平移:

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

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

鍵盤方式

Ctrl + Tab

← →

↑ ↓

Ctrl + ← →

Ctrl + ↑ ↓

Ctrl + a/A

a/A

其他:

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

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

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

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

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

退出程序:ESC

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

6、視值

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

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

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

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

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

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

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

8、算法明細(xì)

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

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

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

二階差分: 二階導(dǎo)數(shù):本級本點=前級前點+前級后點-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、動態(tài)模擬

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

10、頻譜分析

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

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

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

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

11、使用限制

1) 文件單行長: 32768字符;

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

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

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

數(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)存地址空間;會獲得一個本進(jìn)程中的內(nèi)存地址指針;(注意:如果Curve.exe未運行,打開時會失敗,因而應(yīng)在此之前先啟動Curve程序)

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

映像區(qū)的格式:

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

0~3 long 1 本次修改的數(shù)據(jù)長度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點;

... /

... _ / (n個double)

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

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

取窗口句柄:

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

消息號定義:

::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 點;一般足夠用了;實際上曲線刷新是以nSize規(guī)定的點數(shù)為上限的;

還有就是:

Curve.exe運行時當(dāng)共享緩沖區(qū)創(chuàng)建成功,會廣播一條消息,消息號:

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

Curve.exe在退出時,也會廣播一條消息,消息號:

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

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

軟件特色

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

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

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

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

更新日志

v2.1版本

1、增加頻譜自動提取至剪貼板功能。

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

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

有問題? 點此報錯

發(fā)表評論

0條評論