資源描述:
《MATLAB與VC++混合編程實(shí)現(xiàn)一維小波多尺度分解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、MATLAB與VC++混合編程實(shí)現(xiàn)一維小波多尺度分解漢澤西甘志強(qiáng)鄧武(1.西安石油大學(xué)電子工程學(xué)院,陜西西安710065;2.)陜西午禾科技有限公司摘要:小波分析近年來應(yīng)用十分廣泛,并逐步成為一個(gè)有力的信號(hào)分析工具。本文提出一種基于COM的VC++調(diào)用MATLAB小波工具箱提供的小波多尺度分解函數(shù)的方法,實(shí)現(xiàn)對一維信號(hào)的多尺度小波分解,并給出應(yīng)用實(shí)例。該方法具有識(shí)別率高、開發(fā)簡單快速、可移植性強(qiáng)等優(yōu)點(diǎn)。關(guān)鍵詞:小波分析;VC++;MATLAB;COM;匝間短路TorealizeMulti-ScaleWaveletAnalysisof1-Dsignalbyusing
2、MixedProgrammingBetweenMatlabandVC++HanZeXiGanZhiQiangDengWu(1.SchoolofElectronicEngineering,xi’anshiyouUniversity,Xi’an,7100652.)ShaaxiwuhetechnologyCO,LTDAbstract:WaveletAnalysishasbeenusedinseveralfields,becominganusefulSignalanalytictoolinrecentyears.Thisarticlepresentamethodofcal
3、lingtheMulti-scaleWaveletAnalysisfunctionsubmittedbyMATLABWaveletToolboxinVC++basedonCOM,achievingthemulti-scalewaveletAnalysisof1-Dsignal,italsogivedanappliedexample.ThismethodhastheadvantagesofHighRecognitionRate,EasytoDevelopandGoodPortability.Keywords:WaveletAnalysis;VC++;MATLAB;C
4、OM;shortcircuitbetweenturns引言小波分析世紀(jì)80年代開始發(fā)展成熟起來的一個(gè)數(shù)學(xué)分支,其應(yīng)用領(lǐng)域十分廣泛,并逐步成為信號(hào)分析的又一有力工具。MATLAB的小波工具箱為我們提供了小波多尺度分解函數(shù),方便了我們對小波的使用。但是用它所編寫的軟件不能脫離MATLAB編程環(huán)境在Windows平臺(tái)下直接運(yùn)行,代碼執(zhí)行效率低下,運(yùn)行時(shí)占較多的系統(tǒng)資源,不能達(dá)到某些用戶的需求。VC++是由美國Microsoft公司開發(fā)的可視化C/C++集成編程環(huán)境,是目前功能最強(qiáng)大的軟件開發(fā)工具之一。被廣泛應(yīng)用于Win32平臺(tái)的基礎(chǔ)應(yīng)用程序的開發(fā)。它具有強(qiáng)大的圖形界面編
5、程能力且代碼執(zhí)行效率高,可生成脫離VC++環(huán)境而獨(dú)立運(yùn)行的應(yīng)用程序。可是VC++在數(shù)值處理分析和算法工具等方面不如MATLAB。本文結(jié)合VC++和MATLAB的各自優(yōu)點(diǎn),以VC++圖形界面作為前臺(tái)框架,MATLAB作為后臺(tái)進(jìn)行數(shù)值運(yùn)算和數(shù)據(jù)可視化,利用組件對象模型(COM)技術(shù)作為媒介,實(shí)現(xiàn)了一維小波多尺度分解。1一維小波多尺度分解原理及其MATLAB實(shí)現(xiàn)1.1一維小波多尺度分解原理假定信號(hào),即(1.1)其中系數(shù){}為已知。我們現(xiàn)在要將它分解在和空間的兩個(gè)分量之和,即(1.2)也就是已知序列{}分別求出j-1級(jí)的近似序列{}和j-1級(jí)的細(xì)節(jié)序列{}。根據(jù)二尺度關(guān)系
6、可以知道,(1.3)同理(1.4)這樣,容易得到:(1.5)式中,。同理可以得到:(1.6)式中,對上訴分解結(jié)果中的近似序列{}再做一次分解,可得到{}和{},以此類推,直到指定級(jí)數(shù)的多尺度小波分解為止,分解過程如圖1示。圖中s為原始信號(hào),cd1,ca1分別為分解后第1層的細(xì)節(jié)序列和近似序列,cd2,ca2分別為分解后第2層的細(xì)節(jié)序列和近似序列,以此類推。因?yàn)檫@種算法分解的數(shù)據(jù)結(jié)構(gòu)是塔式結(jié)構(gòu),所以這種算法也常被稱為塔式算法(PyramidAlgorithm)。圖1小波多尺度分解1.2一維小波多尺度分解及重構(gòu)的MATLAB實(shí)現(xiàn)MATLAB小波工具箱提供了以下幾個(gè)實(shí)現(xiàn)
7、小波分解和重構(gòu)的函數(shù):[C,L]=WAVEDEC(X,N,'wname'),多尺度一維小波分解函數(shù)。其中C為分解結(jié)構(gòu)變量,L為個(gè)分解結(jié)構(gòu)以及原始信號(hào)長度變量,X為原始信號(hào),N為分解層度,'wname'為小波類型。X=WAVEREC(C,L,'wname'),多尺度一維小波重構(gòu)函數(shù)。其中C,L為多尺度一維小波分解函數(shù)WAVEDEC的計(jì)算結(jié)果。D=DETCOEF(C,L,N),一維小波變換細(xì)節(jié)序列提取函數(shù)。其中C,L為多尺度一維小波分解函數(shù)WAVEDEC的計(jì)算結(jié)果。'wname'為小波類型。A=APPCOEF(C,L,'wname',N),一維小波變換近似序列提取函數(shù)
8、。其中C,