前言
取一维离散Fourier变换与反变换的公式为
F ( u ) = c ∑ n = 0 N − 1 f ( n ) e − j 2 π u n N , u = 0 , 1 , ⋯ , N − 1 f ( n ) = d ∑ u = 0 N − 1 F ( u ) e j 2 π u n N , n = 0 , 1 , ⋯ , N − 1 c d = 1 N \begin{matrix} F\left( u \right)=c\sum\limits_{n=0}^{N-1}{f\left( n \right){
{e}^{-j\frac{2\pi un}{N}}}},\text{ }u=0,1,\cdots ,N-1 \\ f\left( n \right)=d\sum\limits_{u=0}^{N-1}{F\left( u \right){
{e}^{j\frac{2\pi un}{N}}}},\text{ }n=0,1,\cdots ,N-1 \\ cd=\frac{1}{N} \\ \end{matrix} F(u)=cn=0∑N−1f(n)e−jN2πun, u=0,1,⋯,N−1f(n)=du=0∑N−1F(u)ejN2πun, n=0,1,⋯,N−1cd=N1
相关文章可参考一维离散傅里叶变换(DFT)和逆变换(IDFT)公式的一种推导
DCT公式初步推导
基于公式
F ( u ) = c ∑ n = 0 N − 1 f ( n ) e − j 2 π u n N , u = 0 , 1 , ⋯ , N − 1 F\left( u \right)=c\sum\limits_{n=0}^{N-1}{f\left( n \right){
{e}^{-j\frac{2\pi un}{N}}}},\text{ }u=0,1,\cdots ,N-1 F(u)=cn=0∑N−1f(n)e−jN2πun, u=0,1,⋯,N−1
一般形式
令 f ( n ) = g ( n ) e − j p π u q N , p , q ≠ 0 f\left( n \right)=g\left( n \right){
{e}^{-j\frac{p\pi u}{qN}}},\text{ }p,q\ne 0 f(n)=g(n)e−jqNpπu, p,q=0其中 g ( n ) g\left( n \right) g(n)通过个数为 t N ( t ∈ Z ≥ 1 ) tN\left( t\in {
{\mathbb{Z}}_{\ge 1}} \right) tN(t∈Z≥1)的一个空间域(时域)实数采样序列:
g ( 0 ) , g ( 1 ) , ⋯ , g ( N − 1 ) , g ( N ) , ⋯ , g ( t N − 1 ) , ∀ n , g ( n ) ∈ R g\left( 0 \right),g\left( 1 \right),\cdots ,g\left( N-1 \right),\text{ }g\left( N \right),\cdots ,g\left( tN-1 \right),\text{ }\forall n,\text{ }g\left( n \right)\in \mathbb{R} g(0),g(1),⋯,g(N−1), g(N),⋯,g(tN−1), ∀n, g(n)∈R
且当 t > 1 t>1 t>1时, ∀ n ∈ { N , N + 1 , ⋯ , t N − 1 } , g ( n ) = 0 \forall n\in \left\{ N,N+1,\cdots ,tN-1 \right\},\text{ }g\left( n \right)=0 ∀n∈{
N,N+1,⋯,tN−1}, g(n)=0,即在拥有前 N N N个采样点的基础上新增 ( t − 1 ) N \left( t-1 \right)N (t−1)N个零采样点(无效采样点),则有:
F ( u ) = c ∑ n = 0 t N − 1 [ ( g ( n ) e − j p π u q N ) ⋅ e − j 2 π u n t N ] = c ∑ n = 0 t N − 1 [ g ( n ) ⋅ ( e − j p π u q N ⋅ e − j 2 π u n t N ) ] = c ∑ n = 0 t N − 1 g ( n ) e − j ( p t + 2 n q ) u π q t N = c ∑ n = 0 t N − 1 g ( n ) ( cos ( p t + 2 n q ) u π q t N − i sin ( p t + 2 n q ) u π q t N ) = c ∑ n = 0 N − 1 g ( n ) ( cos ( p t + 2 n q ) u π q t N − i sin ( p t + 2 n q ) u π q t N ) \begin{aligned} & F\left( u \right)=c\sum\limits_{n=0}^{tN-1}{\left[ \left( g\left( n \right){
{e}^{-j\frac{p\pi u}{qN}}} \right)\centerdot {
{e}^{-j\frac{2\pi un}{tN}}} \right]} \\ & =c\sum\limits_{n=0}^{tN-1}{\left[ g\left( n \right)\centerdot \left( {
{e}^{-j\frac{p\pi u}{qN}}}\centerdot {
{e}^{-j\frac{2\pi un}{tN}}} \right) \right]} \\ & =c\sum\limits_{n=0}^{tN-1}{g\left( n \right){
{e}^{-j\frac{\left( pt+2nq \right)u\pi }{qtN}}}} \\ & =c\sum\limits_{n=0}^{tN-1}{g\left( n \right)\left( \cos \frac{\left( pt+2nq \right)u\pi }{qtN}-i\sin \frac{\left( pt+2nq \right)u\pi }{qtN} \right)} \\ & =c\sum\limits_{n=0}^{N-1}{g\left( n \right)\left( \cos \frac{\left( pt+2nq \right)u\pi }{qtN}-i\sin \frac{\left( pt+2nq \right)u\pi }{qtN} \right)} \\ \end{aligned} F(u)=cn=0∑tN−1[(g(n)e−jqNpπu)⋅e−jtN2πun]=cn=0∑tN−1[g(n)⋅(e−jqNpπu⋅e−jtN2πun)]=cn=0∑tN−1g(n)e−jqtN(pt+2nq)uπ=cn=0∑tN−1g(n)(cosqtN(pt+2nq)uπ−isinqtN(pt+2nq)uπ)=cn=0∑N−1g(n)(cosqtN(pt+2nq)uπ−isinqtN(pt+2nq)uπ)
对 F ( u ) F\left( u \right) F(u)取实部,得到计算 C ( u ) C\left( u \right) C(u)的DCT公式
C ( u ) = Re ( F ( u ) ) = c ∑ n = 0 N − 1 g ( n ) cos ( p t + 2 n q ) u π q t N , u = 0 , 1 , ⋯ , N − 1 C\left( u \right)=\operatorname{Re}\left( F\left( u \right) \right)=c\sum\limits_{n=0}^{N-1}{g\left( n \right)\cos \frac{\left( pt+2nq \right)u\pi }{qtN}},\text{ }u=0,1,\cdots ,N-1 C(u)=Re(F(u))=cn=0∑N−1g(n)cosqtN(pt+2nq)uπ, u=0,1,⋯,N−1
标准形式
在DCT公式一般形式中,令 p = 1 , q = t = 2 p=1,\text{ }q=t=2 p=1, q=t=2则有
C ( u ) = c ∑ n = 0 N − 1 g ( n ) cos ( 2 + 2 × n × 2 ) u π 4 N = c ∑ n = 0 N − 1 g ( n ) cos ( 2 n + 1 ) u π 2 N , u = 0 , 1 , ⋯ , N − 1 \begin{aligned} & C\left( u \right)=c\sum\limits_{n=0}^{N-1}{g\left( n \right)\cos \frac{\left( 2+2\times n\times 2 \right)u\pi }{4N}} \\ & =c\sum\limits_{n=0}^{N-1}{g\left( n \right)\cos \frac{\left( 2n+1 \right)u\pi }{2N}},\text{ }u=0,1,\cdots ,N-1 \\ \end{aligned} C(u)=cn=0∑N−1g(n)cos4N(2+2×n×2)uπ=cn=0∑N−1g(n)cos2N(2n+1)uπ, u=0,1,⋯,N−1
IDCT公式初步推导
基于公式
f ( n ) = d ∑ u = 0 N − 1 F ( u ) e j 2 π n u N , n = 0 , 1 , ⋯ , N − 1 f\left( n \right)=d\sum\limits_{u=0}^{N-1}{F\left( u \right){
{e}^{j\frac{2\pi nu}{N}}}},\text{ }n=0,1,\cdots ,N-1 f(n)=du=0∑N−1F(u)ejN2πnu, n=0,1,⋯,N−1
一般形式
令
F ( u ) = C ( u ) e j p π u q N F\left( u \right)=C\left( u \right){
{e}^{j\frac{p\pi u}{qN}}} F(u)=C(u)ejqNpπu
其中 C ( u ) C\left( u \right) C(u)通过个数为 t N ( t ∈ Z ≥ 1 ) tN\left( t\in {
{\mathbb{Z}}_{\ge 1}} \right) tN(t∈Z≥1)的一个频率域实数离散序列:
C ( 0 ) , C ( 1 ) , ⋯ , C ( N − 1 ) , C ( N ) , ⋯ , C ( t N − 1 ) , ∀ u , C ( u ) ∈ R C\left( 0 \right),C\left( 1 \right),\cdots ,C\left( N-1 \right),C\left( N \right),\cdots ,C\left( tN-1 \right),\text{ }\forall u,\text{ }C\left( u \right)\in \mathbb{R} C(0),C(1),⋯,C(N−1),C(N),⋯,C(tN−1), ∀u, C(u)∈R
且当 t > 1 t>1 t>1时, ∀ u ∈ { N , N + 1 , ⋯ , t N − 1 } , C ( u ) = 0 \forall u\in \left\{ N,N+1,\text{ }\cdots ,\text{ }tN-1 \right\},C\left( u \right)=0 ∀u∈{
N,N+1, ⋯, tN−1},C(u)=0,相当于在拥有前 N N N个离散点的基础上新增 ( t − 1 ) N \left( t-1 \right)N (t−