Forum: Mikrocontroller und Digitale Elektronik Atmega fft oder FIR


von Dave (Gast)


Lesenswert?

Hi @ll,

ich würde gerne Audiotechnich, den Betrag oder die Energie einer 
bestimmten Frequenz messen. Die Passive Lösung (2.Ordnung Bandpass überm 
OP) ist nicht das wahre. Die Auflösung und Abweichung ist einfach zu 
groß.

Nach einigen Recherchen, habe ich gelesen das dafür ein FIR Filter 
geeignet ist. Da ich aber eventuell im nachhinein vielleicht andere 
Frequenzen auch ermitteln möchte, würde ich eher eine FFT durch führen.
Der Vorteil in meinem Projekt ist es, das ich jede viertel Stunde messen 
möchte, das heißt, ich brauche keine Realzeit.

Leider komme ich aus der Automatisierungstechnik und habe eine FFT oder 
FIR Filter noch nie angewendet. Die Forum suche habe ich auch schon 
benutzt und ich finde dort nix was mich weiter bringt, da wenn ich 
fertige Libaries implementiere, es nicht viel bringt.


Ziel ist es das Grundgerüst einer FFT aufzubauen um den Betrag einer 
bestimmte Frequenz zu messen.

Ich würde mich freuen konstruktive Vorschläge zu erhalten um dies zu 
realisieren.

PS: Sollte es hier eine Person geben, die genau weiß wie es zu 
realisieren ist und mich in Funktion und in C Code unterstützt, bin ich 
gerne bereit, dafür auch zu bezahlen.

Sollte es nicht der Fall sein, bin ich für alle Tipps offen.

Mit freundlichem Gruß
Dave

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Dave schrieb:
> ... den Betrag oder die Energie einer bestimmten Frequenz messen.

Wenn es tatsächlich nur eine Frequenz ist, dann ist der 
Goertzel-Algorithmus einfacher zu implementieren und auch ausreichend.

von Dave (Gast)


Lesenswert?

Um keine Missverständnisse zu bekommen:

Ich taste über ein Mikrophone das ganze Signal ab, und möchte aber nur 
den Betrag einer bestimmte Frequenz ermitteln.

Es ist nicht, dass nur diese bestimmte Frequenz anliegt und der Betrag 
berechnet werden soll.

Ich werde mich mal in den Goertzel-Algorithmus einlesen, danke schon mal 
dafür.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Dave schrieb:
> Ich taste über ein Mikrophone das ganze Signal ab, und möchte aber nur
> den Betrag einer bestimmte Frequenz ermitteln.

Das habe ich schon verstanden. Der Goertzel-Algorithmus ist sozusagen 
die FFT auf genau einer Frequenz.

von Dave (Gast)


Lesenswert?

Hi, habe da für den Arduino etwas gefunden:

https://github.com/jacobrosenthal/Goertzel

Ich habe es auch direkt getestet und es funktioniert einiger masen.
Also man muss die Frequenz schon ziemlich laut einstellen so da was 
ankommt. Angeschlossen habe ich ein Mems Mic inkl. Verstärker. 
https://www.sparkfun.com/products/9868

Ich weiß ja nicht ob jemand schon mal die App "Spectrum oder Analyzer" 
ausgetestet hat. Da kann man mit dem Handy in einem anderen Zimmer gehen 
und er hört die Frequenz perfekt. Die machen halt auch eine FFT.

Würde mich über weitere Tipps freuen.

Gruß Dave

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Dave schrieb:
> Also man muss die Frequenz schon ziemlich laut einstellen so da was
> ankommt. Angeschlossen habe ich ein Mems Mic inkl. Verstärker.

Laut bei einer Frequenz? Ich nehme an, du meinst die Amplitude des 
Signals. Natürlich sollte das Mems Mic inclusive Verstärker an den 
Messbereich des ADC angepaßt sein. Außerdem sollte natürlich das 
Goerzelfilter mit der richtigen Abtastfrequenz und der korrketen 
Stützstellenanzahl laufen. Ansonsten stimmt die Bandbreite nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.