Сигнал понижающей дискретизации от 100,21 Гц до 8 Гц (нецелочисленный коэффициент прореживания) - PullRequest
0 голосов
/ 12 мая 2018

Я нашел следующий метод для уменьшения сигнала в Python.Я хотел бы использовать этот метод с sample_rate 100,21, но я думаю, что в настоящее время он работает только для целых степеней двух.Есть ли возможность уменьшить частоту моего сигнала с частотой от 100,21 Гц до 8 Гц?

def interpolateDataTo8Hz(data,sample_rate,startTime):
    # Downsample
    idx_range = range(0,len(data))
    data = data.iloc[idx_range[0::int(sample_rate)/8]]

    # Set the index to be 8Hz
    data.index = pd.DatetimeIndex(start=startTime,periods = len(data),freq='125L')

    # Interpolate all empty values
    data = interpolateEmptyValues(data)
    return data

def interpolateEmptyValues(data):
    cols = data.columns.values
    for c in cols:
        data[c] = data[c].interpolate()

    return data
...