DFT, DHT, DCT, DST

Gonzalez R. C. and Woods R. E. Digital Image Processing (Forth Edition)

基本

酉变换

一维的变换:

t=Af,f=AHt,AH=AT,AHA=I.

以及二维的变换:

T=AFBT,F=AHTB,AHA=I,BTB=I.

以一维的为例, 实际上就是

tu=x=0N1fxs(x,u)=fTsu,u=0,1,,N1,su=[s(0,u),s(1,u),,s(N1,u)]T.

A=[s0,,sN1]T.

others

k=0nsin(kx)=cos(12x)cos(2n+12x)2sin(x2),x(2Kπ,2(K+1)π)

proof:

2sin(x2)k=0nsin(kx)=k=0n[cos(2k12x)cos(2k+12x)]=cos(12x)cos(2n+12x).

类似地

k=0ncos(kx)=sin(2k+12x)+sin(12x)2sin(12x),x(2Kπ,2(K+1)π)

proof:

2sin(x2)k=0ncos(kx)=k=0n[sin(2k+12x)sin(2k12x)]=sin(2k+12x)+sin(12x).

DFT

s(x,u)=1Nej2πxuN

suHsu=1是显然的, 又注意到

suHsu=1Nx=0N1ej2πx(uu)N,

n=0N1an=1aN1a,

由于

ej2πx(uu)=1,uu.

DHT

DISCRETE HARTLEY TRANSFORM

s(x,u)=1Ncas(2πxuN)=1N[cos(2πuxN)+sin(2πuxN)].

2cos(2πuxN)cos(2πuxN)=cos(2π(uu)xN)+cos(2π(u+u)xN)2sin(2πuxN)sin(2πuxN)=cos(2π(uu)xN)cos(2π(u+u)xN)2sin(2πuxN)cos(2πuxN)=sin(2π(u+u)xN)sin(2π(uu)xN)

故想要证明其为标准正交基, 只需注意到:

x=0N1sin(2πkxN)=cos(kπN)cos((2N1)kπN)...,

k0的时候, 有

cos((2N1)kπN)=cos(kπN),

x=0N1sin(2πkxN)=0,k0.

类似可得:

x=0N1cos(2πkxN)=0,k0.

正交性如此是易证明的, 实际上标准性是显然的.

DCT

DISCRETE COSINE TRANSFORM

s(x,u)=α(u)cos((2x+1)uπ2N),α(u)={1N,u=0,2N,u=1,2,,N1.

其标准正交的思路和DHT是如出一辙的.

与DFT的联系

  1. 定义

g(x)={f(x),x=0,1,,N1,f(2Nx1),u=N,N+1,,2N1.

此时g(x)=g(2N1x);

  1. 计算DFT

tF=AFg=[t1t2].

  1. 定义

h(u)=ejπu/2N,u=0,1,,N1,s=[1/2,1,1,,1]T.

tC=Re{sht1}.

其中Re表示实部, 表示逐项乘法.

证明是平凡的.

DST

DISCRETE SINE TRANSFORM

s(x,u)=2N+1sin((x+1)(u+1)πN+1).

与DFT的联系

  1. 定义

g(x)={0,x=0,f(x1),x=1,,N,0,x=N+1,f(2Nx+1),u=N+1,,2N+1.

此时g(x)=g(2N+2x).

  1. DFT

tF=AFg=[0t10t2].

tS=Imag{t1}.

其中Imag表虚部.

posted @   馒头and花卷  阅读(624)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示