當(dāng)前位置:首頁(yè) > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]針對(duì)目前動(dòng)態(tài)信號(hào)分析系統(tǒng)的現(xiàn)狀和工程測(cè)試對(duì)數(shù)據(jù)采集的實(shí)際需要,基于Windows XP系統(tǒng)為開(kāi)發(fā)平臺(tái),本文采用面向?qū)ο蟮木幊碳夹g(shù)和VC++為開(kāi)發(fā)工具,提出了一套基于VC++的動(dòng)態(tài)信號(hào)分析系統(tǒng)的設(shè)計(jì)方案。該方案中設(shè)計(jì)的系統(tǒng)主要包括數(shù)據(jù)采集模塊、數(shù)據(jù)分析與處理模塊和數(shù)據(jù)存儲(chǔ)等功能模塊??蓪?shí)現(xiàn)對(duì)單個(gè)和多個(gè)信號(hào)的實(shí)時(shí)同步采集,并能夠?qū)π盘?hào)進(jìn)行分析處理,還能實(shí)現(xiàn)數(shù)據(jù)的分段存儲(chǔ)和波形的回放查看。最后進(jìn)行了實(shí)驗(yàn)測(cè)試,本方案可以滿足測(cè)試中的各種分析要求,驗(yàn)證了本方案的可靠性和實(shí)用性。

0 引言

隨著科技水平的不斷提高,機(jī)械工程振動(dòng)測(cè)試技術(shù)也隨之進(jìn)入了一個(gè)嶄新的階段。動(dòng)態(tài)信號(hào)分析作為一門以捕捉和處理各種動(dòng)態(tài)信息為目的的綜合技術(shù)在當(dāng)代科學(xué)技術(shù)中占有相當(dāng)重要的地位。近年來(lái),多通道、高性能動(dòng)態(tài)信號(hào)分析系統(tǒng)推出并已廣泛應(yīng)用于各個(gè)領(lǐng)域。并且隨著使用者對(duì)動(dòng)態(tài)信號(hào)的分析需求越來(lái)越多樣化,使得柔性化設(shè)計(jì)成為動(dòng)態(tài)信號(hào)分析系統(tǒng)研制的主流方向。國(guó)外的動(dòng)態(tài)信號(hào)儀器采樣精度高、功能強(qiáng)大,但產(chǎn)品的價(jià)格相對(duì)很高。而目前國(guó)內(nèi)的測(cè)試分析系統(tǒng)與國(guó)外的相比,還有一定的差距。因此,研制擁有自主知識(shí)產(chǎn)權(quán)的實(shí)時(shí)的動(dòng)態(tài)信號(hào)分析系統(tǒng)有著非?,F(xiàn)實(shí)的科學(xué)意義和工程實(shí)用價(jià)值。

基于此,本文以Windows XP系統(tǒng)為開(kāi)發(fā)平臺(tái),采用面向?qū)ο蟮木幊碳夹g(shù)和VC++為開(kāi)發(fā)工具,研制一套基于VC++的動(dòng)態(tài)信號(hào)分析系統(tǒng)。軟件開(kāi)發(fā)采用模塊化的設(shè)計(jì)細(xì)想,把各種功能對(duì)象化并進(jìn)行封裝,提高了各模塊的可移植性和重復(fù)使用性。系統(tǒng)可實(shí)現(xiàn)對(duì)單個(gè)和多個(gè)信號(hào)的實(shí)時(shí)同步采集,并能對(duì)信號(hào)進(jìn)行分析處理,還能實(shí)現(xiàn)數(shù)據(jù)分段存儲(chǔ)和波形回放查看。

1 系統(tǒng)總體設(shè)計(jì)

系統(tǒng)總體設(shè)計(jì)的好壞直接關(guān)系到整個(gè)測(cè)試分析任務(wù)的成敗以及完成質(zhì)量的好壞。從硬件上看,系統(tǒng)總體上由計(jì)算機(jī)、USB 接口、數(shù)據(jù)采集硬件、傳感器等組成。

從軟件上看,該系統(tǒng)包括固件程序、驅(qū)動(dòng)程序及應(yīng)用軟件。

固件程序是采集卡商家以寫(xiě)好燒進(jìn)采集卡硬件的程序,負(fù)責(zé)采集卡的采集工作。

驅(qū)動(dòng)程序和應(yīng)用軟件則裝在計(jì)算機(jī)中,驅(qū)動(dòng)程序是遵循USB協(xié)議編寫(xiě)的負(fù)責(zé)應(yīng)用軟件與采集卡正常通信的程序。

應(yīng)用軟件是人機(jī)交互接口,是實(shí)現(xiàn)信號(hào)分析處理各項(xiàng)功能的關(guān)鍵部分。

軟件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)是本項(xiàng)目開(kāi)發(fā)的重點(diǎn)和難點(diǎn)。利用VC++為開(kāi)發(fā)平臺(tái),進(jìn)行系統(tǒng)軟件設(shè)計(jì)。本項(xiàng)目的軟件系統(tǒng)設(shè)計(jì)主要包括:軟件系統(tǒng)總體框架設(shè)計(jì)、數(shù)據(jù)采集模塊設(shè)計(jì)、信號(hào)分析與處理模塊設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)模塊設(shè)計(jì)等。

動(dòng)態(tài)信號(hào)分析系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。

 

 

2 系統(tǒng)統(tǒng)一架構(gòu)

軟件設(shè)計(jì)以Windows XP 系統(tǒng)為開(kāi)發(fā)平臺(tái),采用面向?qū)ο蟮木幊碳夹g(shù)和VC++ 6.0為開(kāi)發(fā)工具實(shí)現(xiàn)。軟件開(kāi)發(fā)采用模塊化的設(shè)計(jì)細(xì)想,把各種功能對(duì)象化并進(jìn)行封裝,提高了各模塊的可移植性和重復(fù)使用性。采用統(tǒng)一的軟件體系和總體模塊組成結(jié)構(gòu),即每個(gè)模塊都包含程序控制、參數(shù)設(shè)置、數(shù)據(jù)分析和數(shù)據(jù)顯示四個(gè)子模塊。

其中參數(shù)設(shè)置模塊、數(shù)據(jù)分析模塊和數(shù)據(jù)顯示模塊為功能模塊,程序控制模塊是系統(tǒng)的中樞部分,它負(fù)責(zé)協(xié)調(diào)各個(gè)模塊有效的配合和工作,接受操作者給出的各種指令,調(diào)用相應(yīng)的分析模塊算法,并把分析結(jié)果通過(guò)數(shù)據(jù)可視化接口顯示給用戶。子模塊的菜單、工具條及快捷鍵是程序控制模塊的外在表現(xiàn),并通過(guò)這些外在的表現(xiàn)與操作者交互,轉(zhuǎn)化為各個(gè)功能模塊能夠理解的內(nèi)部指令,統(tǒng)一調(diào)用功能模塊,實(shí)現(xiàn)用戶預(yù)期的指令目標(biāo)。

數(shù)據(jù)分析模塊采用動(dòng)態(tài)鏈接庫(kù)技術(shù),集成和封裝了系統(tǒng)所需的算法,并提供接口供程序控制模塊調(diào)用,是每個(gè)子模塊的核心部分。

數(shù)據(jù)顯示模塊負(fù)責(zé)將數(shù)據(jù)處理的結(jié)果以豐富的方式呈現(xiàn)給用戶,供用戶對(duì)處理結(jié)果進(jìn)行評(píng)判或進(jìn)一步的處理。

四個(gè)子模塊的組成關(guān)系如圖2所示。

 

 

3 系統(tǒng)的軟件設(shè)計(jì)

軟件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)是整個(gè)分析系統(tǒng)開(kāi)發(fā)的重點(diǎn)和難點(diǎn)。采用VC++為開(kāi)發(fā)平臺(tái),進(jìn)行系統(tǒng)軟件設(shè)計(jì)。

軟件系統(tǒng)設(shè)計(jì)主要包括:軟件系統(tǒng)總體架構(gòu)設(shè)計(jì)、數(shù)據(jù)采集模塊設(shè)計(jì)、信號(hào)分析與處理模塊設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)模塊設(shè)計(jì)等。

軟件系統(tǒng)總體架構(gòu)設(shè)計(jì)見(jiàn)第2部分,不再贅述。數(shù)據(jù)采集模塊、數(shù)據(jù)分析與處理模塊和數(shù)據(jù)存儲(chǔ)模塊。三個(gè)模塊之間,相互聯(lián)系,其功能分別如下:

數(shù)據(jù)采集模塊:采集卡參數(shù)設(shè)置、采集設(shè)備的啟停控制和復(fù)位,實(shí)現(xiàn)數(shù)據(jù)采集功能(連續(xù)采集或單次采集);數(shù)據(jù)分析和處理模塊:通過(guò)從數(shù)據(jù)采集模塊或存儲(chǔ)模塊的獲得數(shù)據(jù),結(jié)合分析參數(shù)的設(shè)置,實(shí)現(xiàn)信號(hào)實(shí)時(shí)波形顯示、頻譜分析、相關(guān)分析、包絡(luò)譜分析、統(tǒng)計(jì)特征分析等;數(shù)據(jù)存儲(chǔ)模塊:實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和讀取,并回放顯示、分析處理的功能。

3.1 系統(tǒng)界面設(shè)計(jì)

程序設(shè)計(jì)中,選用單文檔結(jié)構(gòu)來(lái)編制應(yīng)用程序。

基本布局設(shè)計(jì)如下:窗口頂部為菜單工具條區(qū)域,左下部分為數(shù)據(jù)顯示區(qū)域,右下部為數(shù)據(jù)信息瀏覽和控制區(qū)域。系統(tǒng)主界面如圖3所示。

 

 

首先將客戶區(qū)分割為1行2列兩個(gè)部分:左側(cè)為電壓值數(shù)字顯示窗口,關(guān)聯(lián)的類為CADDigitView(派生自CScrollView);右側(cè)為圖形顯示窗口,關(guān)聯(lián)的類為CAD-WaveView(派生自CScrollView)。參數(shù)設(shè)置及分析控制采用2個(gè)對(duì)話欄,派生自CDialogBar,用戶可以通過(guò)其進(jìn)行采集卡參數(shù)設(shè)置和信號(hào)采集、分析控制。由于程序功能較為簡(jiǎn)單,故在界面上幾乎就可以進(jìn)行全部的操作,使用上極其方便。

3.2 主要處理算法

3.2.1 FFT

頻譜分析是數(shù)字信號(hào)處理技術(shù)的一個(gè)非常重要的手段,以便能清楚的看到某波形的頻譜分布情況.而要對(duì)一個(gè)輸入信號(hào)源作頻譜分析,將其由時(shí)域信號(hào)轉(zhuǎn)變?yōu)轭l域信號(hào),就必然要用到傅里葉分析。快速傅里葉變換(Fast Fourier Transform,FFT)的迅速發(fā)展,使數(shù)字頻譜分析取得了突破性的進(jìn)展。FFT的算法種類較多,而且選擇使用的方式也各不一樣,本文選用時(shí)間抽選奇偶分解快速離散傅里葉變換。

基2型FFT算法的步驟如下:

(1)將原始序列按下標(biāo)的奇、偶性質(zhì)不斷分解,一直由一個(gè)N 項(xiàng)序列分解為N 個(gè)單項(xiàng)重排序列;

(2)計(jì)算N 個(gè)單項(xiàng)序列的DFT.此時(shí),N = 1,而0 ? n ? N - 1,所以,n = k = 0,于是:

 

 

即單項(xiàng)序列的DFT就是其自身,這樣就求得了N 個(gè)單項(xiàng)重排序列的DFT;

(3)對(duì)N 個(gè)單項(xiàng)重排子序列的DFT兩兩合成,最終得到一個(gè)N 項(xiàng)序列的DFT,這就是原始序列的DFT.

根據(jù)上面的指導(dǎo)思想,就可編制FFT計(jì)算程序。

在進(jìn)行FFT時(shí),按照“蝴蝶圖”所描述的計(jì)算方法對(duì)輸入的時(shí)域序列按奇偶分解后的序列排序而輸出的頻域序列仍是按自然順序排列的。此方法無(wú)須中間存儲(chǔ)單元,但需要倒一次序.

下面代碼用于完成對(duì)原始采樣時(shí)域序列的快速傅里葉變換,A,M 分別表示指向原始采樣數(shù)據(jù)數(shù)組的指針和序列長(zhǎng)度的2的整數(shù)次冪:

 

 

 

 

1 kHz 矩形波頻譜圖,包括實(shí)譜、虛譜、幅值譜、相位譜如圖4所示。

 

 

3.2.2 相關(guān)性分析

在信號(hào)分析中,相關(guān)性是一個(gè)非常重要的概念,它表達(dá)了兩個(gè)信號(hào)(或一個(gè)信號(hào)不同時(shí)刻)之間的線性相關(guān)程度。

相關(guān)函數(shù)及其離散化數(shù)據(jù)計(jì)算公式為:

 

 

式中:N 為采樣點(diǎn)數(shù);Δt 為采樣間隔;n 為時(shí)間序列;r為時(shí)延序列(時(shí)間位移數(shù))。[!--empirenews.page--]

自相關(guān)分析算法:

(1)標(biāo)準(zhǔn)方法

根據(jù)式(3)直接計(jì)算采樣數(shù)據(jù)之間的平均乘積,然后以此作為自相關(guān)函數(shù)估計(jì)。本次即采用該方法設(shè)計(jì)算法;

(2)間接方法

該方法得到的不是通常的自相關(guān)函數(shù),是“循環(huán)”相關(guān)函數(shù)。該方法通過(guò)在原數(shù)據(jù)補(bǔ)0后經(jīng)FFT,計(jì)算其自功率譜后做IFFT,取前半部分而得到其自相關(guān)函數(shù)。

互相關(guān)函數(shù)及其離散化數(shù)據(jù)計(jì)算公式為:

 

 

互相關(guān)分析算法:

(1)標(biāo)準(zhǔn)方法

根據(jù)式(5)直接計(jì)算采樣數(shù)據(jù)之間的平均乘積,然后以此作為互相關(guān)函數(shù)估計(jì)。本次即采用該方法設(shè)計(jì)算法;

(2)間接方法

該方法同F(xiàn)FT,計(jì)算其互功率譜后做IFFT,取前半部分而得到其互相關(guān)函數(shù)。

兩個(gè)不同頻率的正弦波信號(hào)的相關(guān)信號(hào)如圖5 所示,因?yàn)轭l率不同,所以不相關(guān),其波形接近值恒為零的直線。

 

 

3.2.3 包絡(luò)線分析

信號(hào)的包絡(luò)通常有3種提取方法:Hilbert幅值解調(diào)法、檢波-濾波法和高通絕對(duì)值解調(diào)法。

Hilbert法解調(diào)出的包絡(luò)是對(duì)信號(hào)絕對(duì)值的包絡(luò),其解調(diào)幅值代表真實(shí)包絡(luò),且在ARM系統(tǒng)中,Hilbert變換可以方便地借助FFT來(lái)實(shí)現(xiàn),所以,本文采用Hilbert變換法提取信號(hào)的包絡(luò)。

具體的步驟如下:

(1)對(duì)x(t) 做FFT,得X(k),k = 0,1,2,-,N - 1,注意k = N 2,-,N - 1 對(duì)應(yīng)負(fù)頻率;

(2)Z(k) 的取值:

 

 

(3)對(duì)Z(k) 做逆FFT,即得到x(n) 的解析信號(hào)z(n) ;

(4)| z(n)|即為 x(n)的包絡(luò)。

通過(guò)以上分析編程實(shí)現(xiàn)了對(duì)信號(hào)的包絡(luò)解調(diào)。

圖6 所示為一調(diào)制波波形,對(duì)其進(jìn)行包絡(luò)分析,結(jié)果如圖7所示。

 

 

4 閃屏現(xiàn)象及其解決方案

VC 中基于MFC 編寫(xiě)的程序中,窗口的移動(dòng)縮放、鼠標(biāo)點(diǎn)擊等操作都會(huì)引起窗口重繪.本應(yīng)用程序中使用繪圖方式輸出采集數(shù)據(jù)、信號(hào)波形圖、頻譜圖等,繪制比較復(fù)雜,也比較消耗CPU時(shí)間,因此頻繁的重繪會(huì)引起畫(huà)面閃爍,影響信號(hào)動(dòng)態(tài)顯示分析效果,為此這里采用了雙緩存技術(shù),解決閃屏問(wèn)題。

雙緩存技術(shù)就是先在內(nèi)存中準(zhǔn)備一塊區(qū)域,把要顯示的位圖都加載到內(nèi)存中,然后調(diào)用BitBlt函數(shù),把內(nèi)存設(shè)備復(fù)制到顯示設(shè)備上,這個(gè)過(guò)程比較簡(jiǎn)單,就是將圖面的每個(gè)像素一次復(fù)制到輸出設(shè)備,不需消耗太多的時(shí)間,這樣就可以防止閃屏,改善顯示效果。

雙緩沖繪圖主要代碼如下:

 

 

 

 

5 系統(tǒng)測(cè)試分析

為驗(yàn)證系統(tǒng)的正確性和可靠性,產(chǎn)生如下信號(hào):

 

 

取分析長(zhǎng)度(時(shí)間塊)T = 10 s,從式中可以看出有4種頻率分量,分別為1 Hz、6 Hz、9 Hz、20 Hz,取采樣間隔為0.01 s,繪制其時(shí)域波形圖及頻譜圖分別如圖8和圖9所示。

 

 

 

 

通過(guò)FFT后的數(shù)據(jù),發(fā)現(xiàn)頻譜幅值在各頻率點(diǎn)處的大小(圖中未標(biāo)注)分別為500、1 000、1 000、500,經(jīng)過(guò)計(jì)算,符合時(shí)域中信號(hào)幅值分別為1、2、2、1,并且通過(guò)FFT,成功分離出了原始信號(hào)中4 種頻率分量:1 Hz、6 Hz、9 Hz、20 Hz,這也驗(yàn)證了FFT 算法的頻率分辨能力。

6 結(jié)論

針對(duì)目前動(dòng)態(tài)信號(hào)測(cè)試分析系統(tǒng)的現(xiàn)狀,以Windows XP系統(tǒng)為開(kāi)發(fā)平臺(tái),采用面向?qū)ο蟮木幊碳夹g(shù)和VC++為開(kāi)發(fā)工具,本文提出了一套基于VC++的動(dòng)態(tài)信號(hào)分析系統(tǒng)的設(shè)計(jì)方案。方案可實(shí)現(xiàn)對(duì)單個(gè)和多個(gè)信號(hào)的實(shí)時(shí)同步采集,并能夠?qū)π盘?hào)進(jìn)行分析處理,還能實(shí)現(xiàn)數(shù)據(jù)的分段存儲(chǔ)和波形的回放查看。通過(guò)實(shí)驗(yàn)測(cè)試,所研制的系統(tǒng)可以滿足測(cè)試中的各種分析要求,驗(yàn)證了本方案的可靠性和實(shí)用性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉