This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Frequenzgang eines Lautsprechers messen
#6
Theoretisch sollten Frequenzen bis zu Nyquist-Frequenz (halbe Sample-Rate, also 24kHz) unterscheidbar sein, aber in der konkreten Umsetzung gibt es hier zwei Einschränkungen:

1. Die Analyse-Methode aus "Frequenzverlauf" ist optimiert um auch aus kurzen Audio-Schnipseln eine Frequenz zu bestimmen. Hier wird eine Autokorrelation berechnet (was dann mit Tönen aus mehreren Frequenzen schon ein Problem darstellt) und im Grunde die Maxima abgezählt um die Periodendauer des Tons zu bestimmen. Die Nyquist-Frequenz ist der Grenzfall bei dem ein Ton zweimal pro Periode gesamplet wird, was in einer Fouriertransformation noch schön aufgelöst werden kann, wo unsere Korrelations-Abzählmethode aber recht sicher aus dem Tritt geraten wird. Bei 8kHz sind es auch nur 6 Sample pro Periode, weswegen ich vermute, dass der Algorithmus da nicht mehr sauber arbeitet.

2. Unsere Implementierung des Tongenerators (falls der hier benutzt wurde) ist auch nicht ideal. Wir berechnen den Ton einmal über eine Laufzeit von maximal einer Sekunde und spielen den dann in Schleife. Das hat zur Folge, dass kleine Nuancen nicht korrekt wieder gegeben werden, da die Phase des Tons beim Wiederholen jedes Mal wieder auf Null springt. Außerdem spielt hier eine Optimierung rein, die einen kürzeren Ton berechnen soll, aber bei hohen Frequenzen auch ihre Probleme bekommt. Ein neuer Tongenerator steht auf unserer Todo-Liste...

Ich würde empfehlen, dass du beide Fehlerquellen jeweils einmal ausschließt:
Den Ton einmal über einen Online-Tongenerator (einfach googlen, da gibt es viele) generieren und schauen, ob das Problem weg ist. Außerdem könnte es eine gute Alternative sein, die Frequenz nicht über die Autokorrelation, sondern über das Maximum einer Fourier-Transformation zu bestimmen. Die Aufnahme muss für eine gute Auflösung zwar ein ganzes Stück länger sein, aber das schadet in der Anwendung ja nicht. Auch das kannst du leicht testen, indem du dir die Frequenzen anschaust, die "Audio-Spektrum" als Peak ausspuckt.
Reply


Messages In This Thread
RE: Frequenzgang eines Lautsprechers messen - by Sebastian Staacks - 09-11-2019, 01:22 PM

Forum Jump: