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)
变换后的输出阵列,它是实数、周期、均匀对数间隔的,并且与输入阵列具有相同的形状。
注意事项
此函数计算离散版本的汉克尔变换
\[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)\) 将接近连续变换。
参考文献