離散サイン変換

離散サイン変換で フーリエ級数と同様のシミュレーション を実施します.
ここでは変換そのものを体感しましょう.

原信の選択

定数 頂点
2頂点 3頂点
台形 傾斜
ランダム

離散サイン変換の実行


0th
1st, 2nd 3rd, 4th
5th, 6th 7th

スペクトルの合成

0 ⇒

解説

本プログラムでは8点の離散サイン変換を実行します. 原信のデータ系列\(Y\), 離散サイン変換\(H_n\)とすれば
スペクトル系列\(S\)の算出は(1)となります\(\left(n=8\right)\).

\(\large{S=H_n Y} \qquad (1)\)
\(\large{ Y= \begin{bmatrix} y\left(0\right) \\ y\left(1\right) \\ y\left(2\right) \\ \vdots \\ y\left(n-1\right) \\ \end{bmatrix} }\)

離散サイン変換\(H_n\)(\(n×n\)行列)の各行は基底の係数列です. DSTには4種あり, \(H_n\)の要素\(H_n\left(k, j\right)\)と逆変換
の要素\(H_n^{-1}\left(k, j\right)\)は(2)〜(7)で定義されます(\(k,j\): 行, 列のインデックス).

DST-T

\(\large{H_n\left(k, j\right)=H_n^{-1}\left(k, j\right)}\) \(\large{=\sqrt \frac{2}{n+1} \sin \left(\pi \frac{(k+1)(j+1)}{n+1} \right)} \qquad (2)\)

DST-U

\(\large{H_n\left(k, j\right)}\) \(\large{=\sqrt \frac{2}{n} c(k+1) \sin \left(\pi \frac{(k+1)(2j+1)}{2n} \right)} \qquad (3)\)
\(\large{H_n^{-1}\left(k, j\right)}\) \(\large{=\sqrt \frac{2}{n} c(j+1) \sin \left(\pi \frac{(2k+1)(j+1)}{2n} \right)} \qquad (4)\)

DST-V

\(\large{H_n\left(k, j\right)}\) \(\large{=\sqrt \frac{2}{n} c(j+1) \sin \left(\pi \frac{(2k+1)(j+1)}{2n} \right)} \qquad (5)\)
\(\large{H_n^{-1}\left(k, j\right)}\) \(\large{=\sqrt \frac{2}{n} c(k+1) \sin \left(\pi \frac{(k+1)(2j+1)}{2n} \right)} \qquad (6)\)

DST-W

\(\large{H_n\left(k, j\right)=H_n^{-1}\left(k, j\right)}\) \(\large{=\sqrt \frac{2}{n} \sin \left(\pi \frac{(2k+1)(2j+1)}{4n} \right)} \qquad (7)\)


\(\left(0 \leqq k \lt n, \quad 0 \leqq j \lt n\right)\)

\(\large{c\left(i\right)= \begin{eqnarray} \left\{ \begin{array}{l} \frac{1}{\sqrt 2} \qquad (i=0,n) \\ 1 \qquad (0 \lt i \lt n) \\ \end{array} \right. \end{eqnarray} }\)

DST-UとDST-Vは行と列が入れ換えられた形式で互いに変換, 逆変換の関係となります.
他に, スペクトルの\(y(7)\)で出現する段差は\(c(i)\)によるものです. 変換と逆変換にある係数\(\sqrt \frac{2}{n}\)ですが, 変換
と逆変換で元の信号の大きさに戻るのであれば, 変換時の係数を\(1\)とし逆変換時の係数は\(2/n\), あるいはこの
逆としても構いません. 変換対としては係数の積が\(2/n\)であれば任意の組み合わせが可能です.