Если есть возможность точно синхронизировать частоту дискретизации с частотой входного сигнала (т.е. fd = n*fin, n-целое), то берешь выборки за несколько целых периодов входного сигнала, умножаешь их в квадрат, берешь среднее значение, потом корень и получаешь среднеквадратическое (действующее) значение сигнала. Если нет возможности синхронизироваться, то тоже можно достаточно точно измерять действующее значение, но там нужен хороший цифровой фильтр низких частот (с полосой доли Гц), через который пропускаются квадраты выборок. Расчет этого фильтра - это отдельная большая тема. Я этим методом делаю измерения с точностью 0.002-0.003% в диапазоне до 100 кГц, правда АЦП дорогой на 16 разрядов.