def kernel_fredriksen(n):
"""
Generates kernel for Hilbert transform using FFT.
Parameters
----------
n : int
Number of equidistant grid points.
Returns
-------
array
Kernel used when performing Hilbert transform using FFT.
"""
aux = np.zeros(n+1, dtype=doublenp)
for i in range(1,n+1):
aux[i] = i*log(i)
m = 2*n
ker = np.zeros(m, dtype=doublenp)
for i in range(1,n):
ker[i] = aux[i+1]-2*aux[i]+aux[i-1]
ker[m-i] = -ker[i]
return fft(ker)/pi
评论列表
文章目录