資源簡介
優秀論文及配套源碼。Hilbert-Huang變換(HHT)是一種新的非平穩信號處理技術,該方法由經驗模態 分解(EMD)與Hilbert譜分析兩部分組成。任意的非平穩信號首先經過EMD方法處理后被分解為一系列具有不同特征尺度的數據序列,每一個序列稱為一個固有模態函數(IMF),然后對每個IMF分量進行Hilbert譜分析得到相應分量的Hilbert譜,匯總所有Hilbert譜就得到了原信號的譜圖。該方法從本質上講是對非平穩信號進行平穩化處理,將信號中真實存在的不同尺度波動或趨勢逐級分解出來,最終用瞬時頻率和能量來表征原信號的頻率含量。 本文研究了基于HHT的暫態電能質量擾動檢測方法,介紹了HHT的基本原理和利用HHT檢測電能質量多擾動信號的實現方法。仿真試驗表明該方法可以實時檢測擾動的起止時刻,持續時間和擾動幅度,適用于電能質量多擾動的監測和辨識系統。

代碼片段和文件信息
function?[imfortnbits]?=?emd(varargin)
[xtsdsd2tolMODE_COMPLEXndirsdisplay_siftingsdtsd2trimfknbitNbItMAXITERATIONSFIXEFIXE_HMAXMODESINTERPmask]?=?init(varargin{:});
if?display_sifting
??fig_h?=?figure;
end
%main?loop?:?requires?at?least?3?extrema?to?proceed
while?~stop_EMD(rMODE_COMPLEXndirs)?&&?(k?
??%?current?mode
??m?=?r;
??%?mode?at?previous?iteration
??mp?=?m;
??%computation?of?mean?and?stopping?criterion
??if?FIXE
????[stop_siftmoyenne]?=?stop_sifting_fixe(tmINTERPMODE_COMPLEXndirs);
??elseif?FIXE_H
????stop_count?=?0;
????[stop_siftmoyenne]?=?stop_sifting_fixe_h(tmINTERPstop_countFIXE_HMODE_COMPLEXndirs);
??else
????[stop_siftmoyenne]?=?stop_sifting(mtsdsd2tolINTERPMODE_COMPLEXndirs);
??end
??%?in?case?the?current?mode?is?so?small?that?machine?precision?can?cause
??%?spurious?extrema?to?appear
??if?(max(abs(m)))?(1e-10)*(max(abs(x)))
????if?~stop_sift
??????warning(‘emd:warning‘‘forced?stop?of?EMD?:?too?small?amplitude‘)
????else
??????disp(‘forced?stop?of?EMD?:?too?small?amplitude‘)
????end
????break
??end
??%?sifting?loop
??while?~stop_sift?&&?nbit
????if(~MODE_COMPLEX?&&?nbit>MAXITERATIONS/5?&&?mod(nbitfloor(MAXITERATIONS/10))==0?&&?~FIXE?&&?nbit?>?100)
??????disp([‘mode?‘int2str(k)‘?iteration?‘int2str(nbit)])
??????if?exist(‘s‘‘var‘)
????????disp([‘stop?parameter?mean?value?:?‘num2str(s)])
??????end
??????[imiM]?=?extr(m);
??????disp([int2str(sum(m(im)?>?0))‘?minima?>?0;?‘int2str(sum(m(iM)?0))‘?maxima?0.‘])
????end
????%sifting
????m?=?m?-?moyenne;
????%computation?of?mean?and?stopping?criterion
????if?FIXE
??????[stop_siftmoyenne]?=?stop_sifting_fixe(tmINTERPMODE_COMPLEXndirs);
????elseif?FIXE_H
??????[stop_siftmoyennestop_count]?=?stop_sifting_fixe_h(tmINTERPstop_countFIXE_HMODE_COMPLEXndirs);
????else
??????[stop_siftmoyennes]?=?stop_sifting(mtsdsd2tolINTERPMODE_COMPLEXndirs);
????end
????%?display
????if?display_sifting?&&?~MODE_COMPLEX
??????NBSYM?=?2;
??????[indminindmax]?=?extr(mp);
??????[tmintmaxmminmmax]?=?boundary_conditions(indminindmaxtmpmpNBSYM);
??????envminp?=?interp1(tminmmintINTERP);
??????envmaxp?=?interp1(tmaxmmaxtINTERP);
??????envmoyp?=?(envminp+envmaxp)/2;
??????if?FIXE?||?FIXE_H
????????display_emd_fixe(tmmprenvminpenvmaxpenvmoypnbitkdisplay_sifting)
??????else
????????sxp=2*(abs(envmoyp))./(abs(envmaxp-envminp));
????????sp?=?mean(sxp);
????????display_emd(tmmprenvminpenvmaxpenvmoypsspsxpsdtsd2tnbitkdisplay_siftingstop_sift)
??????end
????end
????mp?=?m;
????nbit=nbit+1;
????NbIt=NbIt+1;
????if(nbit==(MAXITERATIONS-1)?&&?~FIXE?&&?nbit?>?100)
??????if?exist(‘s‘‘var‘)
????????warning(‘emd:warning‘[‘forced?stop?of?sifting?:?too?many?iterations...?mode?‘int2str(k)‘.?stop?parameter?mean?value?:?‘num2str(s)])
??????else
????????warning(‘emd:warning‘[‘forced?stop?of?sifting?:?too?many?iterations...?mode?‘int2str(k)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17417??2010-04-26?23:21??復雜諧波\emd.m
?????文件???????1133??2010-04-26?23:58??復雜諧波\emdyy.m
?????文件???????1916??2010-06-16?20:10??復雜諧波\hhspectrum.m
?????文件???????2256??2010-06-06?15:34??復雜諧波\IMFeg.asv
?????文件???????1626??2010-06-16?20:10??復雜諧波\IMFeg.m
?????文件???????1942??2010-06-16?20:10??復雜諧波\toimage.m
?????文件??????17417??2010-04-26?23:21??復雜暫降(幅值)\emd.m
?????文件???????1133??2010-04-26?23:58??復雜暫降(幅值)\emdyy.m
?????文件???????1915??2010-06-16?20:09??復雜暫降(幅值)\hhspectrum.m
?????文件???????2292??2010-06-12?18:13??復雜暫降(幅值)\IMFeg.asv
?????文件???????1692??2010-06-18?12:25??復雜暫降(幅值)\IMFeg.m
?????文件???????1942??2010-06-16?20:09??復雜暫降(幅值)\toimage.m
?????文件??????17417??2010-04-26?23:21??復雜暫降(時刻)\emd.m
?????文件???????1133??2010-04-26?23:58??復雜暫降(時刻)\emdyy.m
?????文件???????1915??2010-06-16?20:09??復雜暫降(時刻)\hhspectrum.m
?????文件???????2292??2010-06-12?18:13??復雜暫降(時刻)\IMFeg.asv
?????文件???????1632??2010-06-17?21:09??復雜暫降(時刻)\IMFeg.m
?????文件???????1942??2010-06-16?20:09??復雜暫降(時刻)\toimage.m
?????文件??????12200??2010-06-06?19:07??復雜中斷\3435567788.fig
?????文件??????17417??2010-04-26?23:21??復雜中斷\emd.m
?????文件???????1133??2010-04-26?23:58??復雜中斷\emdyy.m
?????文件???????2850??2010-04-26?23:06??復雜中斷\hhspectrum.m
?????文件???????2299??2010-06-13?00:03??復雜中斷\IMFeg.asv
?????文件???????2378??2010-06-13?00:04??復雜中斷\IMFeg.m
?????文件???????3003??2007-06-27?22:12??復雜中斷\toimage.m
?????文件??????17417??2010-04-26?23:21??間諧波\emd.m
?????文件???????1133??2010-04-26?23:58??間諧波\emdyy.m
?????文件???????1916??2010-06-16?20:07??間諧波\hhspectrum.m
?????文件???????2262??2010-06-07?09:41??間諧波\IMFeg.asv
?????文件???????2262??2010-06-07?10:12??間諧波\IMFeg.m
............此處省略24個文件信息
- 上一篇:Linux-0.11源碼同濟大學中文注釋版
- 下一篇:基于51單片機的多功能密碼鎖
評論
共有 條評論