Передискретизация двух наборов данных разной длины в MATLAB

У меня есть два вектора: sensorA длиной 927 и sensorB длиной 1250. Я хотел бы сделать их одинаковой длины. Функция resample () в MATLAB очень шумная по краям, и мне нужна по крайней мере достаточно хорошая точность во всем.

Я понимаю, что передискретизация может быть выполнена с помощью интерполяции, но как мне реализовать ее наиболее эффективным способом. Мне нужно растянуть 927 до 1250 как можно более равномерно.

Мне было интересно, могу ли я сделать что-то вроде этого:

  1. Мне нужно 333 новых образца в более коротком векторе. Поэтому для каждых трех значений я вставляю среднее значение (середину) двух последовательных значений между ними. => 309 образцов вставлено
  2. Для оставшихся я вставляю снова для каждых 38 образцов (927 / (333-309))

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

7
задан Imelza 11 March 2011 в 02:49
поделиться