matlab 小波包分解與重構,MATLAB 小波包分解與重構

2021-04-19 22:26:10 字數 2140 閱讀 8150

1樓:匿名使用者

先對各節點的係數進行求平方和,一般來說,值比較大的即為在那節點對應頻段內能量較大的,即可容

作為所說的特徵尺度,利用wprcoef即可對任一節點進行重構,即結果為只含有節點對應頻段的訊號,不知這樣解釋是否清楚

2樓:匿名使用者

我想問你可以給我小波包分解的程式參考一下嗎?我也在做這部分,相信你已經完成了,幫我個忙,謝了!

matlab小波包分析的分解係數和重構係數代表什麼含義?

3樓:

小波分析中只有分解係數,即小波係數,沒有重構係數一詞,因為重構後就是與原始訊號同大小的訊號了,已經是具有實際量綱意義的訊號了,而不是沒有量綱的係數。

超越頻寬是正常的事,因為dwt的計算都是用濾波器進行的,而實際應用中是沒有有理想磚牆效應的濾波器的,即濾波後的結果是不會精準的去掉你要濾去的頻率的,總會有很少的殘餘,或無中生有產生原來沒有的頻率。

中心頻率在小波分析中只有一個意思就是某種小波基的中心頻率,各頻帶只有頻率沒有中心頻率。對於cwt小波基的中心頻率可以用來算小波時頻圖。對於dwt你可以直接使用fft計算個頻帶的頻率,其頻帶劃分可以通過取樣定理劃分。

你計算的是絕對能量,通常應計算相對比重的能量,用wenergy函式,各個頻段加起來和為100。

比較重構訊號的fft幅值,在哪個頻段大是的確就說明該重構訊號頻率成分主要是這一頻段的。

問題太多,5分?簡直在糟蹋行當。

matlab小波包和小波分析

4樓:

問題1是對

的;問題2也是對的;

問題3的前半部分,對於頻段的計算也是對的,但是「比較各個頻段的幅值,就可知道訊號的頻率成分」是錯的。小波變換不是純頻域的方法,所以通常的應用是不合適用頻率描述分析的,到了計算結果的頻段這一步已經就完成了。你要得到各個層次結果的頻率值需要將各個層次的結果做fft,然後根據你前面的各個頻段算出fft後的頻率值,還要使用centfrq函式算出各層分解時所用小波基的中心頻率,然後在fft的結果中識別出不是中心頻率引起的那些幅值較高的頻率值,將所有分解層次的所有結果的所有fft結果的所有這些頻率值識別出來才是訊號的頻率成分,而且其中多半會帶有原始訊號沒有的假頻率,這些頻率是小波包分解運算時產生的,所以,你看初學小波的人總是喜歡用小波分解去算訊號的頻率,實際上小波分析根本就不是這麼用的,matlab中小波分析就很少和頻率掛鉤,建議你別再和頻率較勁了,那是純頻域的概念,我覺得甚至不適合來描述小波的概念。

最後的問題,除了0~fn/2^n頻段是近似係數,其它所用頻段都是細節係數,但這時候可能已經不能用「高頻」這個詞描述了,因為可能這些細節係數的頻率也並不高了,所以用細節係數更適合。

matlab做小波包分解後橫座標縱座標的含義是什麼?

5樓:lonly灬

這兩幅圖不是一起的吧。一般小波包分解的結果(小波包係數)沒有什麼意義,都是看小波包係數重構後的訊號。右邊橫座標一定是取樣點數,可以表示時間。縱座標與原始訊號縱座標一樣。

6樓:卜項離

橫座標是點數,一般代表時間意義,時間單位與取樣頻率相關,縱座標是幅值,具體代表什麼物理含義看原訊號的意義,比如說電壓幅值,電流值,或者分貝之類的

7樓:若水唔

請問這個圖是怎麼畫出來的啊??感謝,萬分感謝!

matlab中怎樣實現多層小波重構?

8樓:匿名使用者

t=wpdec(y,5,'db40');

%對訊號y進行小波包分解

,層數為5,得到的t為小波樹,plot一下就可看到a10=wprcoef(t,[1,0]);

%a10是對節點[1,0]進行重構後得到的訊號。貌似沒有對那一層重構這一說法吧,只能是對某層的某個節點進行重構。節點的編號你可以從小波樹中看出來

這是我的做法,不過用的是小波包分解。不知對你有沒有用

9樓:匿名使用者

對最滿意答案新增一下:可以重構任一節點的訊號,也就是相當於選定任一頻段的訊號進行重構,一般都是選擇自己關心的頻段,在故障診斷中運用的比較多,把所有節點的訊號重構後可以方便地看出問題的所在

怎麼用matlab小波包分解

波包的量子波包理論,量子力學中,是否可將波包中心的運動軌跡就是粒子的運動軌跡

在量子力學建立之初,波粒二象性被提出之後,對它的解釋曾有過很大的爭議。是否可以認為粒子就是波包呢?答案是否定的,由於根據德布羅意關係 h p,e h,若假設粒子就是波包,則組成粒子的群速度不僅不等於相速度,而且彼此之間的相速度也各不相同,造成波包在傳播過程中擴散,這意味著粒子會在運動中自動解體,這顯...

MATLAB中的m檔案怎麼把字尾 M改成小寫的 m

1 檢查抄 語法 襲 jdbc mysql hostname port dbname param1 value1 m2 value2 示例 jdbc mysql localhost 檢查資料bai庫驅動,看du 是不zhi是沒驅動或驅動不對dao matlab 的 m 檔案的命名區不區分大小寫的 變...

如何用matlab產生0到1之間的隨機小數

用rand命令可以產生0到1之間的隨機小數,如 a rand 3 結果是 a rand 1 表示1個0 1間隨機小數,rand 3 表示3 3的矩陣裡面裝的都是0 1的隨機小數,rand 2,4 表示2 4的矩陣。matlab 函式 rand 產生在區間 0,1 的均勻隨機數,它是平均分佈在 0,1...