Цитата(SM @ Feb 11 2014, 17:05)

самое простое и оптимальное (с точки зрения понятия оптимального фильтра) видится так:
Спасибо! Примерно так я себе это и представлял, только не понимал,наверное, что это будет называться тоже ДПФ, но на одной частоте.
Цитата(SM @ Feb 11 2014, 17:05)

первый вариант(проще):
- Подождите, пока стабилизируется частота оборотов. Измерьте эту частоту.
- Запустите сбор данных синхронно с сигналом с датчика, соберите достаточную выборку данных.
Да, я представлял себе примерно такой вариант, со следующими отличиями:
- после измерения частоты, вычислить частоту дискретизации, равную 2**N * Fоб, где N выбрать от 2 до примерно 8 (тут я не очень понимаю, будет ли какой-то плюс от увеличения кол-ва выборок на оборот);
- выполнить накопление данных с усреднением, привязавшись к датчику оборотов. Т.е. на каждом обороте суммировать в X(i) в своей ячейке, потом поделить на число оборотов.
Потом выполнить обработку, как предложили Вы:
Цитата(SM @ Feb 11 2014, 17:05)

- Посчитайте одну точку ДПФ, соответствующую этой частоте, это две суммы перемноженных выборок сигнала с значениями sin и cos соответствующей частоты.
- Получите фазу и амплитуду.
Только Вы уж извините за глупый вопрос, не понимаю я как получить из массива две цифры, амплитуду и фазу. Ну перемножил я каждое значение сигнала на соответствующие значения sin и cos с Fоб, получил два новых массива Xsin и Xcos. Что с ними надо делать дальше? Пробую для каждой точки посчитать А=sqrt(Xsin*Xsin+Xcos*Xcos) и Ph=arctg(Xsin/Xcos), получаю еще два массива, смотрю на их графики и не понимаю, что с ними делать дальше. Не ругайте, голова уже не та, что была в молодости... Поясните, как пятикласснику.
Цитата(SM @ Feb 11 2014, 17:05)

второй вариант (точнее):
- дождаться стабилизации частоты и измерить.
- набрать выборку из сигналов обоих датчиков (акселерометра и датчика угла/положения)
- посчитать ДПФ на этой частоте для обоих сигналов
- найти разность фаз и амплитуду.
Про этот вариант не совсем понял... Сигнал синхронизации - короткий импульс, стОит ли заморачиваться с его регистрацией и обработкой? Особенно если выполнять синхронизацию накопления на каждом обороте? Или я что-то упускаю из виду?
Цитата(SM @ Feb 11 2014, 17:05)

Точность может быть достигнута самая разная, все зависит от сигнал/шум в сигнале, от длительности принятого сигнала, точности вычислений...
Я и имел ввиду зависимость точности от параметров обработки на одном и том же массиве данных,- от частоты дискретизации, времени усреднения, разрядности арифметики и т.д.
Я тут порылся в Инете, нашел, что вроде вычисление преобразования Фурье на одной частоте называется методом Герцеля. Причем самым эффективным, по объему вычислений, случаем, является выбор частоты дискретизации в 4 раза выше анализируемой частоты. Ну тут вроде понятно, при этом синусы и косинусы становятся нулями и единицами и количество умножений резко сокращается. Вот только насколько это повлияет на точность? Возможно для получения оперативной, но грубой оценки только на микропроцессоре, будет более оптимальным взять по 4 точки на оборот. А для детального, с повышенной точность анализа, передавать массив с бОльшей частотой дискретизации на Комп и считать там?
Нет ли у кого готовой программки алгоритма Герцеля на Си?