Ну, во-первых, Фурье - в предположении, что у Вас синусоида, ну пусть несколько синусоид, а не "к примеру синусоида". Нефига в Фурье бояться. А зачем Вам на асме извращаться?
На нем без проблем можно сделать, конечно. Но на C же быстрее сделаете. Еще добавлю - на окно нужно перед Фурье умножать. А с Фурье... Как вариант, если возможных частот немного, можно посчитать Фурье только для этих частот, используя алгоритм Герцеля например. И возможно вне этого диапазона посчитать еще одну частотную точку -для автом. установки порога. Как еще вариант - банки фильтров. А если у Вас не синусоида,то нужно знать, что именно, какими функциями описывается. И аппроксимировать функциями из этого набора. Обычно это сложнее, чем Фурье, если ф-ии не полиномиального типа.