scipy.fft.fht

scipy.fft.fht(a, dln, mu, offset=0.0, bias=0.0)[源代码]

计算快速汉克尔变换。

使用FFTLog算法计算对数间隔周期序列的离散Hankel变换 [1], [2].

参数
aarray_like(.,n)

实周期输入阵列,均匀对数间隔。对于多维输入,在最后一个轴上执行变换。

dln浮动

输入数组的均匀对数间距。

mu浮动

汉克尔变换的阶数,任何正数或负数。

offset浮动,可选

输出数组的均匀对数间距的偏移量。

bias浮动,可选

幂律偏差的指数,任何正负实数。

退货
Aarray_like(.,n)

变换后的输出阵列,它是实数、周期、均匀对数间隔的,并且与输入阵列具有相同的形状。

参见

ifht

与之相反的 fht

fhtoffset

返回以下项的最佳偏移量 fht

注意事项

此函数计算离散版本的汉克尔变换

\[a(K)=\int_{0}^{\infty}\!A(R)\,J_\µ(Kr)\,k\,DR\;,\]

哪里 \(J_\mu\) 是序的贝塞尔函数 \(\mu\) 。索引 \(\mu\) 可以是任何实数,正数或负数。

输入数组 a 是一个长度为的周期性序列 \(n\) ,以对数间距均匀分布 dln

\[a_j=a(R_J)\;,\quad r_j=r_c\exp [(j-j_c) \, \mathtt{{dln}}]\]

以点为中心 \(r_c\) 。请注意,中央索引 \(j_c = (n+1)/2\) 是半整的,如果 \(n\) 是均匀的,所以 \(r_c\) 落在两个输入元素之间。同样,输出数组 A 是一个长度为的周期性序列 \(n\) ,也是以对数间距均匀分布的 dln

\[A_j=A(K_J)\;,\quad k_j=k_c\exp [(j-j_c) \, \mathtt{{dln}}]\]

以点为中心 \(k_c\)

中心点 \(r_c\)\(k_c\) 可以任意选择周期间隔,但通常选择乘积 \(k_c r_c = k_j r_{{n-1-j}} = k_{{n-1-j}} r_j\) 团结一致。可以使用 offset 参数,该参数控制对数偏移量 \(\log(k_c) = \mathtt{{offset}} - \log(r_c)\) 输出数组的。为以下项选择最佳值 offset 可以减少离散汉克尔变换的振铃。

如果 bias 参数为非零,则此函数计算有偏汉克尔变换的离散版本

\[a(K)=\int_{0}^{\infty}\!A_q(R)\,(Kr)^q\,J_\mu(Kr)\,k\,dr\]

哪里 \(q\) 的值是 bias ,和幂律偏差 \(a_q(r) = a(r) \, (kr)^{{-q}}\) 应用于输入序列。偏置变换可以帮助近似连续变换 \(a(r)\) 如果有一个值 \(q\) 这样一来, \(a_q(r)\) 接近于周期序列,在这种情况下,产生的 \(A(k)\) 将接近连续变换。

参考文献

1

书名/作者:Reinessy//J.D,1978,J.Comp.体育,29岁,35岁

2

汉密尔顿·A·J·S,2000年,MNRAS,312257(天文-ph/9905191)