DFT, DHT, DCT, DST
Gonzalez R. C. and Woods R. E. Digital Image Processing (Forth Edition)
基本
酉变换
一维的变换:
\mathbf{f} = \mathbf{A}^{H} \mathbf{t}, \\
\mathbf{A}^H = {\mathbf{A}^*}^{T}, \mathbf{A}^H\mathbf{A} = \mathbf{I}.
\]
以及二维的变换:
\mathbf{F} = \mathbf{A}^H \mathbf{T} \mathbf{B}^*, \\
\mathbf{A}^H\mathbf{A=I}, \mathbf{B}^{T}\mathbf{B}^* =\mathbf{I}.
\]
以一维的为例, 实际上就是
\mathbf{s}_u = [s(0, u), s(1, u), \cdots, s(N-1, u)]^T.
\]
故
\]
others
\]
proof:
2\sin (\frac{x}{2}) \sum_{k=0}^n \sin (kx)
&=\sum_{k=0}^n [\cos (\frac{2k-1}{2}x) -\cos (\frac{2k+1}{2}x) ]\\
&= \cos(\frac{1}{2}x) - \cos (\frac{2n+1}{2}x).
\end{array}
\]
类似地
\]
proof:
2\sin (\frac{x}{2}) \sum_{k=0}^n \cos (kx)
&=\sum_{k=0}^n [\sin (\frac{2k+1}{2}x) -\sin (\frac{2k-1}{2}x) ]\\
&= \sin(\frac{2k+1}{2}x) + \sin (\frac{1}{2}x).
\end{array}
\]
Fourier-related Transforms
DFT
\]
\(\mathbf{s}_u^H \mathbf{s}_u = 1\)是显然的, 又注意到
\]
又
\]
由于
\]
DHT
DISCRETE HARTLEY TRANSFORM
\]
\cos (\frac{2\pi u'x}{N})
=\cos (\frac{2\pi (u-u')x}{N})
+\cos (\frac{2\pi (u+u')x}{N}) \\
2\sin (\frac{2\pi ux}{N})
\sin (\frac{2\pi u'x}{N})
=\cos (\frac{2\pi (u-u')x}{N})
-\cos (\frac{2\pi (u+u')x}{N}) \\
2\sin (\frac{2\pi ux}{N})
\cos (\frac{2\pi u'x}{N})
=\sin (\frac{2\pi (u+u')x}{N})
-\sin (\frac{2\pi (u-u')x}{N}) \\
\]
故想要证明其为标准正交基, 只需注意到:
=\frac{\cos(\frac{k\pi}{N}) - \cos (\frac{(2N-1)k\pi}{N})}{...},
\]
\(k\not=0\)的时候, 有
\]
故
\]
类似可得:
\]
正交性如此是易证明的, 实际上标准性是显然的.
DCT
DISCRETE COSINE TRANSFORM
\alpha (u) =
\left \{
\begin{array}{ll}
\sqrt{\frac{1}{N}}, & u=0, \\
\sqrt{\frac{2}{N}}, & u=1,2,\cdots, N-1. \\
\end{array}
\right .
\]
其标准正交的思路和DHT是如出一辙的.
与DFT的联系
- 定义
\left \{
\begin{array}{ll}
f(x), & x = 0, 1, \cdots, N-1, \\
f(2N-x-1), & u=N, N+1, \cdots, 2N-1. \\
\end{array}
\right .
\]
此时\(g(x) = g(2N-1-x)\);
- 计算DFT
\left [
\begin{array}{c}
\mathbf{t}_1 \\
\mathbf{t}_2 \\
\end{array}
\right ].
\]
- 定义
\mathbf{s} = [1 / \sqrt{2}, 1, 1, \cdots, 1]^T.
\]
\]
其中\(\mathrm{Re}\)表示实部, \(\circ\)表示逐项乘法.
证明是平凡的.
DST
DISCRETE SINE TRANSFORM
\]
与DFT的联系
- 定义
\left \{
\begin{array}{ll}
0, & x = 0, \\
f(x-1), & x = 1, \cdots, N, \\
0, & x = N + 1, \\
-f(2N-x+1), & u=N+1, \cdots, 2N+1. \\
\end{array}
\right .
\]
此时\(g(x) = -g(2N + 2 - x)\).
- DFT
\left [
\begin{array}{c}
0 \\
\mathbf{t}_1 \\
0 \\
\mathbf{t}_2 \\
\end{array}
\right ].
\]
\]
其中\(\mathrm{Imag}\)表虚部.
DFT, DHT, DCT, DST的更多相关文章
- 频域分辨率与DFT,DCT,MDCT理解
搞了这么久音频算法,有些细节还没有很清楚. 比如DFT和DCT有哪些区别,DFT系数为什么会是对称的,同样帧长的数据,各自的频域分辨率是多少? 今天决定搞清楚这些问题, 首先DFT的系数对称(2N点的 ...
- 【转】由DFT推导出DCT
原文地址:http://blog.sina.com.cn/s/blog_626631420100xvxd.htm 已知离散傅里叶变换(DFT)为: 由于许多要处理的信号都是实信号,在使用DFT时由于傅 ...
- FFTW中文参考
据说FFTW(Fastest Fourier Transform in the West)是世界上最快的FFT.为了详细了解FFTW以及为编程方便,特将用户手册看了一下,并结合手册制作了以下FFTW中 ...
- FFTW3学习笔记2:FFTW(快速傅里叶变换)中文参考
据说FFTW(Fastest Fourier Transform in the West)是世界上最快的FFT.为了详细了解FFTW以及为编程方便,特将用户手册看了一下,并结合手册制作了以下FFTW中 ...
- opencv 61篇
(一)--安装配置.第一个程序 标签: imagebuildincludeinputpathcmd 2011-10-21 16:16 41132人阅读 评论(50) 收藏 举报 分类: OpenCV ...
- FFTW简介及使用
http://fftw.org/ FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) i ...
- C++开源库集合
| Main | Site Index | Download | mimetic A free/GPL C++ MIME Library mimetic is a free/GPL Email lib ...
- Discrete cosine transform(离散余弦转换)
A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of co ...
- [转载] OpenCV2.4.3 CheatSheet学习(二)
二.矩阵操作(拷贝.洗牌.局部访问): src.copyTo(dst) 把src矩阵中的数据拷贝到dst. src.convertTo(dst, type,scale, shift) 缩放并转换到另外 ...
随机推荐
- 【leetcode】563. Binary Tree Tilt
Given the root of a binary tree, return the sum of every tree node's tilt. The tilt of a tree node i ...
- C++基本函数的调用优化(构造、拷贝构造、赋值)
合理的函数可提升时间和空间的利用率 //Test1.h #include<iostream> using namespace std; struct ST { private: int a ...
- maven打包插件详解
maven-jar-plugin插件的使用及详解 该插件的xml配置及详解如下: <plugin> <groupId>org.apache.maven.plugins</ ...
- Vector Bin Packing 华为讲座笔记
Vector bin packing:first fit / best fit / grasp 成本:性价比 (先验) 设计评价函数: evaluation function:cosine simil ...
- 用graphviz可视化决策树
1.安装graphviz. graphviz本身是一个绘图工具软件,下载地址在:http://www.graphviz.org/.如果你是linux,可以用apt-get或者yum的方法安装.如果是w ...
- 模板方法模式(Template Method Pattern)——复杂流程步骤的设计
模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单.吃东西.买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单. 在 ...
- Nginx日志分析脚本
目录 一.简介 二.脚本 一.简介 运维工作是一个比较复杂的工作,有时候面对上万条的日志,如何作分析?难道一条条的分析? 这估计看两眼就要打哈欠了吧?聪明的人会选择脚本,这就是为什么现在提倡自动化运维 ...
- Linux进程操作
查看进程启动时间 ps -eo pid,lstart | grep PID 查看进程的运行多久 ps -eo pid,etime |grep PID 查看进程中启动了哪些线程 top -H -p pi ...
- C51单片机中断实验
实验要求: 要求通过中断方式检测有无按键 判断哪个按键(编号0-9),并且在数码管上显示对应的0-9 代码部分 #include<reg51.h> char led_mod[]={0x3f ...
- 自动化中不能犯的4个RPA错误-RPA学习天地
自动化在客户支持中的使用预计在未来几年会加速. 根据Dimension Research的数据,2022年72%的客户互动将通过机器人流程自动化(RPA)等新兴技术进行.电话互动将从41%下降到12% ...