Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# dsp.IDCT System object

Package: dsp

Inverse discrete cosine transform (IDCT)

## Description

The IDCT object computes the inverse discrete cosine transform (IDCT) of an input.

To compute the IDCT of an input:

1. Define and set up your IDCT object. See Construction.

2. Call step to compute the IDCT of an input according to the properties of dsp.IDCT. The behavior of step is specific to each object in the toolbox.

## Construction

H = dsp.IDCT returns a inverse discrete cosine transform (IDCT) object, H. This object computes the IDCT of a real or complex input signal using the Table lookup method.

H = dsp.IDCT('PropertyName',PropertyValue,...) returns an inverse discrete cosine transform (IDCT) object, H, with each property set to the specified value.

## Properties

 SineComputation Method to compute sines and cosines Specify how the IDCT object computes the trigonometric function values as Trigonometric function or Table lookup. You must set this property to Table lookup for fixed-point inputs. The default is Table lookup.

## Methods

 clone Create inverse discrete cosine transform object with same property values getNumInputs Number of expected inputs to step method getNumOutputs Number of outputs of step method isLocked Locked status for input attributes and nontunable properties release Allow property value and input characteristics changes step Inverse discrete cosine transform (IDCT) of input

## Examples

Use DCT to analyze the energy content in a sequence:

```x = (1:128).' + 50*cos((1:128).'*2*pi/40);
hdct = dsp.DCT;

X = step(hdct, 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)]);
XXt = zeros(128,1);
XXt(ind(1:ii)) = X(ind(1:ii));
hidct = dsp.IDCT;
xt = step(hidct, XXt);

plot(1:128,[x xt]);
legend('Original signal','Reconstructed signal',...
'location','best'); ```

## Algorithms

This object implements the algorithm, inputs, and outputs described on the IDCT block reference page. The object properties correspond to the block parameters.