用于没有熵的卷积的梯形核

时间:2017-06-23 13:37:13

标签: python-3.x astropy

我正在尝试在python中实现一个用于卷积的梯形内核。有没有办法在astropy模块中进行卷积: Trapezoid1DKernel( width slope 使用它' s梯形内核?

1 个答案:

答案 0 :(得分:0)

我在某个时间点遇到了同样的问题。没有办法实现内核,而是可以生成梯形波,然后您可以继续进行卷积部分。我用它来实现它:

from scipy import signal
import matplotlib.pyplot as plt
from matplotlib import style
import numpy as np

def trapzoid_signal(t, width=2., slope=1., amp=1., offs=0):
    a = slope*width*signal.sawtooth(2*np.pi*t/width, width=0.5)/4.
    a += slope*width/4.
    a[a>amp] = amp
    return a + offs

for w,s,a in zip([32],[1],[0.0322]):
    t = np.linspace(0, w, 34)

    plt.plot(t,trapzoid_signal(t, width=w, slope=s, amp=a))


plt.show()

结果: https://i.stack.imgur.com/8RkBF.png

(宽度和斜率值完全相同,以便产生与熵的梯形核相同的梯形波形)。希望这会有所帮助。