(To be removed) Discrete cosine transform (DCT)
The dsp.DCT
System object™ will be removed in a future release. Use dct
instead. For more information, see Compatibility Considerations.
The DCT
object computes the discrete cosine
transform (DCT) of input.
To compute the DCT of input:
Define and set up your DCT object. See Construction.
Call step
to compute the DCT according to
the properties of dsp.DCT
. The behavior of
step
is specific to each object in the
toolbox.
Note
Starting in R2016b, instead of using the step
method to perform the operation defined by the System object, you can call the object with arguments, as if it were a function. For
example, y = step(obj,x)
and y = obj(x)
perform equivalent operations.
dct = dsp.DCT
returns a discrete cosine transform (DCT) object,
dct
, used to compute the DCT of a real or complex
input signal.
dct = dsp.DCT('
returns a DCT object, PropertyName
',PropertyValue
,
...)dct
, with each property set to
the specified value.

Method to compute sines and cosines Specify how the DCT object computes the trigonometric values as

step  Discrete cosine transform (DCT) of input 
Common to All System Objects  

release  Allow System object property value changes 
Note: This example runs only in
R2016b or later. If you are using an earlier release, replace each call to the
function with the equivalent step
syntax. For example,
myObject(x) becomes step(myObject,x).
Use DCT to analyze the energy content in a sequence:
x = (1:128).' + 50*cos((1:128).'*2*pi/40); dct = dsp.DCT; X = dct(x);
Set the DCT coefficients which represent less than 0.1% of the total energy to 0 and reconstruct the sequence using IDCT.
[XX, ind] = sort(abs(X),1,'descend'); ii = 1; while (norm([XX(1:ii);zeros(128ii,1)]) <= 0.999*norm(XX)) ii = ii+1; end disp(['Number of DCT coefficients that represent 99.9%',... 'of the total energy in the sequence: ',num2str(ii)]);
Number of DCT coefficients that represent 99.9%of the total energy in the sequence: 10
XXt = zeros(128,1); XXt(ind(1:ii)) = X(ind(1:ii)); idct = dsp.IDCT; xt = idct(XXt); plot(1:128,[x xt]); legend('Original signal','Reconstructed signal',... 'location','best');
This object implements the algorithm, inputs, and outputs described on the DCT block reference page. The object properties correspond to the block parameters.