Engee 文档

idct

逆离散余弦变换。

库::`工程师`

语法

函数调用

  • [参数:x]=idct(<参数:y>>) -返回输入数组的逆离散余弦变换 [参数:y]. 输出数组的大小 [参数:x] 匹配的大小 [参数:y]. 如果 [参数:y] 它有几个维度,功能 idct 对数组的第一维执行操作,该操作的大小较大 1.

争论

输入参数

# y 是 输入离散余弦变换

+ 向量资料 | 矩阵 | 一个N维数组

Details

输入离散余弦变换,定义为具有实数或复数值的向量、矩阵或N维数组。

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

# n 是 逆变换的长度

+ 正整数标量

Details

逆变换的长度,指定为正整数标量。

数据类型

漂浮物32, 漂浮64</无翻译>

输出参数

# x 是 逆离散余弦变换

+ 向量资料 | 矩阵 | 一个N维数组

Details

逆离散余弦变换,作为实数或复数向量、矩阵或N维数组返回。

例子:

使用反离散余弦变换进行信号恢复

Details

我们将产生一个由频率为 25 Hz,以频率采样 1000 Hz期间 1 几秒钟。 将具有方差的白高斯噪声添加到正弦波中 0.01.

import EngeeDSP.Functions: randn

using Random
Random.seed!(1234)

Fs = 1000
t = 0:1/Fs:1-1/Fs
x = sin.(2π * 25 * t) + randn(length(t), 1) / 10

让我们计算序列的离散余弦变换(DCT)。 让我们来确定有多少 1000 准备系数是显着的。 让我们选择一个重要的门槛 1.

import EngeeDSP.Functions: dct

y=dct(x)

sigcoeff=abs。(y)。>= 1

howmany=sum(sigcoeff)
17

仅使用显着分量重构信号。

import EngeeDSP.Functions: idct

y[.!sigcoeff] .= 0

z = idct(y)

让我们绘制原始信号和重建信号。

p1 = plot(t, x, title = "Original")
yl = ylims(p1)

p2 = plot(t, z, title = "Reconstructed")
ylims!(p2, yl)

plot(p1, p2, layout = (2, 1), legend = false)

idct

此外

逆离散余弦变换

Details

逆离散余弦变换从离散余弦变换(DCT)的其系数重构序列。 功能 idct 是函数的倒数 dct.

PREP有四个标准选项。 此功能仅实现DKP-2类型。 对于转换后的信号 长度 和克朗克符号 逆变换的定义如下:

  • 反向准备-1:

  • 反向准备-2:

  • 反向准备-3:

  • 反向准备-4:

这些行是从 而不是通常的 由于 AnyMath 向量从 以前 ,不是从 以前 .

所有PREP变体都是_unitar_(或者,等价地,_orthogonal):要查找直接转换,请交换 在每一个定义中。 DKP-1和DKP-4彼此相反。 DKP-2和DKP-3彼此相反。

文学作品

  1. Jain,A.K. _fundamentals Of Digital Image Processing。_恩格尔伍悬崖,NJ:普伦蒂斯-霍尔,1989.

  2. Oppenheim,Alan V.,Ronald W.Schafer和John R.Buck。 _实时信号处理。_第二版。 Upper Saddle River,NJ:Prentice Hall,1999。

  3. Pennebaker,W.B.和J.L.Mitchell。 _jpeg静止图像数据压缩标准。_纽约:Van Nostrand Reinhold,1993。