DCT - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


SignalProcessing

  

DCT

  

compute forward discrete cosine transform

  

InverseDCT

  

compute inverse discrete cosine transform

 

Calling Sequence

Parameters

Options

Description

Thread Safety

Examples

Compatibility

Calling Sequence

DCT(A)

InverseDCT(A)

Parameters

A

-

Array of real numeric values; the signal

Options

• 

container : Array, predefined Array for holding results

• 

inplace   : truefalse, specifies that output should overwrite input

Description

• 

The DCT(A) command computes the discrete cosine transform (DCT) of the Array A and returns the result in an Array with datatype float[8].

• 

The InverseDCT(A) command computes the inverse discrete cosine transform of the Array A and returns the result in an Array with datatype float[8].

• 

Before the code performing the computation runs, A is converted to datatype float[8] if it does not have that datatype already. For this reason, it is most efficient if A has this datatype beforehand.

• 

The discrete cosine transform B of a sample of N elements with initial index 1 is defined by the formula

Bk=Cki=1NAicos2i1πk12N

  

where Ck is given by

Ck=1Nk=12Notherwise

• 

Samples may be of arbitrary length, but when the length is a power of 2, a faster algorithm is used,

• 

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. The container must be an Array having datatype float[8] and size equal to those of A.

• 

If the inplace or inplace=true option is provided, then A is overwritten with the results. In this case, the container option is ignored. Furthermore, A must have datatype float[8].

Thread Safety

• 

The SignalProcessing[DCT] and SignalProcessing[InverseDCT] commands are thread-safe as of Maple 17.

• 

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

Examples

withSignalProcessing:

withplots:

N10:

AGenerateToneN,1,0.1,0+GenerateToneN,3,0.4,0.2:

BDCTA

B

(1)

displaylistplotA,title=Signal,listplotB,title=Cosine Transform

CInverseDCTB

C

(2)

mapfnormal,AC

(3)

AGenerateJaehne10,3

A

(4)

CArray1..10,datatype=float8:

DCTA,container=C

(5)

C

(6)

InverseDCTC,inplace

(7)

C

(8)

mapfnormal,AC

(9)

Compatibility

• 

The SignalProcessing[DCT] and SignalProcessing[InverseDCT] commands were introduced in Maple 17.

• 

For more information on Maple 17 changes, see Updates in Maple 17.

See Also

SignalProcessing[DFT]

SignalProcessing[DWT]

SignalProcessing[FFT]