導航:首頁 > 源碼編譯 > EMD演算法改進

EMD演算法改進

發布時間:2022-11-15 03:52:42

Ⅰ EMD演算法分解成imf後,如何決定是否丟棄

摘要 您好~項目上的理論研究看到一種方法EMD+SVD方法識別,看了下EMD演算法意義跟傅立葉變換差不多,也是將信號分解為不同的頻率,但是區別與傅立葉無線長時間與小波變換選定小波基的問題,EMD給出了自適應分解方法

Ⅱ 用MATLAB實現EMD演算法

ilovematlab論壇上可以免費下載,都可以運行

Ⅲ opencv中的EMD演算法,幾個參數求解釋

整個項目的結構圖:

編寫DetectFaceDemo.java,代碼如下:

[java] view
plainprint?

package com.njupt.zhb.test;

import org.opencv.core.Core;

import org.opencv.core.Mat;

import org.opencv.core.MatOfRect;

import org.opencv.core.Point;

import org.opencv.core.Rect;

import org.opencv.core.Scalar;

import org.opencv.highgui.Highgui;

import org.opencv.objdetect.CascadeClassifier;

//

// Detects faces in an image, draws boxes around them, and writes the results

// to "faceDetection.png".

//

public class DetectFaceDemo {

public void run() {

System.out.println("\nRunning DetectFaceDemo");

System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());

// Create a face detector from the cascade file in the resources

// directory.

//CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());

//Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());

//注意:源程序的路徑會多列印一個『/』,因此總是出現如下錯誤

/*

* Detected 0 faces Writing faceDetection.png libpng warning: Image

* width is zero in IHDR libpng warning: Image height is zero in IHDR

* libpng error: Invalid IHDR data

*/

//因此,我們將第一個字元去掉

String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);

CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);

Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));

// Detect faces in the image.

// MatOfRect is a special container class for Rect.

MatOfRect faceDetections = new MatOfRect();

faceDetector.detectMultiScale(image, faceDetections);

System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));

// Draw a bounding box around each face.

for (Rect rect : faceDetections.toArray()) {

Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));

}

// Save the visualized detection.

String filename = "faceDetection.png";

System.out.println(String.format("Writing %s", filename));

Highgui.imwrite(filename, image);

}

}
package com.njupt.zhb.test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.Highgui;
import org.opencv.objdetect.CascadeClassifier;

//
// Detects faces in an image, draws boxes around them, and writes the results
// to "faceDetection.png".
//
public class DetectFaceDemo {
public void run() {
System.out.println("\nRunning DetectFaceDemo");
System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());
// Create a face detector from the cascade file in the resources
// directory.
//CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());
//Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());
//注意:源程序的路徑會多列印一個『/』,因此總是出現如下錯誤
/*
* Detected 0 faces Writing faceDetection.png libpng warning: Image
* width is zero in IHDR libpng warning: Image height is zero in IHDR
* libpng error: Invalid IHDR data
*/
//因此,我們將第一個字元去掉
String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);
CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);
Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));
// Detect faces in the image.
// MatOfRect is a special container class for Rect.
MatOfRect faceDetections = new MatOfRect();
faceDetector.detectMultiScale(image, faceDetections);

System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));

// Draw a bounding box around each face.
for (Rect rect : faceDetections.toArray()) {
Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));
}

// Save the visualized detection.
String filename = "faceDetection.png";
System.out.println(String.format("Writing %s", filename));
Highgui.imwrite(filename, image);
}
}

3.編寫測試類:

[java] view
plainprint?

package com.njupt.zhb.test;

public class TestMain {

public static void main(String[] args) {

System.out.println("Hello, OpenCV");

// Load the native library.

System.loadLibrary("opencv_java246");

new DetectFaceDemo().run();

}

}

//運行結果:

//Hello, OpenCV

//

//Running DetectFaceDemo

///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml

//Detected 8 faces

//Writing faceDetection.png
package com.njupt.zhb.test;
public class TestMain {
public static void main(String[] args) {
System.out.println("Hello, OpenCV");
// Load the native library.
System.loadLibrary("opencv_java246");
new DetectFaceDemo().run();
}
}
//運行結果:
//Hello, OpenCV
//
//Running DetectFaceDemo
///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml
//Detected 8 faces
//Writing faceDetection.png

Ⅳ 如何採用演算法降低emd對雜訊的敏感

多參加一些課外活動,好處多多。上大學學習不是你的全部了。你應該學會勞逸結合。對於你學習的態度,我非常欣賞,到了大學再那麼好學真的不簡單啊!
對於你的情況可以試著聽輕音樂,聽不到那些聲音就好了。如果不喜歡,就從飲食方面和生活方面著手。晚上睡前喝些牛奶,生活上最重要,常放鬆放鬆。勞逸結合,才能高效的去學習。
可以製造雜訊除草器,利用雜訊除草器發出的雜訊使雜草的種子提前萌發,這樣就可以在農作物生長前用葯物除掉雜草,保證農作物順利生長.

Ⅳ EMD是什麼意思啊

EMD(經驗模態分解,全稱Empirical Mode Decomposition,一般指EMD演算法)是Hilbert-Huang變換(HHT)的核心演算法。
經驗模態分解(EMD)演算法是通過演算法過程定義的,而並非由確定的理論公式定義的,所以對其進行准確的理論分析非常困難,我們目前只能藉助大量的數字模擬試驗不斷對其性能進行深入的研究。 EMD演算法的目的在於將性能不好的信號分解為一組性能較好的本徵模函數(IMFIntrinsic Mode Function ),且IMF須滿足以下兩個性質:
(1)信號的極值點(極大值或極小值)數目和過零點數目相等或最多相差一個;
(2)由局部極大值構成的上包絡線和由局部極小值構成的下包絡線的平均值為零。

Ⅵ 什麼叫EMD

EMD(Empirical Mode Decomposition)演算法1995年由NASA海洋水波實驗室提出,本質上是一種將時域信號按頻率尺度分解的數值演算法,對於線性時不變系統,它可以從時域信號中直接提取具有不同特徵時間尺度的內稟模式函數(IMF,Intrinsic Mode Function),分解得到的IMFs之間具有正交性,且分解唯一.本文以此為基礎,將NExT(Natural Excitation Technique)方法推廣到多點隨機激勵下的復模態情況,對多自由度線性系統實測響應信號的互相關函數進行EMD分解,並進而實現模態參數的辨識.

Ⅶ 麻煩說說EMD有什麼地方不好~

問題:
1. 分量c1,c2,c3...cn分別包含了從高到低不同的頻率斷,每一段頻率成分是不同的,而且隨信號x(t)變換而變化,rn則表示了信號x(t)的中心趨勢

對於這句話 有點不解 c1 c2...cn是不是嚴格按照頻率從高 到低, 而且rn說表示中心趨勢 我看有的說誤差 看來應該是分情況而定的把??

2. 對於黃的程序 暫時我沒有仔細研讀啊 ,不知道他在對於emd缺點改進方面作了那些工作,此程序在對於emd的改進如何,更確切的說 這個程序的可用度如何, 更適合分析甚麼信號!

通過看imf定義,可以看到 它對於具有調幅和調頻的信號 對稱信號 處理應該是比較不錯的,但是實際信號 比如地震信號 時域波形應該畸變 不是標準的正弦波 或者於弦 ,而我門在舉例子的時候 都傾向於 舉一標準的正於弦 或者 調幅 調頻,如果舉雜訊的例子,結果又會怎麼樣那??

3. 對於現在搞emd的都在對黃的程序,在改進 ,結果也出了不少文章 ,在故障診斷這塊 ,作的不錯的 湖南大學於老師 在機械繫統與信號處理 發過3-4篇 文章, 演算法作了改進 ,主要故障設計 齒輪 和軸承 ,這些信號 大家都清楚 出現調幅調頻的幾率比較達大,處理起來效果應該還可以,但是對於別的故障,不知道大家有沒有試驗過,如果轉速變化比較大,所採集的波形波動比較大時,效果是不是還比較好呢?? 我現在還是覺得 信號略處於穩態的 處理效果比較好些, 期待大家 討論?
答案1. c1 c2 ... cn 的確是嚴格按照頻率從高到低產生的,不過這里有一個誤區,其意思並不是說c1的頻率一定比c2的高,正確的理解是c1中的某個局部的頻率比c2中相同局部的頻率要高,這也正好反映了EMD演算法局部性強的本質所在,也跟黃的說法「相鄰的分量可能包含相同時間尺度的振盪,但是相同時間尺度的振盪絕對不會出現在兩個不同的IMF分量的同一個位置」一致。至於分解過程造成的誤差(主要是包絡方式的選取、邊界效應的處理和濾波停止條件的設計),會不斷累積到下一層分解中,並不一定是最後一個餘量(趨勢項)。

2.
a) 黃的源程序其實我們都沒有得到(這個不是免費的,因為黃已經在NASA中申請了專利),一般大多數人使用的都是Flandrin提供的源代碼,也就是LS提到的G.Rilling的方法(之所以有兩種不同說法是因為網站提供的源代碼是Flandrin的,但是emd.m提到的文章是G.Rilling作為第一作者的,也許外國人不像我們那樣通過次序來區分貢獻,呵呵)。程序基本上可靠,可以用來分析各種數據,但是效果如何,就要看是否滿足你的需要了。至於適合什麼樣的數據,現在還沒有定論,其一,EMD演算法還沒有建立一個合適的數學模型,也就缺乏嚴格的數學基礎,很多諸如收斂性、唯一性、正交性等數學問題根本無法進行,甚至連「什麼信號能進行EMD分析」目前也無法解釋。其二,演算法本身是操作性的,到目前為止也是經驗的(正如演算法的名稱一樣),在沒有找到其理論支撐之前,無從考究。其三,一種演算法,不可能對任何信號都有效,所以不要指望EMD可以處理任何信號。

b) 從IMF的定義看的確要求IMF是對稱的,但是這不意味著要求信號本身具有這樣的特性,也並不要求信號是正弦、餘弦等的合成,我想,之所以EMD能引起那麼多人關注,除了所謂的「傳銷」得當以外,更重要的是它在實際中的表現,如果只能處理規則的信號,那麼它的影響(包括好的和也許壞的)遠不可能如此成功。

c) EMD從高到低產生各IMF的特性就意味著它可以用來去噪,而並非在使用EMD之前用其他方法進行雜訊處理。舉個例子吧,我這段時間做的腦功能激活區檢測,本質上就是去除信號的雜訊,把原始的刺激恢復出來的這么一個過程。實現結果是很不錯的,無論對於加性的服從規則分布(例如高斯分布、均勻分布等)的隨機信號,還是對於乘性的服從規則分布(我只測試了poisson分布)的隨機信號。當然了,後者的結果當然比不上前者,不過足以超過用於檢測的傳統方法。個人認為EMD之所以在實際中那麼有效,是因為它能處理非平穩、非線性的時間序列。

3. 目前對EMD方法的改進分為兩個方面,一個是實驗層面的,另一個是理論層面的,相對來說,後者少之又少。
a) 前者主要包括是兩個部分。實際上,這是大家在利用EMD進行信號分解時採取的一些主觀規則。其一是根據對零均值條件的主觀理解,使用了不同的方法作為IMF濾波停止條件;其二是利用三次樣條計算信號的上、下包絡時,根據信號兩端的走勢,使用了特定的端點延拓方法。當使用EMD進行非平穩和非線性信號分解時,在上述兩點上使用不同的規則將導致不同的EMD分解結果。2003年G. Rilling等人對Huang的EMD演算法進行的改進就屬於第一種,個人認為該條件比Huang原來的條件合理。而國內學者諸如2001年鄧擁軍等提出的神經網路方法、2003年黃大吉等提出的鏡像閉合法和極值點延拓法以及2004年劉慧婷等提出的多項式擬合演算法等,是屬於第二種。至於這兩年的研究成果,我還沒有整理,呵呵。

b) 後者主要是2004年諶球輝等人提出利用「滑動平均」的方法代替傳統的「包絡平均」的方法來求出信號的低頻。他們試圖藉助B樣條函數已有的良好性質來為建立EMD的數學基礎作進一步推進。另外,2006年初黃對EMD演算法得到的IMF提出了一個後處理演算法(本質上是對IMF進行規范化),其目的是為了更加准確的得到瞬時頻率和振幅(個人認為這才是真正的包絡和瞬時頻率,來京之前我試圖從局部意義上來證明這個演算法的收斂性,但只得到階段性結果,最近聽說我的一個師弟已經從全局意義上基本上證明出來了,待我回去以後再看看具體成果吧,呵呵),演算法的思想是把兩者盡量分開,把調幅的影響從調頻中脫離出來。該處理方法完全拋棄了Hilbert變換,使得瞬時頻率和瞬時振幅更加准確、更有意義

總的來說,EMD乃至HHT雖然有很多缺點,但是也並非一無所用,在理論上的證明和進一步完善需要更多的關注,而在實驗中的用處就看你的需要和如何發揮它的潛力了。

Ⅷ EMD演算法分解信號後,怎麼將這些信號重構呢求高手指點

有個叫BOUDRAA的人發明了一種演算法,叫連貫均方誤差法,就是分別求每個IMF分量的平方,取完後求和再取平均,求和的點數是N,即采樣點的點數。假如你分解得到了M個IMF分量,那麼就應該有M個這樣的數,把得到的這些數圓整,求出最小的整數,記為K。那麼K之前的包括K的這些分量相加應該是雜訊的信號,K之後的加上剩餘信號即為重構信號。不過目前該方法被證實不適合信噪比低得信號,不過一般的處理效果還可以。

Ⅸ 關於經驗模態分解(EMD)的問題

於非線性時間序列分析經驗模態分解和小波分解異同性的研究

龔志強 鄒明瑋 高新全 董文傑

摘 要:基於經驗模態分解(EMD)的希爾伯特變換(HT),是對非線性時間序列基於EMD進行分解,然後通過HT獲得頻譜.利用理想時間序列和青藏高原古里雅冰芯18O時間序列,系統地分析比較了EMD和小波分解(WD)以及HT和小波變換在非線性時間序列處理中的優劣,並針對它們各自的缺點提出了可能改進的設想.研究結果表明,將基於EMD的方法和基於WD的方法有機結合起來應用,可以更有效地識別原時間序列的特徵信息.
關鍵詞:經驗模態分解;小波分解;理想時間序列;古里雅冰芯
文章編號:1000-3290/2005/54(08)/3947-11

On the difference between empirical mode decomposition and wavelet decomposition in the nonlinear time series

Gong Zhi-Qiang Zou Ming-Wei Gao Xin-Quan Dong Wen-Jie

基金項目:國家重點基礎研究發展規劃(批准號:2004CB418300)和國家自然科學基金(批准號:90411008,40231006)資助的課題.
作者單位:龔志強(揚州大學物理科學與技術學院,揚州,225009;國家氣候中心氣候研究開放實驗室,北京,100081)
鄒明瑋(揚州大學物理科學與技術學院,揚州,225009;中國科學院大氣物理研究所,北京,100029)
高新全(國家氣候中心氣候研究開放實驗室,北京,100081)
董文傑(國家氣候中心氣候研究開放實驗室,北京,100081)

參考文獻:

[1]Huang N E, Shen Z, Long R S et al1998 Proc. R. Soc. Lond. A454 899
[2]Huang N E 1999 Ann. Rev. Fluid Mech. 31 417
[3]Feng G L, Chou J M, Dong W J 2004 Chin. Phys. 13 1582
[4]Feng G L, Dong W J 2003 Chin. Phys. 13 413
[5]Dai X G, Wang P, Chou J F 2004 Prog. Nat. Sci. 14 73
[6]Li J P, Tang Y Y 1999 Application of Wavelet Analysis ( Chongqing:Chongqing University Press)(in Chinese)[李建平、唐遠延1999小波分析方法的應用(重慶:重慶大學出版社)]
[7]Mallat S 1989 IEEE Trans. Signal Proces. 37 2091
[8]Mallat S, Hwang W L 1992IEEE Trans. Inform. Theory 38 617
[9]Xiong X J, Guo B H, Xu Y M 2002 J. Ocean. HB Seas 20 12(in Chinese)[熊學軍、郭炳火、胡筱敏2002黃渤海海洋20 12]
[10]Farge M 1992 Ann. Rev. Fluid Mech. 24 395
[11]Tewfiki A H 1992 IEEE Trans. Inform. Theory 38 747
[12]Li B B 1994 J. Electron. 16 646(in Chinese)[李兵兵 1994 電子科學學刊16 646]
[13]Wang J Z 1998 Auto.Elec.Power Sys.22 40(in Chinese)[王建賾1998電力系統自動化22 40]
[14]Yao T D,Yang X M,Kang X C 2001 Quatern.Sci.21 514(in Chinese)[姚檀棟、楊學梅、康興成2001第四紀研究21 514]
[15]Zhang X P,Yao T D,Jin H J 2000 J.Glaci.Geocr.22 23(in Chinese)[章新平、姚檀棟、金會軍2000冰川凍土22 23]
[16]Zhang X P,Shi Y F,Yao T D 1995 Sci.China D 38 854(in Chinese)[章新平、施雅風、姚檀棟1995中國科學D 38 854]
[17]Yao T D,Jiao K Q,Li Z Q 1994 Sci.China B 24 763(in Chinese)[姚檀棟、焦克勤、李忠勤1994中國科學B 24 763]
[18]Briffa K R 1998 Nature 391 678
[19]Briffa K R 1998 Nature 393 450
[20]Stagke D W 1998 Science 280 564
[21]Briffa K R 1998 Quatern. Sci. Rev. 19 87
[22]Liu C X2001 J.Trop.Meteor.17 381(in Chinese)[劉春霞2001熱帶氣象學報17 381]

Ⅹ 求實時紅外氣體檢測基於EMD演算法修改的英文資料的中文翻譯

Hall of fame: celebrities take you feel the drive of their life
Ma Yun Ren Zhiqiang Li Jiacheng Liu Chuan Shi Yuzhu
Q.
Xie
Et
Al
/
Sensors
And
Actuators
B
136
2009.
303 - 309
305
Fig
4
The
Characteristics
Of
那個
Output
Signal
From
那個
Photodiode
(a)
The
Wave-
Form
Of
那個
Output
Signal
(b)
The
Fourier
Analysis
Of
那個
Output
Signal
(c)
The
Uctuations
Of
那個
Output
Waves
Converts
Into
Voltage
The
Ow
Of
Gas
Mixture,
Clean
Air
And
Testing
Gas,
Is
Controlled
By
Two
Mass
Ow
Meters
The
Rapid
Changes
Of
Gas
Concentration
Can
Be
Obtained
By
A
Three-path
Valve
The
Gas
Con-
Centration
Is
Calculated
Through
那個
Beer - Lambert
Absorption
Law
[14]
Which
Relates
那個
Intensity
Of
Incoming
Light
To
那個
Transmitted
Intensity
The
Output
Waveform
Is
Shown
In
Fig
4
A,
那個
A
/
D
Sampling
Rate
Is
500
The
Waveform
Is
Unsymmetric
With
A
Long
Response
And
Short
Recovery
Time
Its
Fourier
Spectrum
Is
Given
In
Fig
4
B
In
Which
那個
DC
Component
Is
Ignored
And
那個
Power
Is
Normalized
It
Can
Be
Seen
From
那個
Gure
That
那個
Signal
Has
那個
Fundamen-
Tal
Frequency
Of
16
Hz
And
Also
Contains
Harmonic
Components
Fig
4
C
Shows
那個
Upper
Envelope
Boundary
Of
那個
Measured
Out-
Put
The
Dependency
Of
那個
Output
Amplitude
On
那個
Perturbation
Can
Be
Clearly
Noted
These
Perturbations
Or
Uctuations
Mainly
Come
From
Two
Sources
[2]
:
那個
Measurement
Noise
Introced
By
那個
System
And
True
Concentration
Variation
In
Order
To
Get
Accu-
Rate
Gas
Concentration,
那個
Uctuations
Due
To
Measurement
Noise
Need
To
Be
Reced
Fig
5
Unsuccessful
Decomposition
Of
那個
Experimental
Signal
By
那個
Original
EMD
3.2
The
Modi ed
EMD
And
A
Mean-envelope
Lter
Although
那個
EMD
Algorithm
Is
Effective
In
Decomposing
Dif-
Ferent
Signals,
It
Cannot
Correctly
Decompose
那個
Wave
With
Some
Spurs
In
Addition,
Even
If
All
Meaningful
IMFs

閱讀全文

與EMD演算法改進相關的資料

熱點內容
電子加密貨幣最新政策 瀏覽:377
androidcanvas撤銷 瀏覽:267
安卓手機怎麼把圖標全部下移 瀏覽:183
飢荒被伺服器踢出怎麼進 瀏覽:170
c編譯器哪款好 瀏覽:732
快手寶哥發明什麼app 瀏覽:822
張艷玲編譯 瀏覽:66
android展開收起動畫 瀏覽:237
linuxxz文件 瀏覽:160
在游戲中心裏面怎麼玩到解壓神器 瀏覽:484
電腦發到手機裡面照片怎麼解壓 瀏覽:73
虛擬pdf列印機64位 瀏覽:413
支付寶AES加密和解密 瀏覽:379
編譯實驗原理下載 瀏覽:131
加密防偽溯源系統私人定做 瀏覽:222
掃碼給電動車充電的app叫什麼 瀏覽:760
關閉命令提醒 瀏覽:356
雲賬本app伺服器 瀏覽:499
python輸入數字循環 瀏覽:370
未成年人用什麼app 瀏覽:517