compute forward discrete wavelet transform - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Science and Engineering : Signal Processing : Transforms : SignalProcessing/DWT

SignalProcessing[DWT] - compute forward discrete wavelet transform

SignalProcessing[InverseDWT] - compute inverse discrete wavelet transform

Calling Sequence

DWT(A)

InverseDWT(A1, A2)

Parameters

A

-

Array of real numeric values; the signal

A1, A2

-

Arrays of real numeric values corresponding to the low and high frequency components of the signal

Description

• 

The DWT(A) command computes the Haar discrete wavelet transform (DWT) of the Array A and returns a sequence of two Arrays with datatype float[8] and containing the low-frequency and high-frequency components respectively. The number of elements in A must be even, and each of the result Arrays will have half as many elements.

• 

The InverseDWT(A1, A2) command computes the inverse Haar discrete wavelet transform from the Arrays A1 and A2 containing low and high frequency components.  It returns the results in an Array with datatype float[8]. The length of A1 and A2 must be the same, and the size of the result Array will be twice this length.

• 

Before the code performing the computation runs, the input Array(s) are converted to datatype float[8] if they do not have that datatype already. For this reason, it is most efficient if the input Array(s) have this datatype beforehand.

• 

If the container=C option is provided, then the results are put into C and C is returned. With this option, no additional memory is allocated to store the result. With the forward transform, the container must be a list of two Arrays with datatype float[8] and size equal to half that of A. With the inverse transform, the container must be a single Array with datatype float[8] and size equal to twice that of the input Arrays.

Thread Safety

• 

The SignalProcessing[DWT] and SignalProcessing[InverseDWT] commands are thread-safe as of Maple 17.

• 

For more information on thread safety, see index/threadsafe.

Examples

withSignalProcessing:

withplots:

N:=10:

A:=GenerateToneN,1,0.1,0+GenerateToneN,3,0.4,0.2:

B1:=Array1..N2,'datatype'='float'8:

B2:=Array1..N2,'datatype'='float'8:

DWTA,'container'=B1,B2

1.010110234224420.9085716845155230.4485820519780771.185810639381150.284289227380716,2.930089499299310.8758542792968682.388781785501802.352202614443640.935040621349269

(1)

B1;B2

1.010110234224420.9085716845155230.4485820519780771.185810639381150.284289227380716

2.930089499299310.8758542792968682.388781785501802.352202614443640.935040621349269

(2)

displaylistplotA,'title'=Signal,listplotB1,'title'=Low,listplotB2,'title'=High

C:=InverseDWTB1,B2

C:=3.940199733523731.919979265074891.784425963812390.03271740521865452.837363837479881.940199733523733.538013253824791.166391975062490.6507513939685531.21932984872999

(3)

mapfnormal,AC

0.0.0.0.0.0.0.0.0.0.

(4)

See Also

DiscreteTransforms/DiscreteWaveletTransform, SignalProcessing[DCT], SignalProcessing[DFT], SignalProcessing[FFT]


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam