Есть один способ..... увеличить точность определения момента пересечения нуля. Вы измеряете с частотой 15кГц. Ваш сигнал может иметь частоту 2кГц. Это значит, что точность, которую вы получите "тупо посчитав количество положительных значений сигнала, а потом отрицательных" - не лучше чем 10%, даже хуже.
Можно уточнить момент пересечения нуля. Для этого потребуется не только момент измерения, когда произошло пересечение нуля сигналом, но и значение текущего положительного значения сигнала и прошлого отрицательного значения сигнала. Далее мы делаем предположение, что линия сигнала - это прямая, соединяющая точки - значения АЦП на графике времени. В итоге имеем 2 подобных треугольника. Вычисляем пропорцию и получаем уточнённый момент пересечения нуля. Я этот алгоритм реализовывал на практике. Потребуется операция деления.
Формулу вычисления момента пересечения надо?
X = (период оцифровки) * (значение до пересечения нуля + значение после пересечения нуля)/ (значение АЦП до пересечения нуля)
На пальцах - смотрите вложенную картинку