導航:首頁 > 源碼編譯 > 小波分解演算法

小波分解演算法

發布時間:2023-03-24 22:58:14

『壹』 小波演算法

Function wavelet(s,wname,n,options);
Begin
{
功能:
一維序列小波消噪。
參數:
s:一維序列
wname:小波函數名
現有小波函數名(小波函數的選取依靠經驗)
Daubechies:
'db1' , 'db2', ... ,'db45' 'db1' 就是haar 小波函數

Coiflets :
'coif1', ... , 'coif5'
Symlets :
'sym2' , ... , 'sym8'
Biorthogonal:
'bior1.1', 'bior1.3' , 'bior1.5'
'bior2.2', 'bior2.4' , 'bior2.6', 'bior2.8'
'bior3.1', 'bior3.3' , 'bior3.5', 'bior3.7'
'bior3.9', 'bior4.4' , 'bior5.5', 'bior6.8'.
Reverse Biorthogonal:
'rbio1.1', 'rbio1.3' , 'rbio1.5'
'rbio2.2', 'rbio2.4' , 'rbio2.6', 'rbio2.8'
'rbio3.1', 'rbio3.3' , 'rbio3.5', 'rbio3.7'
'rbio3.9', 'rbio4.4' , 'rbio5.5', 'rbio6.8'.

n :分解層數
options : 選項
選擇欄位說明
array('brief':1, // 默認為1 採用簡單剔除高頻諧波 達到消噪的目的
// 如果為 0 採用估計序列噪音標准差剔除噪音,
'sigma':0, // 為0 默認採用 序列的高階諧波估計標准差;也可自己輸入值
'which':1, // 以 某一層諧波作為噪音估計的數據,默認第一層
'alpha':2, // 閾值懲罰系數,默認為2
"thr":0, // 閾值大小,默認0 採用諧波估計,也可以直接給出
'sorh':'s', // 閾值方式設置,'s' 軟閾值,'h'硬閾值 默認為's'
);

返回結果:
一維數字數組,消噪後的序列。
範例:
s := array(2484.82690429688,2479.05493164063,2482.34301757813,2437.794921875,
2447.7548828125,2512.962890625,2443.05688476563,2433.15893554688,
2393.18310546875,2415.05395507813,2392.06201171875,2365.34301757813,
2359.21997070313,2344.787109375,2348.51611328125,2420.00,2438.7900390625,
2431.375,2440.40209960938,2383.48510742188,2377.51196289063,2331.36596679688,
2317.27490234375,2370.3330078125,2409.67211914063,2427.47998046875,
2435.61401367188,2473.40991210938,2468.25,2470.01904296875,2504.10791015625,
2508.09008789063,2528.2939453125,2509.79907226563,2503.8359375,2524.9189453125,
2479.53588867188,2481.083984375,2528.71411132813,2529.76098632813,2466.958984375,
2463.0458984375,2416.56201171875,2415.1298828125,2412.625,2395.06494140625,
2397.55395507813,2380.22412109375,2383.03393554688,2412.39306640625,
2333.4140625,2386.86010742188,2360.6640625,2333.22900390625,2325.90502929688,
2332.72998046875,2329.82006835938,2315.27001953125,2291.544921875,2248.59008789063,
2228.52490234375,2180.89501953125,2224.84008789063,2218.23510742188,2215.92993164063,
2191.14794921875,2186.29711914063,2204.78393554688,2190.11010742188,2166.205078125,
2170.01293945313,2173.56103515625,2199.4169921875,2169.38989257813,2148.45190429688,
2163.39501953125,2225.88989257813,2285.74389648438,2276.0458984375,2275.01000976563,
2244.580078125,2206.19311523438,2298.3759765625,2266.38403320313,2296.07495117188,
2319.11791992188,2285.0380859375,2292.61010742188,2268.080078125,2312.55590820313,
2330.40502929688,2331.13598632813,2291.90209960938,2347.53002929688,2349.58911132813,
2351.98095703125,2351.85498046875,2344.77099609375,2366.70190429688,2356.86010742188,
2357.18090820313,2363.59692382813,2381.42993164063,2403.5869140625,2409.55395507813,
2439.6279296875,2447.05688476563,2451.85693359375,2428.48706054688,2426.11499023438,
2460.69311523438);
n := 2;
options := array('brief':1,'sigma':0,'which':1,'alpha':2,"thr":0,'sorh':'s');
return wavelet(s,wname,n,options) ;

天軟數學組
20120627
}

if not ifarray(options) then options := array();
defaut := wavedefaut() union options;
cout := 4;
cl:=wavedec(s,n,wname); //小波分解
if defaut['brief']=1 then
ret :=wrcoef('a',cl[0],cl[1],wname,n);
else
begin
//***************小波消噪*************************************************
k := defaut['which']; //標准差估計選項 ,k 為 1 到 n的整數 默認為1;
if defaut['sigma']=0 then sigma := wnoisest(cl[0],cl[1],k);
else //通過小波第k層細節系數(諧波)估計 ,噪音標准差
sigma := defaut['segma'];
if defaut['alpha']=0 then alpha :=2; // alpha 懲罰因子 大於1 的數 一般為默認2;
else alpha := defaut['alpha'];
if defaut['thr']=0 then
thr := wbmpen(cl[0],cl[1],sigma,alpha); //噪音信號全局閾值
else thr := defaut['thr'];
sorh := defaut['sorh'];
ret:=wdencmp('gbl',cl[0],cl[1],wname,n,thr,sorh)[0]; //採用軟閾值和近似信號進行消噪;
end //第一個參數為'gbl'為擴展介面備用,可以隨意輸入
return ret;
end;
function wavedefaut();
begin
return array('brief':1,'sigma':0,'which':1,'alpha':2,
"thr":0,'sorh':'s'
);

end

『貳』 小波演算法是什麼

王衛國 郭寶龍

(西安電子科技大學機電工程學院,西安 710071)

摘 要 隨著互聯網的普及和圖象應用范圍的不斷擴大,對圖象的編碼提出了新的要求,即不僅要求具有高的壓縮比,還要求有許多新的功能,如漸進編解碼、從有損壓縮到無損壓縮等。嵌入式零樹小波編碼較好地實現了這一思想,因此奠定了它在圖象編碼中的地位。近年來,在嵌入式零樹小波編碼(EZW)演算法的基礎上出現了許多新的改進演算法,如多級樹集合分裂演算法(SPIHT),集合分裂嵌入塊編碼(SPECK),可逆的嵌入小波壓縮法(CREW)等.本文對這些演算法從原理到性能進行了比較和討論,說明了嵌入式圖象編碼的研究方向。

關 鍵 詞 圖象編碼 嵌入式 零樹 小波變換

On Embedded Zerotree Wavelets Coding and other Improved Algorithms
WANG Wei-guo, GUO Bao-long

(School of Mechano-Electronic Engineering,Xidian Univ.,Xi』an 710071)

Abstract With the extensive application of internet and image,some new requirements on image coding,such as high compression rate ,pregressive codec,and compression from lossy to lossless ,are to be satisfied.These functions can be performed well by EZW(Embedded Zerotree Wavelets) coding.On the bases of EZW,many newly improved algorithms have been developed in recent years.They can illustrated by algorithms like SPIHT(Set Partitioning in Hierarchical Trees),SPECK(Set Partitioned Embedded block coder),In this paper,the writer discusses the principles and performances of these algorithms,thus explains the research tendency in the area of embedded image coding.

Keywords Image coding,Embedded,Zerotree,Wavelet transform

0. 引言

在基於小波變換的圖象壓縮方案中,嵌入式零樹小波 EZW(Embedded Zerotree Wavelets)[1]編碼很好地利用小波系數的特性使得輸出的碼流具有嵌入特性。它的重要性排序和分級量化的思想被許多編碼演算法所採用。近年來,在對EZW改進的基礎上,提出了許多新的性能更好的演算法,如多級樹集合分裂演算法(SPIHT :Set Partitioning In Hierarchical Trees)[2],集合分裂嵌入塊編碼(SPECK:Set Partitioned Embedded bloCK coder),可逆嵌入小波壓縮演算法(CREW:Compression with Reversible Embedded Wavelets)[3] 。本文對這些演算法進行了原理分析、性能比較,說明了嵌入式小波圖象編碼的研究方向。

『叄』 正交小波包分解演算法及其頻域表現

這里仍以V0分解成3層的空間分解及其數據A0的分解為例來說明小波包分解演算法。下面將用U0表示V0,稱A0是表現U0的數據。用正交小波分解中的運算元H和G,按圖6-34的方法形成小波包數據,圖6-35則表示了與圖6-34相對應的小波包子空間分解結構關系。飢腔圖中的子空間標記,例如U1,2和U2,2,其遲山下標分別表示分解層次與子空間的順序,則U0的第一層分解,有2個子空間,第2層分解有4個子空間,第3層分解共有8個子空間。

圖6-34 小波包數據分解關系

圖6-35 小波包數據分解結構

弄清圖6-35中各子空間的相互關系是重要的。由於正交小波分解中運算元H和G的作用,在第1層分解中,有

U0=U1,1⊕U1,2,U1,1⊥U1,2

類比可知第2層分解中,有

U1,1=U2,1⊕U2,2;U2,1⊥U2,2;U1,2=U2,3⊕U2,4,U2,3⊥U2,4

同樣類比,可知在第3層分解中有

U3,j=U2,2j-1⊕U2,2j,U2,2j-1⊥U2,2j

j=1,2,3,4。

另外,在同一尺度上的所有子空間都是正交的,例如,U2,1、U2,2、U2,3、U2,4是相互正交的,U3,1…U3,8是相互正交的。還有一些子空間是相互不正交的,例如,U0、U1,1、U2,2和U3,4它們互相不正交,U0、U1,2、U2,3和U3,5之間也互相不正交。總之,把H和G在正交小波分解中的作用類比到小波包情形,是不難弄清各子空間之間的正交性的。

弄清小波包子空間所對應的頻帶也是很重要的。從子空間對應頻帶相互不重疊的表現也可以了解子空間之間的正交性質。圖6-36僅表示了U1,2所對應頻帶的分解情形。

圖6-36 關於圖6-35小波子空間所對應的頻帶分析

總之,小波包可以從多個碼肢中方面去理解。從數據結構關系來看,它是一種二分樹結構;從數據分解關系來看,它是一種遞推演算法;從空間分解關系來看,它把正交小波分解的子空間做進一步細分;從頻域劃分來看,它將有限頻帶細分為若干更細頻帶的組合。

圖6-37 小波包重構演算法中的子空間組合及其所對應的時頻窗

『肆』 小波分析原理

小波(Wavelet)這一術語,顧名思義,「小波」就是小的波形。所謂「小」是指它具有衰減性;而稱之為「波」則是指它的波動性,其振幅正負相間的震盪形式。與Fourier變換相比,小波變換是時間(空間)頻率的局部化分析,它通過伸縮平移運算對信號(函數)逐步進行多尺度細化,最終達到高頻處時間細分,低頻處頻率細分,能自動適應時頻信號分析的要求,從而可聚焦到信號的任意細節,解決了Fourier變換的困難問題,成為繼Fourier變換以來在科學方法上的重大突破。有人把小波變換稱為「數學顯微鏡」。
小波函數源於多分辨分析,其基本思想是將擴中的函數f(t)表示為一系列逐次逼近表達式, 其中每一個都是f(t)動經過平滑後的形式,它們分別對應不同的解析度。多分辨分析又稱多尺度分析,是建立在函數空間概念基礎上的理論,其思想的形成來源於工程。創建者Mallat .S是在研究圖像處理問題時建立這套理論的。當時人們研究圖像的一種很普遍的方法是將圖像在不同尺度下分解,並將結果進行比較,以取得有用的信息。Meyer正交小波基的提出,使得Mallat想到是否用正交小波基的多尺度特性將圖像展開,以得到圖像不同尺度間的「 信息增量」 。這種思想導致了多分辨分析理論的建立。MRA不僅為正交小波基的構造提供了一種簡單的方法,而且為正交小波變換的快速演算法提供了理論依據。其思想又同多采樣率濾波器組不謀而合,使我們又可將小波變換同數學濾波器的理論結合起來。因此,多分辨分析在正交小波變換理論中具有非常重要的地位。
小波分析的應用是與小波分析的理論研究緊密地結合在一起地。它已經在科技信息產業領域取得了令人矚目的成就。 電子信息技術是六大高新技術中重要的一個領域,它的重要方面是圖像和信號處理。現今,信號處理已經成為當代科學技術工作的重要部分,信號處理的目的就是:准確的分析、診斷、編碼壓縮和量化、快速傳遞或存儲、精確地重構(或恢復)。從數學地角度來看,信號與圖像處理可以統一看作是信號處理(圖像可以看作是二維信號),在小波分析地許多分析的許多應用中,都可以歸結為信號處理問題。對於其性質隨時間是穩定不變的信號,處理的理想工具仍然是傅立葉分析。但是在實際應用中的絕大多數信號是非穩定的,而特別適用於非穩定信號的工具就是小波分析。

閱讀全文

與小波分解演算法相關的資料

熱點內容
二戰蘇日電影 瀏覽:37
台灣販賣婦女的電影 瀏覽:66
監控網頁端監控源碼 瀏覽:888
蘋果m1晶元前端開發編程問題 瀏覽:578
無法訪問共享文件夾找不到路徑 瀏覽:243
李恩美主演電影全集 瀏覽:665
主角是科技天才被國家保護的小說 瀏覽:703
電影院和好友老公親熱 瀏覽:883
長在脖子上像睾丸的電影 瀏覽:914
男主人公是醫生的一部韓國電影 瀏覽:336
投原子彈的電影 瀏覽:708
日本電影自行車反轉有個女的坐在上面 瀏覽:125
java瘋狂講義3 瀏覽:198
古裝4級片 瀏覽:386
清朝十部頂級電影 瀏覽:987
泰國鬼片哪兒看 瀏覽:587
電影睡起你的墳墓 瀏覽:968
有關動物的真人版英文電影 瀏覽:47
怎麼寫演算法設計 瀏覽:44
我的世界怎麼用命令方塊造城門 瀏覽:36