(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.
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(128-ii,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.