matlab中離散楔的原理,matlab中離散小波的原理

2021-03-22 04:10:28 字數 3074 閱讀 8457

1樓:

"我感覺matlab離散的原理好像和書中的那些原理沒半毛錢關係?"笑翻了,哇咔咔,你才發現啊?這是小波參考書的通病,也是容易讓人抓狂的難點,就是小波理論的示意性理解與實際實現演算法總是被混為一談,實際這兩者有時真的沒半毛錢關係都沒有,完全是兩個領域的問題。

在matlab中cwt理論的理解是用你上面的第一段的描述解釋的,然而其實現的演算法是用cwt函式幫助文件中的公式進行的,即先算小波函式的積分求差,再乘1/尺度的開方,而這公式的計算實際上是用卷積運算來完成小波的平移,用乘1/不同尺度的開方來完成小波的伸縮的。你上面的第一段的描述是理論解釋,它是示意性的,要實現則要將其轉化為那個公式,而要計算那個公式主要就是積分、求差、卷積和乘1/尺度的開方來操作的,這一系列的運算其理論解釋就是為了實現你上面的第一段的描述。

如果小波分析就到這裡,那麼dwt是不是就在cwt的基礎上取離散尺度就行了?而實際dwt的應用遠遠多於cwt,也更復雜,也不是從cwt中取離散就行了,其原因就是mallat演算法的引入,這才又將小波的應用轉向了濾波器的研究。mallat演算法是dwt最為光輝燦爛的地方,可以將訊號分為高頻細節和低頻逼近,這是為了適應訊號處理的某些應用而提出的。

cwt中尺度2,4,8.。。。的小波係數的資訊對應的是dwt1,2,3.。。。階的高頻小波細節係數的資訊,也就是沒有低頻逼近,這樣cwt的應用就很受限制了。

所以dwt引入了mallat演算法,而牽扯到頻率問題很自然想到了訊號處理的濾波器。因此,通過二尺度方程,dwt的問題就轉換為濾波器設計的問題了。

dwt的實現是由根據小波函式和尺度函式設計的濾波器完成的,用濾波器的卷積完成小波的平移,由資料量減半完成尺度的伸長。這些問題你還是要參看那本濾波器的書。至於dwt頻率計算的問題可以參看http:

有很詳細的解答,要分逼近和細節的。

路漫漫兮,你還要上下求索啊!

如何用matlab進行離散小波分解

matlab 離散小波變換的階數與尺度的關係???

2樓:

呵呵!問題有意思。第一段的理解按照matlab的設定是完全正確的,j在dwt中就是階次(或叫層次),dwt1,2,3.。。。

階(層)對應cwt的尺度2,4,8.。。。。這樣隨著尺度的增加,可以認為低頻分的越來越低頻,越接近真實訊號的總體趨勢。

第二段,中的尺度真的就是通常生活中尺度的意思,就是大小,例如汽車就是比自行車大,就這麼個意思。這種理解更貼近於cwt對大小的理解,訊號的波長長,頻率低,就是尺度大的意思。在dwt中都為了避免這問題產生歧義不使用尺度而直接用階次一詞,這本書的作者可能不夠專業,這類人通常將cwt的尺度用於dwt的解釋中,是很讓人抓狂的,只能說明不太嚴謹,考慮不夠周全。

「較大尺度的訊號 進行小波變換,再選取其中的低頻部分在原尺度的1/2尺度上再進行小波變換。」這話相當外行,從表達到用詞都不嚴謹,很多專有的小波概念根本不懂,易產生歧義。按他的意思用matlab中dwt的設定可以改為,較低頻(長波長,大尺度)的訊號進行dwt,得到a1和d1,再選取a1d1中的低頻部分a1在原小波函式縮短1/2後再進行dwt,得到頻率更高的a2和d2(與matlab的設定相反,後面會有說明).

這樣就避免了尺度一詞對理解造成的困擾。

你可以看到這裡使用的是小波函式的縮短,而不是伸長,這恰好與matlab的設定相反。所以造成了dwt階次與cwt的尺度對應關係與matlab的設定不同。在dwt階次與cwt尺度或頻率的設定中一般是有兩種的,一種是以matlab使用的定義,它用小波函式的伸長做dwt,dwt1,2,3.。。。

階對應cwt的尺度2,4,8.。。。,先得到的a1d1頻率與其它ad相比最高,越向下分,頻率越低。另一種是出於數學公式推導的方便,設定與之恰好相反,用小波函式的縮短做dwt,a=1/2^j,例如dwt1,2,3。。。.

階對應cwt的尺度1/2,1/4,1/8。。。先得到的a1d1頻率最低,越向下分,頻率越高。

在非matlab的小波書籍中,尤其是數學推導較多的書中,為方便泛函空間的公式推導通常使用後一種的設定,這就造成對dwt階次和頻率變化理解的困擾,可笑的是很多文章連抄都不會抄,公式的推導用後一種,可描述解釋卻用前一種matlab的設定,簡直就是糟蹋行當,悲哉!

matlab小波分解與重構

3樓:匿名使用者

s=zeros(1,100);

s(50:100)=1;

subplot(2,2,1);plot(s); title('原始訊號

離散小波變換matlab程式 5

4樓:匿名使用者

% 讀入wbarb訊號

load wbarb;

%顯示影象

5樓:堂希榮薄鳥

小波變換圖象粒子聚焦matlab程式

希望對你有用

matlab中離散小波變換的預設擴充套件模式是怎麼樣的

6樓:

參考dwtmode和wextend 函式滴幫助文件,預設擴充套件模式是sym,所以這圖貌似沒錯,db2濾波器組的確是4個數,卷積後得10個數,儲存偶數序號滴5數,即z2這列,z4這列,。。。z10這列,既為dwt後小波係數結果,不知你是**有出入,又如何個出入?

怎樣用matlab做影象的離散小波變換?

7樓:匿名使用者

用matlab自帶的小波工具箱~圖形化介面比較方便

要不直接用裡面現成的函式也成

matlab中離散小波變換的預設擴充套件模式是怎麼樣的

參考dwtmode和wextend 函式滴幫助文件,預設擴充套件模式是sym,所以這圖貌似沒錯,db2濾波器組的確是4個數,卷積後得10個數,儲存偶數序號滴5數,即z2這列,z4這列,z10這列,既為dwt後小波係數結果,不知你是 有出入,又如何個出入?怎麼用matlab實現小波變換?急!yc,ys...

怎麼在matlab中執行c程式,怎麼在matlab中呼叫用c語言編寫的程式?

1.準備好c語言程式,清楚c語言的入口函式 2.編寫mexfunction函式。mexfunction函式為c語言與matlab語言的介面函式。呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。3.編譯完成後,生成mylinedete...

matlab中怎麼輸入特殊符號,請問在Matlab中怎樣輸入特殊符號啊或者上標 下標?

下標用 下劃線 希臘字母等特殊字元用 加拼音 如 alpha beta gamma theta theta gamma delta delta xi xi elta epsilong zeta miu nu tau lamda lamda pi pi sigma sigma phi phi psi ...