У меня есть большой вектор записанных данных, которые мне нужно передискретизировать. Проблема, с которой я сталкиваюсь, заключается в том, что при использовании resample
я получаю следующую ошибку:
??? Ошибка при использовании ==> upfirdn at 82 Произведение коэффициента понижающей дискретизации Q и коэффициента повышающей дискретизации P должно быть меньше 2^31.
Теперь я понимаю, почему это происходит — мои две частоты дискретизации очень близки друг к другу, поэтому целочисленные коэффициенты должны быть довольно большими (что-то вроде 73999/74000). К сожалению, это означает, что соответствующий фильтр не может быть создан в MATLAB. Я также попытался выполнить повторную выборку только вверх, с намерением затем выполнить повторную выборку вниз, но памяти недостаточно, чтобы сделать это даже для 1 миллиона выборок данных (у меня 93M).
Какие другие методы я могу использовать для правильной повторной выборки этих данных?
resample
дважды? - person Rashid   schedule 03.11.201493 million
сэмплами и73999 / 74000
повторным сэмплированием вы потеряете около1300
семплов. Даже если вам удастся спроектировать этот фильтр, значение большинства ваших семплов не изменится. Поэтому я предлагаю вам выбрать подмножество, такое как1 million
, и пересэмплировать его с помощью0.9987
. будет ли это работать? - person Rashid   schedule 03.11.2014