У меня есть сигнал, который я хотел бы увеличить, например,
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, и повторная сортировка возвращается после интерполяции (это кажется очень неэффективным, и я даже не уверен, выполнимо ли это). Есть более элегантное решение?
Спасибо за помощь!