Zitat Zitat von BiGF00T
Wenn es keine unglaublich coole mathematische Magie gibt, die auf unerklärliche Weise mein Problem lösen kann, ...
Klar gibt es diese mathematische Magie, und sie ist nichma unerklärlich oder unverständlich. Ein paar Integralchen und schon steht's da. Was an Magie gebraucht wird, ist wohl eher ein vertretbares numerisches Verfahren.

Zitat Zitat von BiGF00T
Angenommen, ich habe eine Kurve, die ich will, jetzt in meinem Speicher drin (z.B. 200 Werte). Die ersten 30 Werte sind random irgendwelche Werte, danach kommt etwas sinusförmiges (100 Werte lang) und danach wieder 20 Werte Mist und danach ein unvollständiger Sinus, der nicht komplett durchgeht...
Zum Fitten brauchst du Annahmen darüber, wie dein Signal aussieht. Der Fit wird umso besser, je genauer du das Intervall eingrenzen kannst, und je besser du die Funktion ansetzen kannst.

Wenn da ansetzen kannst
f(x;a,b) = a*sin(b*x)
dann ist das viel besser, als wenn du nur weisst
f(x;a,b,c) = a*sin(b*x+c).

Zitat Zitat von BiGF00T
Nochmal zu dem Grundfrequenz / Obertöne ding:
Es kommt Müll, dann eine Periode Sinus oder minus Sinus und ich will das erkennen. Es reicht mir zu wissen, dass in meinem Puffer momentan gerade irgendwo ein Sinus liegt. Es ist nicht soo wichtig zu wissen wo genau er sich befindet. Leider ist der Sinus nicht immer schön (verrauscht) wobei man natürlich irgendwann sagen muss, ab einer bestimmten Verrauschtheit erkenn ich halt einfach nicht mehr, sonst bekommt man irgendwann bestimmt haufenweise Falschmeldungen.
Nachdem diese Periode Sinus durch ist, folgt im Normalfall kein weiterer Sinus mehr unmittelbar danach.
Vielleicht besteht unklarheit darüber, was Oberwellen sind...?

Wenn du *eine* Periode reinsten Sinus' nimmst (ansonsten überall 0) und machst eine F-Analyse auf diese Funktion, dann bekommst du ein ganzes Frequenzzsektrum, das bei der Frequenz deines Sinus ein flaches Maximun hat. Die Zeitinformation ist aus dem F-Spektrum komplett "verschwunden", sie ist im F-Spektrum und P-Spektrum verstreut und versteckt.

Wenn du das gleiche f mit einem t-Fenster abfährst, dann ist das F-Spektrum natürlich 0, wenn f im Fenster auch 0 ist. Sobald f anfängt sich zu ändern, siehst du das im F-Spektrum, aber solange du nicht *mehrere* Perioden des Sinus in deinem Fenster hast, wirst du kaum die Frequenz deines 1-Perioden-Sinus im F-Spektrum wiederfinden -- schon gar nicht als halbwegs scharfen Peak.

Ein Fit sollte recht einfach zu proggen sein (gegenüber FFT). Viel vertust du dir dabei ja nicht, es mal damit zu versuchen. Evtl mit Beihilfe, indem du nach dem Nulldurchgang deines Sinus fahndest. Evtl hilft es auch, das Ding erst mal zu Integrieren.

Anstatt die Werte m_i schau dir mal die Werte
M_i = \sum_{k=0}^i m_k
an. Da das Integral übers Rauschen im Mittel Null ist und der Sinus deutlich geringere Frequenz hat, bringt das evtl eine bessere Grundlage für weitere Verarbeitung.

Wenn Fitten zu lange dauert, kannst immer noch FFT versuchen.

Wo kommt das Signal eigentlich her? Veilleicht gib's an anderer Stelle die Möglichkeit, an die nötige Info zu kommen?