Самый быстрый способ создать оконную функцию в python - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть некоторый набор данных длины N. Я хочу, чтобы окно этого набора данных через Nuttal окно . Моя текущая цель - создать массив окон длиной N, а затем умножить его на исходный набор данных. Однако создание этого массива кажется медленным. Есть ли более умный способ сделать это?

Мой текущий подход:

def window_function(data):

    #Some prefactors - not important for this question
    a0,a1,a2,a3 = 0.355768,0.487396,0.144232,0.012604    

    N = len(data) #length of the input dataset
    nuttal = np.zeros(len(data)) #an empty array which I subsequently populate

    for i in range(N):
        nuttal[i] =a0 -a1*np.cos(2*np.pi*i/N) + a2*np.cos(4*np.pi*i/N) -a3*np.cos(6*np.pi*i/N) 



    return data*nuttal

Итерация по N для больших N особенно медленная

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...