У меня есть два вектора: датчик A длиной 927 и датчик B длиной 1250. Я хотел бы сделать их одинаковой длины.Функция resample () в MATLAB очень шумная по краям, и мне нужна хотя бы достаточно хорошая точность во всем.
Я понимаю, что передискретизация может быть выполнена путем интерполяции, но как мне реализовать ее наиболее эффективным способом.Мне нужно растянуть 927 до 1250 как можно более равномерно.
Мне было интересно, смогу ли я сделать что-то вроде этого:
- Мне нужно 333 новых семпла в более коротком векторе.Поэтому для каждых 3 значений я вставляю среднее значение (среднюю точку) двух последовательных значений между ними.=> 309 образцов вставлено
- Для остальных я вставляю снова для каждых 38 образцов (927 / (333-309))
Имеет ли это смысл?Я все еще не смогу получить точную интерполяцию.Есть ли другая функция, которую я мог бы использовать?(кроме interp()
, потому что это требует интегральной частоты передискретизации?)