Python: повышение частоты дискретизации непостоянного и нерастущего сигнала - PullRequest
1 голос
/ 16 января 2020

У меня есть сигнал, который я хотел бы увеличить, например,

x=np.array([8,1,2,3,4,5])
y=np.array([3,1,8,4,0,2])

Как вы можете видеть, x имеет непостоянную частоту дискретизации. Кроме того, его значения не обязательно увеличиваются. Моя первоначальная идея состояла в том, чтобы увеличить выборку x с помощью функции передискретизации:

x_new=scipy.signal.resample(x, N_points, t=None, axis=0, window=None);

и затем использовать линейную интерполяцию, чтобы найти значения y_new

y_new=np.interp(x_new,x,y);

Однако линейная интерполяция, кажется, не работает, если х данные не постоянно увеличиваются. Данные не периодичны c, поэтому я не могу воспользоваться опцией периода. Любая идея?

Я думал о возможности сортировки x_new, и повторная сортировка возвращается после интерполяции (это кажется очень неэффективным, и я даже не уверен, выполнимо ли это). Есть более элегантное решение?

Спасибо за помощь!

...