Ich denke mal, dass das Problem hier in der Frequenzauflösung liegt.
Die Frequenzauflösung deiner DFT hängt von der Anzahl der betrachteten Abstastwerte und der Abtstfrequenz ab:
Code:
n: Anzahl der transformierten Abtastwerte
fa: Abtastfrequenz
Frequenzauflösung: fr=fa/n
Dein Spektrum besteht dann aus verschiedenen Frequenzkörben (frequency bins) die im Abstand
fr liegen.
Wenn du jetzt nicht genau einen Korb bei 175 Hz liegen hast, dann werden die zu 175,5 Hz gehörigen Spektralwerte eben in den 175 Korb sortiert. Eine höhere Frequenztauflösung bekommst du also nur wenn du längere Signalabschnitte betrachtest.
EDIT: Das Problem tritt übrigens unabhängig vom verwendeten Algorithmus auf.
Und dann war da noch der junge Mann ....
... der unbedingt Schriftsteller werden wollte.
Er wollte Emotionen wecken und die Leute zum weinen bringen.
Sein Traum wurde wahr, er verfasst heute die Fehlermeldungen bei Microsoft!