Я получил данные из трубчатой трубы, в которой 360 образцов (по азимуту на 1 градус), и мне нужно уменьшить до 72 образцов. Учитывая физику и разрешение измерения, которое я сравниваю, каждый из 72 образцов составляет в среднем ок. 15 из 360 образцов.
традиционный подход понижающей выборки путем нарезки не позволит мне получить надлежащую понижающую выборку, и на самом деле данные меняются. Я попытался усреднить в 5-срезовом интервале (чтобы соответствовать 360/72), но также кажется смещенным
Чтобы действительно сравнить эти измерения, мне нужно уменьшить частоту дискретизации данных с высоким разрешением до того же разрешения, что и при других измерениях.
проблема: мне нужно создать каждый из 72 столбцов этого массива, усредняя 15 исходных массивов, что означает, что я должен иметь возможность обернуть функцию усреднения по основному массиву. В конечном итоге я хочу создать:
1 - движущееся окно, включая обтекание края, которое я могу выбрать размер окна
2- чтобы выбрать «шаг» вычисления этого окна, чтобы у меня был конечный результат, содержащий столько столбцов, сколько мне нужно, чтобы соответствовать моему измерению
3 - новый массив с пониженной дискретизацией, я буду выполнять вычисления на нем
Пробовал со средним значением 5 срезов, но полученное изображение не выглядит как входное из-за отсутствия усреднения по краям, плюс каждые 5 срезов не перекрывают измерения с более низким разрешением
avesize=5 #360/72 =5
ave_array=[]
for i in range(0, len(a), avesize):
slice_from_index = i
slice_to_index = slice_from_index + avesize
ave_array.append(np.average(a[slice_from_index:slice_to_index]))