離散正弦變換 (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).