|
rms=sqrt[summa({signal[n]*window[n]}^2)/summa(window[n]^2))].
Для квазисинусоид очень неплохие результаты.
signal - оцифрованный сигнал, пропорциональный току, то что Вы собирались на БПФ подавать. Или Вы считаете, что БПФ берет входные данные из воздуха? Сумма по n, от 0 до N-1. N - не меньше одного периода сетевого.
В качестве window можете практически любое окно взять, какое знаете-слышали. Кроме прямоугольного.
Можно вот такое: window[n]=[(n+1)(N-n)*4/(N^2)]^2. Генерируется раз и лежит в памяти. Сумма его квадратов считается раз и тоже лежит в памяти. Деление выполняется раз на N отсчетов. Корень квадратнвый тоже.
Самый что ни на есть программный способ.
Возможностей пика не знаю.
E-mail: info@telesys.ru