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=-1 和 n=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/2 和 n=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