离散正弦变换 (DST for Discrete Sine Transform)是一种与傅立叶变换 相关的变换,类似离散傅立叶变换 ,但是只用实数 矩阵。离散正弦变换相当于长度约为它两倍,一个实数且奇对称 输入资料的的离散傅立叶变换的虚数部分(因为一个实奇输入的傅立叶变换为纯虚数奇对称输出)。有些变型里将输入或输出移动半个取样。
一种相关的变换是离散馀弦变换 ,相当于长度约为它两倍,实偶函数 的离散傅立叶变换 。参考DCT本文有关边界条件和不同的DCT和DST关联的一般讨论。
离散正弦变换常被用来由谱方法解偏微分方程,这时候离散正弦变换的不同的变数对应著两端不同的奇/偶边界条件。
形式上,离散正弦变换是一个线性 的可逆 函数
F
:
R
N
→
R
N
{\displaystyle F:R^{N}\rightarrow R^{N}}
,其中R 为实数 集,或等价的说是一个
N
×
N
{\displaystyle N\times N}
方阵 。离散正弦变换有几种稍微不同定义的变形,皆根据以下公式之一把
N
{\displaystyle N}
个实数
x
0
,
…
,
x
N
−
1
{\displaystyle x_{0},\ldots ,x_{N-1}}
变换到另
N
{\displaystyle N}
个实数
X
0
,
…
,
X
N
−
1
{\displaystyle X_{0},\ldots ,X_{N-1}}
。
X
k
=
∑
n
=
0
N
−
1
x
n
sin
[
π
N
+
1
(
n
+
1
)
(
k
+
1
)
]
k
=
0
,
…
,
N
−
1
{\displaystyle X_{k}=\sum _{n=0}^{N-1}x_{n}\sin \left[{\frac {\pi }{N+1}}(n+1)(k+1)\right]\quad \quad k=0,\dots ,N-1}
一个DST-I矩阵为正交矩阵 (差一个系数)。
N
=
3
{\displaystyle N=3}
的实数abc 的DST-I变换等价于8点实数0abc0(-c)(-b)(-a) (奇对称)的DFT转换,再除2(而DST-II~DST-IV等价于DFT有半个取样的位移)。
因而DST-I对应的边界条件是:
x
n
{\displaystyle x_{n}}
对
n
=
−
1
{\displaystyle n=-1}
奇对称,也对
n
=
N
{\displaystyle n=N}
奇对称;
X
k
{\displaystyle X_{k}}
也类似。
X
k
=
∑
n
=
0
N
−
1
x
n
sin
[
π
N
(
n
+
1
2
)
(
k
+
1
)
]
k
=
0
,
…
,
N
−
1
{\displaystyle X_{k}=\sum _{n=0}^{N-1}x_{n}\sin \left[{\frac {\pi }{N}}\left(n+{\frac {1}{2}}\right)(k+1)\right]\quad \quad k=0,\dots ,N-1}
X
k
=
(
−
1
)
k
2
x
N
−
1
+
∑
n
=
0
N
−
2
x
n
sin
[
π
N
(
n
+
1
)
(
k
+
1
2
)
]
k
=
0
,
…
,
N
−
1
{\displaystyle X_{k}={\frac {(-1)^{k}}{2}}x_{N-1}+\sum _{n=0}^{N-2}x_{n}\sin \left[{\frac {\pi }{N}}(n+1)\left(k+{\frac {1}{2}}\right)\right]\quad \quad k=0,\dots ,N-1}
X
k
=
∑
n
=
0
N
−
1
x
n
sin
[
π
N
(
n
+
1
2
)
(
k
+
1
2
)
]
k
=
0
,
…
,
N
−
1
{\displaystyle X_{k}=\sum _{n=0}^{N-1}x_{n}\sin \left[{\frac {\pi }{N}}\left(n+{\frac {1}{2}}\right)\left(k+{\frac {1}{2}}\right)\right]\quad \quad k=0,\dots ,N-1}
一个DST-IV矩阵为正交矩阵 (差一个系数)。
DST-I的反变换是把DST-I乘以
1
N
+
1
{\displaystyle {\frac {1}{N+1}}}
。
DST-IV的反变换是把DST-IV乘以
2
N
{\displaystyle {\frac {2}{N}}}
。
DST-II的反变换是把DST-III乘以
2
N
{\displaystyle {\frac {2}{N}}}
,反之亦然。
类似离散傅立叶变换 ,这些定义前面的归一系数只是习惯,不同人有不同定义。例如有人在变换前面乘
2
N
{\displaystyle {\sqrt {\frac {2}{N}}}}
,使反变换和变换在形式上更相似,而不需另外的归一系数。
S. A. Martucci, "Symmetric convolution and the discrete sine and cosine transforms," IEEE Trans. Sig. Processing SP-42, 1038-1051 (1994).
Matteo Frigo and Steven G. Johnson: FFTW, http://www.fftw.org/ (页面存档备份 ,存于互联网档案馆 ). A free (GPL) C library that can compute fast DSTs (types I-IV) in one or more dimensions, of arbitrary size. Also M. Frigo and S. G. Johnson, "The Design and Implementation of FFTW3," Proceedings of the IEEE 93 (2), 216–231 (2005).