dct
Дискретное косинусоидальное преобразование.
| Библиотека |
|
Аргументы
Входные аргументы
#
x —
входной массив
вектор | матрица | N-мерный массив
Details
Входной массив, заданный как вектор, матрица или многомерный массив с вещественными или комплексными значениями.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
n —
длина преобразования
положительный целочисленный скаляр
Details
Длина преобразования, заданная как положительный целочисленный скаляр.
| Типы данных |
|
Выходные аргументы
#
y —
дискретное косинусоидальное преобразование
вектор | матрица | N-мерный массив
Details
Дискретное косинусоидальное преобразование, возвращаемое в виде вещественного или комплексного вектора, матрицы или многомерного массива.
Примеры
Энергия, сохраненная в коэффициентах ДКП
Details
Определим, сколько коэффициентов ДКП представляют 99% энергии в последовательности.
import EngeeDSP.Functions: dct, norm
x = (1:100) .+ 50 .* cos.((1:100) .* 2π / 40) .^ 3
X = dct(x)
XX = sort(abs.(X), rev = true)
ind = sortperm(abs.(X), rev = true)
i = 1
while (norm(X[ind[1:i]]) / norm(X))^2 < 0.99
global i += 1
end
needed = i
Восстановим сигнал и сравним его с исходным.
import EngeeDSP.Functions: idct
X[ind[needed+1:end]] .= 0
xx = idct(X)
plot(1:100, x, label = "Original", legend = :bottomright)
plot!(1:100, xx, label = "Reconstructed, N = $needed")
Дополнительно
Дискретное косинусоидальное преобразование
Details
Дискретное косинусоидальное преобразование (ДКП) тесно связано с дискретным преобразованием Фурье. Часто последовательность можно очень точно восстановить, используя всего несколько коэффициентов ДКП. Это свойство полезно для приложений, требующих обработки данных.
ДКП имеет четыре стандартных варианта. Для данной функции реализован только тип ДКП-2. Для сигнала длины и символа Кронекера преобразования определяются следующим образом:
-
ДКП-1:
-
ДКП-2:
-
ДКП-3:
-
ДКП-4:
Ряды индексируются от и вместо обычных и , поскольку векторы Engee изменяются от до , а не от до .
Все варианты ДКП унитарны (или, что эквивалентно, ортогональны): чтобы найти их обратные значения, поменяйте местами и в каждом определении. ДКП-1 и ДКП-4 являются обратными друг другу. ДКП-2 и ДКП-3 являются обратными друг другу.
Литература
-
Jain, A. K. Fundamentals of Digital Image Processing. Englewood Cliffs, NJ: Prentice-Hall, 1989.
-
Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.
-
Pennebaker, W. B., and J. L. Mitchell. JPEG Still Image Data Compression Standard. New York: Van Nostrand Reinhold, 1993.