Цитата(mk900 @ Feb 12 2014, 09:53)

что это будет называться тоже ДПФ,
Вы не путайте одну точку ДПФ и алгоритм БПФ, который быстро считает все точки ДПФ сразу

Цитата(mk900 @ Feb 12 2014, 09:53)

- после измерения частоты, вычислить частоту дискретизации, равную 2**N * Fоб, где N выбрать от 2 до примерно 8 (тут я не очень понимаю, будет ли какой-то плюс от увеличения кол-ва выборок на оборот);
Это, в общем, лишнее. Выбирайте частоту дискретизации просто побольше, в рамках разумного. И количество выборок расчитывайте такое, чтобы туда уложилось N целых периодов. А чтобы внутри одного периода было целое кол-во выборок, это не нужно.
Цитата(mk900 @ Feb 12 2014, 09:53)

- выполнить накопление данных с усреднением, привязавшись к датчику оборотов. Т.е. на каждом обороте суммировать в X(i) в своей ячейке, потом поделить на число оборотов.
Потом выполнить обработку, как предложили Вы:
Это вообще никак не нужно, совершенно, процесс вычисления точки ДПФ сделает это внутри себя сам.
Цитата(mk900 @ Feb 12 2014, 09:53)

Только Вы уж извините за глупый вопрос, не понимаю я как получить из массива две цифры, амплитуду и фазу. Ну перемножил я каждое значение сигнала на соответствующие значения sin и cos с Fоб, получил два новых массива Xsin и Xcos. Что с ними надо делать дальше? Пробую для каждой точки посчитать А=sqrt(Xsin*Xsin+Xcos*Xcos) и Ph=arctg(Xsin/Xcos), получаю еще два массива, смотрю на их графики и не понимаю, что с ними делать дальше. Не ругайте, голова уже не та, что была в молодости... Поясните, как пятикласснику.
Все совсем не так...
Вы считаете для каждой выборки:
sum = sum + x(t)*e^(j*w*t)
ну e^(j*w*t) по формуле Эйлера... cos(w*t)+j*sin(w*t)
отсюда действительная часть ДПФ:
sum_r = sum_r + cos(wt)*x(t);
мнимая:
sum_i = sum_i + sin(wt)*x(t);
потом, когда для ВСЕГО СИГНАЛА эти две суммы посчитаны, то:
амплитуда будет модулем этого комплексного числа sqrt(sum_r^2+sum_i^2)
фаза будет аргументом: arctg(sum_i/sum_r)
То есть ничего и нигде не надо копить и усреднять (кроме этих двух сумм), просто на лету считайте две суммы для каждого интересующего сигнала - они в себе все сразу и усреднят и накопят.
Цитата(mk900 @ Feb 12 2014, 09:53)

Сигнал синхронизации - короткий импульс, стОит ли заморачиваться с его регистрацией и обработкой? Особенно если выполнять синхронизацию накопления на каждом обороте? Или я что-то упускаю из виду?
Ну это уже Вам виднее... На сколько хороший у него SNR и на сколько точно Вы можете обеспечить точный старт выборки с минимизацией джиттера между синхросигналом и первой выборкой.
Цитата(mk900 @ Feb 12 2014, 09:53)

Я и имел ввиду зависимость точности от параметров обработки на одном и том же массиве данных,- от частоты дискретизации, времени усреднения, разрядности арифметики и т.д.
Тут все просто, чем дольше сигнал наблюдается, тем лучше на выходе SNR. Количество выборок также улучшает SNR (ширина основного лепестка сужается, и в ней остается меньше шума). Но при всем том возрастает вклад ошибки измерения частоты вращения, из-за того же сужения главного лепестка.
Цитата(mk900 @ Feb 12 2014, 09:53)

на одной частоте называется методом Герцеля
Сначала сделайте прямой корреляцией с e^(jwt). Потом уже в герцели залезайте. Там свои подводные камни есть, с точностью вычисления коэффициентов например, чтобы они остались на единичной окружности... И вообще, влияние точности вычисления на результат там серьезно больше, как в любом рекурсивном фильтре по сравнению с нерекурсивным.