Normalerweise nimmt man dazu in Software sogeannte Lock-In-Amplifier oder PSD -> Phase Sensitive Devices oder PPLs -> Phase Locked Loops.
Bei all diesen Verfahren geht es darum das AC Signal mit Hilfe eines "synchonen" Vergleichsignal zu filtern und daraus ein
DC Signal zu erzeugen das angibt wie hoch die Übereinstimmung dieser Signale ist.
Das geht in Hardware und auch als Software in sogennate DSPs/FPGA/ASICs usw. umzusetzen. Auf PC ist das auch möglich. Die Performance ist weit besser als bei einer FFT, defakto ist es sogar so das beide Verfahren auf den gleichen math. Grundlagen beruhen.
Wie macht man das nun ?
Man erzeugt zwei Rechtecksignale mit jeweils 1800Hz und 2100Hz Frequenz. Davon werden 2 weitere Signale um 90 Grad in der Phase verschoben erzeugt, also zeitlich versetzt.
Nun werden alle 4 Signale mit dem eingehenden Signal verknüpft. Raus kommen 4 kummulierte Werte=Zahlen. Jeweils ein Signal X für die Amplitude=Stärke der Übereinstimmung und das Signal Y für Phasenverschiebung. Mit r =Wurzel(X^2 + Y^2) hat man nun einen
DC Wert für die Übereinstimmung der Referenzsignale zum Eingangssignal.
Man hat dann also zwei Werte r1800 und r2100 die die Signalstärke dieser Frequenzen im EIngangssignal darstellen. In deinem Falle müsste immer nur eine dieser Variablen einen großen Wert haben und die andere einen kleinen Wert.
Auf grund des Nyquist-Theorems muß man natürlich das EIngangssignal ca. 3mal schneller abtatsten als die Frequenzen die man untersuchen möchte. Hinzukommt noch das solche Lock-In-Amplifier selber eine gewisse Zeit zum einschwingen benötigen. Dh. dein Eingangssignal sollte mit mindestens 10Khz gesampelt werden.
Eventuell finde ich die Zeit einen kleinen Source zu bauen, versprechen kann ich es dir aber nicht
Es ist aber eine wirklich einfache Sache sowas, sich kompliziert anhörendes, in Software zu machen.
Gruß Hagen