
發布
注冊
/
登錄小波包變換的案例
小波變換04小波包變換
構造信號
import pywt
t=np.arange(300)
x=0.1*np.sin(0.03*t)
for i in range(90,100):
x[i]=(i-89)*0.2
for i in range(100,110):
x[i]=abs(i-110)*0.2
查詢特定小波基函數對原信號的最大分層數,該數字也為小波包變換的默認層數:
print(pywt.dwt_max_level(x.size,'db8'))
小波包分解:
wp = pywt.WaveletPacket(x,'db8',mode='symmetric')
查看所有節點的path:
n = wp.maxlevel
re = []
for i in range(1,n+1):
for j in [node.path for node in wp.get_level(i, 'freq')]:
re.append(j)
print(re)
獲取某節點的小波系數:
wp['dd'].data
獲取某節點的所在層數:
獲取某節點的父節點的path:
獲取某節點的名字:
展開 小波變換02(小波能量特征提取)
摘要:本文用一個實例演示小波能量特征提取。本文素材來自網絡,筆者作了稍微修改。
01小波包變換
小波包變換是比小波變換更加精細的變換。小波變換只對信號的低頻部分進行了分解,為高頻部分并未分解,忽略了信號的高頻部分(細節部分)。小波包變換彌補了這個不足之處。
12基于MATLAB的短時傅里葉變換( STFT),連續小波變換( CWT),程序已調通 ¥40
基于MATLAB的短時傅里葉變換( STFT),連續小波變換( CWT),程序已調通,可以直接運行。
『轉貼』改進小波包分頻算法及在故障檢測中的應用
作者:王海清,宋執環,李平
摘要:小波包分析方法是一種能有效地進行時-頻定位和微弱信號提取的工具。但是小波濾波器組的頻域特性和隔點采樣會造成頻譜混疊,導致分頻結果不正確。改進的小波包分頻算法根據小波包混頻的原因,結合FFT分析進行處理,較好地消除了混頻現象。仿真研究表明,該算法在提取微弱故障信息并進行早期故障診斷方面是有效的。
關鍵詞:時一頻分析;小波包分解;故障檢測
點評:

小波分析,小波變換的解釋
從數學地角度來看,信號與影像處理可以統一看作是信號處理(影像可以看作是二維信號),在小波分析地許多分析的許多應用中,都可以歸結為信號處理問題。現在,對於其性質隨實踐是穩定不變的信號,處理的理想工具仍然是傅立葉分析。但是在實際應用中的絕大多數信號是非穩定的,而特別適用於非穩定信號的工具就是小波分析。
事實上小波分析的應用領網域十分廣泛,它包括:數學領網域的許多學科;信號分析、影像處理;量子力學、理論物理;軍事電子對抗與武器的智能化;電腦分類與識別;音樂與語言的人工合成;醫學成像與診斷;地震勘探數據處理;大型機械的故障診斷等方面;例如,在數學方面,它已用於數值分析、構造快速數值方法、曲線曲面構造、微分方程求解、控制論等。在信號分析方面的濾波、去噪聲、壓縮、傳遞等。在影像處理方面的影像壓縮、分類、識別與診斷,去污等。在醫學成像方面的減少B超、CT、核磁共振成像的時間,提高解析度等。
(1)小波分析用於信號與影像壓縮是小波分析應用的一個重要方面。它的特點是壓縮比高,壓縮速度快,壓縮后能保持信號與影像的特征不變,且在傳遞中可以抗干擾。基於小波分析的壓縮方法很多,比較成功的有小波包最好基方法,小波網域紋理模型方法,小波變換零樹壓縮,小波變換向量壓縮等。
(2)小波在信號分析中的應用也十分廣泛。它可以用於邊界的處理與濾波、時頻分析、信噪分離與提取弱信號、求分形指數、信號的識別與診斷以及多尺度邊緣偵測等。
(3)在工程技術等方面的應用。包括電腦視覺、電腦圖形學、曲線設計、湍流、遠端宇宙的研究與生物醫學方面。
展開 小波變換01(小波降噪)
摘要:本文用一個實例演示小包變換的信號降噪功能。本文素材來自網絡,筆者作了稍微整理。
01小波變換
小波變換和傅里葉變換都屬于積分變換,馬拉算法在小波變換中的地位類似FFT算法在傅里葉變換中的地位。
02小波降噪實例
python小波擴展庫pywavelets中有幾個demo signals
引入心電信號:
import matplotlib.pyplot as plt
import pywt
ecg = pywt.data.ecg() # 生成心電信號
plt.plot(ecg)
plt.show()
coeffs = pywt.wavedec(ecg,'db8') # 對信號進行多層小波分解
threshold = 0.2
for i in range(1, len(coeffs)):
coeffs[i] = pywt.threshold(coeffs[i], threshold*max(coeffs[i])) # 降噪
ecgrec = pywt.waverec(coeffs,'db8') # 將信號進行小波重構
plt.subplot(2, 1, 1)
plt.plot(ecg)
plt.subplot(2, 1, 2)
plt.plot(ecgrec)
plt.show()
關于pywt.threshold()的用法:
展開 273 基于matlab的改進型節點重構小波包頻帶能量譜與 PNN(概率神經網絡)的聯合故障診斷新方法 ¥35.9
基于matlab的改進型節點重構小波包頻帶能量譜與 PNN(概率神經網絡)的聯合故障診斷新方法。針對風電機組故障信號的非平穩性以及故障與征兆的非線性映射導致的故障識別困難問題,提出了改進型的節點重構小波包頻帶能量譜與PNN(概率神經網絡)的聯合故障診斷新方法。文章深入分析了傳統小波包頻帶錯亂的問題,借助傅里葉變換與傅里葉逆變換改進了小波包,消除了小波包頻帶錯亂的缺陷。程序已調通,可直接運行。
小波變換簡介
小波變換簡介
小波分析是當前數學中一個迅速發展的新領域,它同時具有理論深刻和應用十分廣泛的雙重意義。
小波變換的概念是由法國從事石油信號處理的工程師J.Morlet在1974年首先提出的,通過物理的直觀和信號處理的實際需要經驗的建立了反演公式,當時未能得到數學家的認可。正如1807年法國的熱學工程師J.B.J.Fourier提出任一函數都能展開成三角函數的無窮級數的創新概念未能得到著名數學家J.L.Lagrange,P.S.Laplace以及A.M.Legendre的認可一樣。幸運的是,早在七十年代,A.Calderon表示定理的發現、Hardy空間的原子分解和無條件基的深入研究為小波變換的誕生做了理論上的準備,而且J.O.Stromberg還構造了歷史上非常類似于現在的小波基;1986年著名數學家Y.Meyer偶然構造出一個真正的小波基,并與S.Mallat合作建立了構造小波基的同樣方法及其多尺度分析之后,小波分析才開始蓬勃發展起來,其中比利時女數學家I.Daubechies撰寫的《小波十講(Ten Lectures on Wavelets)》對小波的普及起了重要的推動作用。它與Fourier變換、窗口Fourier變換(Gabor變換)相比,這是一個時間和頻率的局域變換,因而能有效的從信號中提取信息,通過伸縮和平移等運算功能對函數或信號進行多尺度細化分析(Multiscale Analysis),解決了Fourier變換不能解決的許多困難問題,從而小波變化被譽為“數學顯微鏡”,它是調和分析發展史上里程碑式的進展。
小波分析的應用是與小波分析的理論研究緊密地結合在一起地。現在,它已經在科技信息產業領域取得了令人矚目的成就。 電子信息技術是六大高新技術中重要的一個領域,它的重要方面是圖象和信號處理。
展開 [轉帖]小波變換的C源代碼
[轉帖]小波變換的C源代碼
#define N0 128
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
void db4(double *h,double *g,double *hh,double *gg);
void wd(int N,double *h,double *g,double *c0,double *c,double *d);
void wr(int N,double *h,double *g,double *c, double *d,double *cd);
void main()
{
double fk[N0],c0[N0],c[N0],d[N0];
double h[8],g[8],hh[8],gg[8];
float fk0[N0];
FILE *fp;
int i,k,j,n,l,N;
fp=fopen("wdata.dat","rt");
fscanf(fp,"%d",&N);
for(k=0;k<N;k++) fscanf(fp,"%f",&fk0[k]);
fclose(fp);
db4(h,g,hh,gg);
for(k=0;k<N;k++) {
c0[k]=fk0[k];
c[k]=0;
d[k]=0;
}
wd(N,hh,gg,c0,c,d);
wr(N,hh,gg,c,d,c0);
for(k=0;k<N;k++) printf("k=%d c0=%f c=%f\n",k,fk0[k],c0[k]);
return;
}
void wd(int N,double *h,double *g,double *c0,double *c,double *d)
/* wavelet decomposition */
{
int k,n,k2
展開 180基于matlab的頻率切片小波變換程序(FTWT) ¥25.9
基于matlab的頻率切片小波變換程序(FTWT)。從一種新的角度出發,通過自由選擇頻率切片函數、引進新尺度參數,在頻率域實現小波變換,該變換能夠很好地刻畫信號各成分之間的相對能量關系。此外,頻率切片小波變換的時頻窗中心頻率就是觀測頻率,而無需進行尺度換算。程序已調通,可直接運行。
小波變換03pywavelets詳解
01 單層小波變換
data:進行小波變換的原信號;
wavelet:選擇小波基函數的類型
mode:信號擴展方法
關于mode的詳細說明:
在小波變換之前,需要對原信號進行擴展,擴展有很多種方式:
可以更直觀一點:
02 多層小波變換
level:指定分解的層數,如果不定義,則使用允許的最多層數
data_len:原信號的長度(元素個數)
filte_len:指定小波基函數的類型
03 小波逆變換
cA,cD:單層小波變換的輸出
coeffs:多層小波變換的輸出
04 實例展示
展開 
271 基于matlab的可調Q因子小波變換故障診斷 ¥25.9
基于matlab的可調Q因子小波變換故障診斷,可用在軸承、齒輪、活塞等故障診斷中,程序中包含了原始TQWT工具箱和軸承振動信號信號的譜包絡的求取。通過仿真數據、實際軸承數據說明了方法的效果。程序已調通,可直接運行。
基于第二代小波變換的轉子碰摩故障特征提取方法
實驗證明,即使采用較小支撐區間的此類小波,也可獲得理想的效果。另外,
為了獲得與原始信號相同的時間分辨率,采用單支重構的方法分別對逼近信號和細節信號處理,得到了轉子碰摩
故障的時域響應特征,為故障診斷和預示提供了一種分離故障時域特征的方法。
關鍵詞:第二代小波變換;碰摩;特征提取;重構
基于第二代小波變換的轉子碰摩故障特征提取方法.pdf
小波變換模極大值重建信號的源程序
這是用小波變換模極大值重建信號的源程序,數據是一心電信號,在matlab6。5下實現,來源于胡廣書的《現代信號處理教程》附屬光盤,現提供給大家供大家學習參考,濾波部分可以根據個人情況進行修改。
\小波變換在轉子動靜碰摩故障診斷中的應用
\小波變換在轉子動靜碰摩故障診斷中的應用<BR><Font color=#FF0000><B>.PS.:</B>該帖附件于2006-10-12 22:00:35被malong評為3星級,為發貼者加分60。</Font><BR><Font color=#FF0000><B>點評:</B></Font>
小波變換在轉子動靜碰摩故障診斷中的應用.rar