scipy.fftpack.dst

scipy.fftpack.dst(x, type=2, n=None, axis=- 1, norm=None, overwrite_x=False)[源代码]

返回任意类型序列x的离散正弦变换。

参数
xarray_like

输入数组。

type{1,2,3,4},可选

DST的类型(请参阅备注)。默认类型为2。

n整型,可选

转换的长度。如果 n < x.shape[axis]x 被截断。如果 n > x.shape[axis]x 是零填充的。默认情况下,结果为 n = x.shape[axis]

axis整型,可选

沿其计算DST的轴;缺省值在最后一个轴上(即, axis=-1 )。

norm{无,‘正畸’},可选

规格化模式(请参见注释)。默认值为None。

overwrite_x布尔值,可选

如果为True,则 x 可以销毁;默认值为false。

退货
dst雷亚尔

转换后的输入数组。

参见

idst

逆DST

注意事项

对于一维数组 x

从理论上讲,对于偶/奇边界条件和边界偏移的不同组合,有8种类型的DST [1], 只有前4种类型在Scipy中实现。

第I类

DST-I有几种定义;我们使用以下定义 norm=None 。DST-I假设输入是奇数 n=-1n=N

\[y_k=2\sum_{n=0}^{N-1}x_n\sin\Left(\frac{\pi(k+1)(n+1)}{N+1}\right)\]

请注意,仅当输入大小大于1时才支持DST-I。(未标准化的)DST-I是其自身的逆数,最高可达一个系数 2(N+1) 。正交规格化的DST-I正好是它自己的逆。

类型II

DST-II有几种定义;我们使用以下定义 norm=None 。DST-II假设输入在奇数附近 n=-1/2n=N-1/2 ;产量是奇数。 \(k=-1\) 甚至在周围 k=N-1

\[y_k=2\sum_{n=0}^{N-1}x_n\sin\sin(\frac{\pi(k+1)(2n+1)}{2n}\right)\]

如果 norm='ortho'y[k] 乘以比例因子 f

\[\begin{split}F=\开始{案例} \sqrt{\frac{1}{4n}}&\text{if}k=0,\\ \sqrt{\frac{1}{2N}}&\text{否则}\end{case}\end{split}\]

类型III

DST-III有几种定义,我们使用以下定义(对于 norm=None )。DST-III假设输入在奇数附近 n=-1 甚至在周围 n=N-1

\[y_k=(-1)^k x_{N-1}+2\sum_{n=0}^{N-2}x_n\sin\Left( \frac{\pi(2k+1)(n+1)}{2n}\右)\]

(非规格化的)DST-III是(非规格化的)DST-II的逆数,最高可达一个因子 2N 。正交归一化的DST-III正好是正交归一化的DST-II的逆。

0.11.0 新版功能.

第IV类

DST-IV有几种定义,我们使用以下定义(对于 norm=None )。DST-IV假设输入在奇数附近 n=-0.5 甚至在周围 n=N-0.5

\[y_k=2\sum_{n=0}^{N-1}x_n\sin\sin(\frac{\pi(2k+1)(2n+1)}{4n}\right)\]

(非标准化的)DST-IV是其自身的逆数,直到某一因子 2N 。正交规格化的DST-IV完全是它自己的逆。

1.2.0 新版功能: 支持DST-IV。

参考文献

1

维基百科,“离散正弦变换”,https://en.wikipedia.org/wiki/Discrete_sine_transform