Contenido principal

idct

Transformada de coseno discreta inversa

Descripción

x = idct(y) devuelve la transformada de coseno discreta inversa del arreglo de entrada y. La salida x es del mismo tamaño que y. Si y tiene más de una dimensión, idct actúa a lo largo de la primera dimensión del arreglo con un tamaño mayor que 1.

ejemplo

x = idct(y,n) rellena de ceros o trunca la dimensión relevante de y a la longitud n antes de la transformación.

x = idct(y,n,dim) calcula la transformada a lo largo de la dimensión dim. Para introducir una dimensión y utilizar el valor predeterminado de n, defina el segundo argumento como vacío, [].

y = idct(___,'Type',dcttype) especifica el tipo de transformada de coseno discreta inversa que calcular. Para obtener más detalles, consulte Transformada de coseno discreta inversa. Esta opción puede combinarse con cualquiera de las sintaxis anteriores.

ejemplo

Ejemplos

contraer todo

Genere una señal compuesta por una sinusoide de 25 Hz muestreada a 1000 Hz durante 1 segundo. La sinusoide está integrada en ruido blanco gaussiano con varianza 0,01.

rng('default')

Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = sin(2*pi*25*t) + randn(size(t))/10;

Calcule la transformada de coseno discreta de la secuencia. Determine cuántos de los 1000 coeficientes de la DCT son significativos. Elija 1 como umbral de relevancia.

y = dct(x);

sigcoeff = abs(y) >= 1;

howmany = sum(sigcoeff)
howmany = 
17

Reconstruya la señal únicamente con los componentes significativos.

y(~sigcoeff) = 0;

z = idct(y);

Represente la señal original y la señal reconstruida.

subplot(2,1,1)
plot(t,x)
yl = ylim;
title('Original')

subplot(2,1,2)
plot(t,z)
ylim(yl)
title('Reconstructed')

Figure contains 2 axes objects. Axes object 1 with title Original contains an object of type line. Axes object 2 with title Reconstructed contains an object of type line.

Verifique que las diferentes variantes de la transformada de coseno discreta sean ortogonales mediante una señal aleatoria como referencia.

Comience por generar la señal.

s = randn(1000,1);

Verifique que la DCT-1 y la DCT-4 sean sus propias inversas.

dct1 = dct(s,'Type',1);
idt1 = idct(s,'Type',1);

max(abs(dct1-idt1))
ans = 
1.3323e-15
dct4 = dct(s,'Type',4);
idt4 = idct(s,'Type',4);

max(abs(dct4-idt4))
ans = 
1.3323e-15

Verifique que la DCT-2 y la DCT-3 sean inversas entre sí.

dct2 = dct(s,'Type',2);
idt2 = idct(s,'Type',3);

max(abs(dct2-idt2))
ans = 
4.4409e-16
dct3 = dct(s,'Type',3);
idt3 = idct(s,'Type',2);

max(abs(dct3-idt3))
ans = 
1.1102e-15

Argumentos de entrada

contraer todo

Transformada de coseno discreta de entrada, especificada como vector de valor real o valor complejo, matriz o arreglo N-D.

Ejemplo: dct(sin(2*pi*(0:255)/4)) especifica la transformada de coseno discreta de una sinusoide.

Ejemplo: dct(sin(2*pi*[0.1;0.3]*(0:39))') especifica la transformada de coseno discreta de una sinusoide de dos canales.

Tipos de datos: single | double
Soporte de números complejos:

Longitud de la transformada inversa, especificada como escalar entero positivo.

Tipos de datos: single | double

Dimensión sobre la que se desea operar, especificada como escalar entero positivo.

Tipos de datos: single | double

Tipo de transformada de coseno discreta inversa, especificado como escalar entero positivo de 1 a 4.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Transformada de coseno discreta inversa, especificada como vector de valor real o valor complejo, matriz o arreglo N-D.

Más acerca de

contraer todo

Referencias

[1] Jain, A. K. Fundamentals of Digital Image Processing. Englewood Cliffs, NJ: Prentice-Hall, 1989.

[2] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.

[3] Pennebaker, W. B., and J. L. Mitchell. JPEG Still Image Data Compression Standard. New York: Van Nostrand Reinhold, 1993.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

Consulte también

| (Image Processing Toolbox) | (Image Processing Toolbox) |