function WPANALYS, x,D,qmf ;+ ; NAME: ; WPANALYS ; ; PURPOSE: ; This function creates a dyadic table of all Wavelet Packet coefficients. ; ; CATEGORY: ; Wavelets. ; ; CALLING SEQUENCE: ; ; wp = WPANALYS(x,D,qmf) ; ; INPUTS: ; x = array of dyadic length n=2^J ; D = degree of finest frequency partition ; QMF = orthonormal quadrature mirror filter ; ; OUTPUTS: ; wp = array of Wavelet Packet Decompositions ; Coefficients for frequency interval ; [b/2^d,(b+1)/2^d] is stored in ; wp(WPACKET(d,b,n),d+1) ; ; SEE ALSO: ; wintwave (necessary for this procedure to get QMF), ; wpsynth, wpdnoise, wdndydhi, wdndydlo ; ; REFERENCE: ; title = {Signal processing and compression with wavelet packets}, ; author = {R.R. Coifman and Y. Meyer and S. Quake and M.V. Wickerhauser}, ; booktitle = {Progress in wavelet analysis and applications, ; Proceedings of the International Conference ``Wavelets and ; Applications", Toulouse, 1992}, ;editor = {Y. Meyer and S. Roques}, ;publisher = {Editions Frontieres}, ; year = 1993, ; pages = {77-93} ; ; MODIFICATION HISTORY: ; Written by: Amara Graps August, 1995 ;Translated from MatLab Wavelab routine: wpanalysis.m ;- n = N_ELEMENTS(x) wp = FLTARR(D+1,n) x = WSHASROW(x) ; wp(0, *) = TRANSPOSE(x) FOR dd=0, (D-1) DO BEGIN lson = 0 FOR b=0, (2^dd-1) DO BEGIN s = TRANSPOSE( wp(dd, WPACKET(dd,b,n))) hs = WDNDYDHI(s,qmf) ls = WDNDYDLO(s,qmf) wp(dd+1, WPACKET(dd+1,2*b+lson,n)) = TRANSPOSE(ls) wp(dd+1, WPACKET( dd+1,2*b+1-lson,n)) = TRANSPOSE(hs) lson=1-lson END ;for b END ;for dd ; ; Algorithm Source: WaveLab Version 0.600 ; WaveLab WWW site: http://playfair.stanford.edu/ ; WaveLab Questions? e-mail wavelab@playfair.stanford.edu RETURN, wp END ;***************************************************