emd实现信息隐藏_EMD算法原理与实现
歡迎關(guān)注我們,選擇加"星標(biāo)"或“置頂”
更多技術(shù),第一時(shí)間送達(dá)
SSVEP信號(hào)中含有自發(fā)腦電和大量外界干擾信號(hào),屬于典型的非線(xiàn)性非平穩(wěn)信號(hào)。傳統(tǒng)的濾波方法通常不滿(mǎn)足對(duì)非線(xiàn)性非平穩(wěn)分析的條件,1998年黃鄂提出希爾伯特黃變換(HHT)方法,其中包含經(jīng)驗(yàn)?zāi)J椒纸?EMD)和希爾伯特變換(HT)兩部分。EMD可以將原始信號(hào)分解成為一系列固有模態(tài)函數(shù)(IMF) [1],IMF分量是具有時(shí)變頻率的震蕩函數(shù),能夠反映出非平穩(wěn)信號(hào)的局部特征,用它對(duì)非線(xiàn)性非平穩(wěn)的SSVEP信號(hào)進(jìn)行分解比較合適。
EMD算法原理:
步驟1:
尋找信號(hào)全部極值點(diǎn),通過(guò)三次樣條曲線(xiàn)將局部極大值點(diǎn)連成上包絡(luò)線(xiàn),將局部極小值點(diǎn)連成下包絡(luò)線(xiàn)。上、下包絡(luò)線(xiàn)包含所有的數(shù)據(jù)點(diǎn)。
步驟2:
由上包絡(luò)和下包絡(luò)線(xiàn)的平均值?,得出
若滿(mǎn)足IMF的條件,則可認(rèn)為是的第一個(gè)IMF分量。
步驟3:
若不符合IMF條件,則將作為原始數(shù)據(jù),重復(fù)步驟1、步驟2,得到上、下包絡(luò)的均值,通過(guò)計(jì)算是否適合IMF分量的必備條件,若不滿(mǎn)足,重復(fù)如上兩步次,直到滿(mǎn)足前提下得到。第1個(gè)IMF表示如下:
步驟4:
將從信號(hào)中分離得到:
將作為原始信號(hào)重復(fù)上述三個(gè)步驟,循環(huán)次,得到第二個(gè)IMF分量直到第個(gè)IMF分量 ,則會(huì)得出:
步驟5:
當(dāng)變成單調(diào)函數(shù)后,剩余的成為殘余分量。所有IMF分量和殘余分量之和為原始信號(hào):
用EMD進(jìn)行濾波的基本思想是將原信號(hào)進(jìn)行EMD分解后,只選取與特征信號(hào)相關(guān)的部分對(duì)信號(hào)進(jìn)行重構(gòu)。如下圖中a部分為原始信號(hào),b部分為將原始信號(hào)進(jìn)行EMD分解獲得的6個(gè)IMF分量和1個(gè)殘余分量,c部分為將分解獲得的6個(gè)IMF分量和1個(gè)殘余分量進(jìn)行重構(gòu)后的信號(hào),可以看出SSVEP信號(hào)用EMD分解后,基本上包含了原有信號(hào)的全部信息。
圖片來(lái)源于[1]
python實(shí)現(xiàn)EMD案例
# 導(dǎo)入工具庫(kù)import?numpy?as?npfrom PyEMD import EMD, Visualisation構(gòu)建信號(hào)
時(shí)間t: 為0到1s,采樣頻率為100Hz,S為合成信號(hào)
#?構(gòu)建信號(hào)t?=?np.arange(0,1,?0.01)S?=?2*np.sin(2*np.pi*15*t)?+4*np.sin(2*np.pi*10*t)*np.sin(2*np.pi*t*0.1)+np.sin(2*np.pi*5*t)# 提取imfs和剩余信號(hào)resemd = EMD()emd.emd(S)imfs, res = emd.get_imfs_and_residue()# 繪制 IMFvis = Visualisation()vis.plot_imfs(imfs=imfs, residue=res, t=t, include_residue=True)# 繪制并顯示所有提供的IMF的瞬時(shí)頻率vis.plot_instant_freq(t, imfs=imfs)vis.show()參考
[1] 基于穩(wěn)態(tài)視覺(jué)誘發(fā)電位的腦-機(jī)接口系統(tǒng)研究
往期精彩
Python-EEG工具庫(kù)MNE-Python詳細(xì)安裝與使用
MNE中文教程(1)-MNE中數(shù)據(jù)結(jié)構(gòu)Raw及其用法簡(jiǎn)介
Python-EEG工具庫(kù)MNE中文教程(2)-MNE中數(shù)據(jù)結(jié)構(gòu)Epoch及其創(chuàng)建方法
Python-EEG工具庫(kù)MNE中文教程(3)-MNE中數(shù)據(jù)結(jié)構(gòu)Epoch及其用法簡(jiǎn)介
Python-EEG工具庫(kù)MNE中文教程(4)-MNE中數(shù)據(jù)結(jié)構(gòu)Evoked及其對(duì)象創(chuàng)建
Python-EEG工具庫(kù)MNE中文教程(5)-機(jī)器學(xué)習(xí)算法隨機(jī)森林判斷睡眠類(lèi)型
Python-EEG工具庫(kù)MNE中文教程(6)-讀取.set文件和.locs文件
穩(wěn)態(tài)視覺(jué)誘發(fā)電位 SSVEP 簡(jiǎn)介
Nilearn中的基本操作和查看
腦電信號(hào)濾波-代碼實(shí)現(xiàn)
腦機(jī)接口BCI學(xué)習(xí)交流群:QQ群:903290195
微信群請(qǐng)掃碼添加,Rose拉你進(jìn)群
(請(qǐng)務(wù)必填寫(xiě)備注,eg. 腦機(jī)接口或BCI)
長(zhǎng)按加群
長(zhǎng)按關(guān)注我們
總結(jié)
以上是生活随笔為你收集整理的emd实现信息隐藏_EMD算法原理与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 漫画:程序员的社会地位
- 下一篇: (视频+图文)机器学习入门系列-第10章