Spezielle Frequenzsuche

Gast #1607047
Guten Abend,

ich habe ein kleines Problem. Ich habe zusammen mit meinem Professor 
eine Formel hergeleitet, womit man speziell nach Frequenzen suchen kann. 
Jedoch ist dies schopn 5 Wochen her und ich kann ihn gerade nicht 
erreichen.

Ich will nun diesen Ansatz umsetzen, in Java.

Die Formel lautet:

z(n)= (1-alpha)zn-1(f)+alpha xn*e^(-2Pi j *frequenz delta t *n)

alpha gibt an wie sehr vergangene Werte gewichtet werden
n ist die ANzahl der berechenten Werte
xn ist der aktuelle Abtastwert

Jetzt ist aber meine Frage in wiefern interpretiere ich das delta t? 
Weil ich verstehe es nicht in welcher maßeinheit ich es setzen soll. Und 
kann ich dies noch ersetzen?

Mein Ziel ist es die Phase und den Amplitude des gesuchten SIgnals zu 
finden. Ebenso will ich mittels Betragsspekrtrum die gewichtung der 
Frequenz ermitteln.

Fall jemand einen kurzen Code abschnitt senden kann, wäre ich auch sehr 
dankbar.

Mfg

Michi
#1607317
Hallo Michi,

ich füge meine Kommentare ein:

> Die Formel lautet:
> z(n)= (1-alpha)zn-1(f)+alpha xn*e^(-2Pi j *frequenz delta t *n)

Bitte überprüfe die genaue Syntax Deiner Formel. Hier sind einige Fehler 
drin. Eine Suche nach "Goertzel-Algorithmus" wird Dich hier weiter 
bringen. Den gibt es 1. und 2. Ordnung.


> Jetzt ist aber meine Frage in wiefern interpretiere ich das delta t?

Das "delta t" ist der Kehrwert der verwendeten Abtastrate. Aus der 
kontinuierlichen Zeit t wird bei diskreter Signalverarbeitung nun mal 
ein delta_t * {0,1,2,3,4,5,6,...}, wobei delta_t = 1/f_abtast ist und 
das n die Zahl der Abtastung darstellt.


> Weil ich verstehe es nicht in welcher maßeinheit ich es setzen soll.

delta_t muß in Sekunden angegeben werden, damit es sich mit der Einheit 
von "frequenz", Hertz=1/s, aufhebt.


> Fall jemand einen kurzen Code abschnitt senden kann, wäre ich auch sehr
> dankbar.

Tu' Dir den Gefallen und verstehe erst was Du machen willst und wie es 
funktioniert. Dann schreibst Du Dir die paar Zeilen selbst.

Die Suchergebnisse nach "Goertzel-Algorithmus" werden aber auch genügend 
Implementierungsbeispiele geben.

Viel Erfolg!

Gerrit, DL9GFA
#1609623
Ich finde die Beschreibung des Goertzel-Algorithmus von Kevin Banks sehr 
praxisnah, fast ein Kochrezept:
http://www.embedded.com/story/OEG20020819S0057
oder druckerfreundlicher formatiert:
http://www.embedded.com/story/OEG20020819S0057?printable=true
Am Ende des Artikels ist ein Zahlenbeispiel, wo man die 
"Filter-Durchlasskurve" an den Zahlenwerten schön sieht.

Interessant auch die dort verlinkte Beschreibung
http://www.numerix-dsp.com/goertzel.html
in der der Goertzel-Algorithmus als zweistufiges IIR-Filter erklärt 
wird.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.