Фильтр низких частот Python - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь использовать фильтр низких частот для своих данных.Мои выборочные данные для каждой минуты, и я хочу отфильтровать их с постоянной времени 1440 (ежедневно).Это просто написание цикла for, который вычисляет фильтрацию и добавляет данные в список y (отфильтрованные данные).

Ниже приведен код, который я написал:

OD_deltaT=df["OD_deltaT"].values.tolist()
#a=1/(timeconstant)+1
a=1/1441
u, y=[0], []
for i, x in enumerate(OD_deltaT,1):
    u.append(x)
    y[1]=u[1]
    y[i]=(1-a)*y[i-1]+(a)*u[i]

Но я получаю эту ошибку:

list index out of range.  

Заранее спасибо!

1 Ответ

0 голосов
/ 27 ноября 2018

Вам нужно добавить свои данные, как вы сделали для u.Вы также можете написать код немного более кратко:

u = [0]
y = [0]
for x in OD_deltaT:
    u.append(x)
    y.append((1-a)*y[-1])+a*x)

Конечно, фильтры scipy сделают это быстрее;)

...