【问题标题】:How to calculate the "energy" of a signal from DCT coefficients?如何从 DCT 系数计算信号的“能量”?
【发布时间】:2021-12-23 06:30:16
【问题描述】:

我想计算由 n 个最大 DCT(离散余弦变换)系数表示的 2D 信号/图像的能量比例。

我发现是这样,但我不太明白为什么我只能使用 L2 规范。我也没有找到其他来源。

https://www.mathworks.com/help/signal/ref/dct.html?searchHighlight=energy%20dct&s_tid=srchtitle_energy%20dct_1

X = dct(x);
[XX,ind] = sort(abs(X),'descend');
i = 1;
while norm(X(ind(1:i)))/norm(X) < 0.99
  i = i + 1;
end

【问题讨论】:

    标签: image-processing signal-processing dft frequency-analysis dct


    【解决方案1】:

    假设 DCT 是正交变换,即基的每个向量都被归一化,并且与所有其他向量不相关。

    如果两个向量 x[i], x[j] 不相关,则表示能量 (a[i] * x[i] + a[i] * x[i]) 是各个部分的能量(a1 * x1) 和 (a2 * x2)。

    如果 x[i] 被归一化,则意味着 a[i] * x[i] 的能量只是 a[i]**2。

    将这两件事结合起来,你得出的结论是 sum a[i] * x[i] 的能量就是 sum a[i]**2。

    这就是为什么您可以简单地使用任何正交基中的系数的 L2 范数来计算信号的 L2 范数。

    【讨论】:

    • 好的,这在某种程度上使它更清楚了。但我想知道是否有一些我可以参考的定理?我检查了 Parssavel 身份,但看不到这种关系,因为它没有使用 L2 规范。信号的能量通常也定义为绝对平方和。所以为了得到“能量”的分数,我需要对结果进行平方吗?
    • 没错,当我第一次阅读您的问题时,我错过了这个细节。您提到的文章认为范数的比率为 0.99 对应于 99% 的能量,但那将是范数的比率为 sqrt(0.99) 时。
    猜你喜欢
    • 2015-03-26
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 2022-10-14
    相关资源
    最近更新 更多