AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Goertzel Algorithmus (Frequenz + Phase)

Ein Thema von stoxx · begonnen am 20. Aug 2011 · letzter Beitrag vom 4. Okt 2011
Antwort Antwort
Seite 5 von 11   « Erste     345 67     Letzte » 
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.973 Beiträge
 
Delphi 10.4 Sydney
 
#41

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 08:22
bevor ich ein halbes Gigabyte installiere .. kannst Du bitte nochmal schnell ein Screenshot vom Spektrumverlauf machen?

Ist der Spektrumverlauf wirklich auch so spitz verlaufend wie in meinem Bild?
oder runde Berge?
wie breit sind die zwei Bänder?
oder nur erkannte Frequenzen in Form von zwei Histogrammbalken?
Es lohnt sich eigentlich nicht mehr, für keinen von uns.

Drei Leute mit Expertenwissen haben dir gesagt was zu tun ist, wo deine Fehler (in den Vorraussetzungen und Annahmen liegen) und was am Besten wäre.
Nur weil du etwas anderes nicht verstehst, ist es nicht unbedingt schlechter bzw. hast du als EINZIGER Mensch auf der ganzen weiten Welt DIE ULTIMATIVE ALTERNATIVE Lösung gefunden.

Aber nun gut, mach einfach.
Ein jeder wie es ihm beliebt.

Scilab Plot (einfachste Version: Farben, Formen, Achsenbezeichnungen, Zoomstufen alles einstellbar) im Anhang.
Orginalsignal, Spektrum und aus dem Spektrum rekonstruiertes Signal (von oben nach unten)

.. ich bin mir seehr sicher .. dass das der exakte Verlauf des Spektrums ist !
Sei so lieb und mach mit deinen Beispiel mit den beiden Frequenzen mir einen Spektrumsplot der bis zur Hälfte der Abtastfrequenz geht. Bspw. Abtastfrequenz 1000 Hz dann TChart-Komponente bitte bis 500 Hz zeichnen lassen.
Was siehst du dann?
Miniaturansicht angehängter Grafiken
sinus-fft-undzurueck.png  
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.674 Beiträge
 
Delphi 2007 Enterprise
 
#42

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 09:22
Ich hab zwar auch aufgegeben, aber dennoch würde mich jetzt mal die Rücktransformation in ein zeitabhängiges Signal interessieren. Vor allem aber auch mal Analysen von komplexeren Signalen, wie z.B. ein gesprochenes gesampeltes Wort. Und davon noch viel mehr die RT!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.973 Beiträge
 
Delphi 10.4 Sydney
 
#43

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 10:34
Ich hab zwar auch aufgegeben, aber dennoch würde mich jetzt mal die Rücktransformation in ein zeitabhängiges Signal interessieren. Vor allem aber auch mal Analysen von komplexeren Signalen, wie z.B. ein gesprochenes gesampeltes Wort. Und davon noch viel mehr die RT!
Mich auch!
Aber der Goertzel schafft das bestimmt!
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#44

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 12:02
Es lohnt sich eigentlich nicht mehr, für keinen von uns.
Drei Leute mit Expertenwissen haben dir gesagt was zu tun ist, wo deine Fehler (in den Vorraussetzungen und Annahmen liegen) und was am Besten wäre.
Eure Überheblichkeit ist ungewöhnlich für eine Delphi Gemeinde.
Sehr schade.

Nur weil du etwas anderes nicht verstehst, ist es nicht unbedingt schlechter bzw. hast du als EINZIGER Mensch auf der ganzen weiten Welt DIE ULTIMATIVE ALTERNATIVE Lösung gefunden.
Nein, nicht ultimativ, und andere haben das höchstwahrscheinlich auch schon gefunden, aber kommst DU an diese Algorithme für Deine eigene Nutzung heran?
Nochmal .. in der FFT wüsste ich nicht, wo ich da drin rumfummeln sollte.
Ich hab nur die mathematisch exakte Lösung ausgerechnet, das ist nicht die ultimative Lösung, da der Goertzel, wie Dir bekannt sein sollte, für ein Vollspektrum nicht der schnellste Algorithmus ist.
Aber nun hat man 2 Vorteile. Jede Näherung, ob Blackman Fenster, oder andere Dinge, können nun auf Fehler verglichen werden, wieviel Fehler ist man bereit zu akzeptieren, und wieviel Genauigkeit ist für meine EIGENE Anwendung überhaupt notwendig.

Da aber der exakte Spektrumverlauf Vorteile bietet, die Maxima zu suchen (Wenn die Anstiegsintensität abnimmt, muss sich ein Maximum zwischen zwei Frequenzen finden. Könnte er doch wieder schnell werden, die Algorithmen dafür sind aber noch nich ganz fertig und ungetestet)

Scilab Plot (einfachste Version: Farben, Formen, Achsenbezeichnungen, Zoomstufen alles einstellbar) im Anhang.
Orginalsignal, Spektrum und aus dem Spektrum rekonstruiertes Signal (von oben nach unten)
da sieht man leider noch nix, da gerade um die interessanten Bereiche drum herum mit Geraden interpoliert wurde, bzw die Abtastung zu grob ist.
Könntest du mal den genauen Zahlenwert des Spektrums bei 49 Hz bzw 51 Hz ausgeben lassen?
oder 99 Hz und 101 Hz?

Sei so lieb und mach mit deinen Beispiel mit den beiden Frequenzen mir einen Spektrumsplot der bis zur Hälfte der Abtastfrequenz geht. Bspw. Abtastfrequenz 1000 Hz dann TChart-Komponente bitte bis 500 Hz zeichnen lassen.
Was siehst du dann?
versteh den Grund der Frage nicht so recht?
aber bitte.. für Dich in extra groß
Miniaturansicht angehängter Grafiken
2011-08-24.aug-%5B11-45-41%5D.png  
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#45

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 13:13

Drei Leute mit Expertenwissen haben dir gesagt was zu tun ist, wo deine Fehler (in den Vorraussetzungen und Annahmen liegen) und was am Besten wäre.
Da ich ja kein Profi mit Expertenwissen bin, kann ich nur Vermutungen anstellen, deswegen die Frage, geht das mit Scilab Plot und der FFT ebenso?
(Ich könnte mir denken, dass da Verfahren hier seine Probleme hat)

Frequenz 1:
-------------
102 Hz (oder 101 Hz)
Amplitude: 3
Phase: 0



Frequenz 2:
-----------
101 Hz
Amplitude: 4
Phase: 45


Grün im Bild ist die Rekonstruktion, darunter rot die Originalkurve.
(Sieht man nicht, da gleich .. kleiner Scherz)

da ich den Frequenzerkennungsalgo noch recht simpel habe, hab ich einfach nur mal auf Up und Downs im Spektrumverlauf geschaut und alle Frequenzen unterhalb 5 Prozent der Maxamplitude, die also auf Rechenungenauigkeiten beruhen, ignoriert.
Miniaturansicht angehängter Grafiken
2011-08-24.aug-%5B13-14-18%5D.png  
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.

Geändert von stoxx (24. Aug 2011 um 13:43 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.674 Beiträge
 
Delphi 2007 Enterprise
 
#46

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 13:32
stoxx bitte. Das ist doch keine Überheblichkeit, das ist das Resultat deiner konstant schwammigen Beschreibung dessen, wozu das Teil nachher denn eingesetzt werden soll. Da dein Ziel nach wie vor sehr allgemein ist, bleibt doch erstmal nur der Rat zu dem, was man allgemein in der Signalanalyse macht. Wenn einer hier etwas arg überzeugt rüber kommt, dann eher du
Ich gebe ja zu: Deine Kurven sehen alle prima aus (dass ich das jemals zu einem Mann sagen würde...), nur bin ich skeptisch bezüglich der Tauglichkeit in realen Anwendungsfällen mit echten, oft nicht so "glatten", Messdaten. Zumal halt nicht klar ist, wofür du das entwickelst! Soll es ein "high-quality"-Ersatz für die FFT sein? Wenn du diese Fragestellungen überheblich nennen willst, nun ja.

Bisher war von dir im Wesentlichen nur zu lesen, wie gut das alles klappt, wobei du aber, an der Terminologie hier und da erkennbar (Spektrumverlauf gibt's nicht, das ist das Frequenzspektrum oder einfach nur Spektrum z.B.)*, nicht so arg tief im Thema zu stecken scheinst. Daher besteht hier denke ich nicht zu Unrecht die Befürchtung, dass das Verfahren in sich total hübsch und rund ausschaut, in realen Anwendungsfällen aber evtl. garnicht sinnvoll einsetzbar ist.

Wie machst du die Rücktransformation eigentlich? IFFT? Gibt's nen inversen Goertzel? Das war der eigentlich interesante Teil der Frage vorhin

Komm doch bitte für nen Ründchen vom "was wollt ihr, es funktioniert doch, seht her"-Ross herunter, und lass dir von uns Ungläubigen mal die Nachfragen gefallen. Ist ja nicht so, als wäre die Sache uninteressant, aber dein Auftreten ist nicht sonderlich Kommunikationsfördernd. So kenne ich dich gar nicht Wir wollen dir sicherlich nicht an die Karre fahren, das könnten wir einfacher haben.

*) Das soll kein Rechtschreib- oder Fachwortbash sein. Nicht, dass du das weiterhin so auslegst. Es ist schlicht der daraus mögliche Rückschluss, dass dir ggf. einige Zusammenhänge einfach nicht Bekannt sind, die aber wichtig zu bedenken sind wenn man so einen Algo in entsprechenden Kontexten einsetzen will. Nachher "vermarktest" du das als "perfekte FFT", und deine Kunden wundern sich nachher, warum auf einmal diese oder jene mathematische Eigenschaft nicht mehr da ist. Das ist alles.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (24. Aug 2011 um 13:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#47

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 14:06
stoxx bitte. Das ist doch keine Überheblichkeit, das ist das Resultat deiner konstant schwammigen Beschreibung dessen, wozu das Teil nachher denn eingesetzt werden soll.
hmm .. das war für die Fragestellung eines Algorithmus ja erstmal nicht so wichtig.
Es geht um Zykliken in Finanzzeitreihen.


Da dein Ziel nach wie vor sehr allgemein ist, bleibt doch erstmal nur der Rat zu dem, was man allgemein in der Signalanalyse macht. Wenn einer hier etwas arg überzeugt rüber kommt, dann eher du
das stimmt, aber man entfernt sich doch damit viel zu sehr von den Wurzeln. Du kannst Signalanalyse, aber die Frage ist, kannst Du alles auf einen einfachen Nenner bringen? damit meine ich, kannst Du z.b. die Differentialrechnung einem Neuling einführend und von Anfang an, in sich plausibel herleiten?


Ich gebe ja zu: Deine Kurven sehen alle prima aus (dass ich das jemals zu einem Mann sagen würde...),
versteh ich nicht .. ich denke, das ist auch alles mit der FFT möglich?
warum sehen jetzt die Kurven prima aus?

nur bin ich skeptisch bezüglich der Tauglichkeit in realen Anwendungsfällen mit echten, oft nicht so "glatten", Messdaten.
Der reale Einsatz könnte nur an Geschwindigkeitsfragen scheitern, aber wie gesagt, die intelligente Peaksuche ist noch nicht entwickelt von mir, müsst man dann mal direkt vergleichen. Und warum hast Du bedenken zwecks der Messdaten? Der Goertzel Algo die Grundstufe der Mathematik, alle weiteren Verfahren sind nur entwickelt worden, um Geschwindigkeiten zu optimieren. Alles geht einher mit Ungenauigkeitenn, die man sich damit einkauft.
Mehr als der Goertzel (dier Goertzel) kann niemand ! (nur schneller)
Ist eben ein "Bubblesort" Algorithmus. Was kann man mit Bubblesort nicht sortieren?

Zumindest was die Untersuchung von stationären Signalen (nennt man glaub ich so) angeht.
Also in der Chaostherie wird man damit keine Blumentöpfe gewinnen.

Zumal halt nicht klar ist, wofür du das entwickelst! Soll es ein "high-quality"-Ersatz für die FFT sein? Wenn du diese Fragestellungen überheblich nennen willst, nun ja.
ja, ich mags halt genau. Geschwindigkeit erstmal egal, da Börsendaten ja auch Daten sind, von denen man erstmal grundsätzlich nix weiß, und ich nicht irgendwelche Peaks von Algorithmenungenauigkeiten haben will.

Wie machst du die Rücktransformation eigentlich? IFFT? Gibt's nen inversen Goertzel? Das war der eigentlich interesante Teil der Frage vorhin
die Frage erstaunt mich, und zeigt mir auch, dass Du viel zu fest gefahren bist in Deinem Denken. Einfach eine überlagerte Schwingung erzeugen. Hier der Quellcode dafür.

Delphi-Quellcode:
procedure TForm1.btn_GoertzelClick(Sender: TObject);
var i: Integer;
    f, phase, amp : Extended;
    j: integer;
begin
  SetLength(Rekonstr,length(Signal));
  for i := 0 to High(Rekonstr) do
           Rekonstr[i] := 0;

  for j := 0 to FrequncyFinder.count - 1 do begin
     f := FrequncyFinder.Frequency[j];
     phase := FrequncyFinder.Phase[j];
     amp := FrequncyFinder.Amplitude[j];
        for i := 0 to High(Rekonstr) do
           Rekonstr[i] :=Rekonstr[i] + Amp * sin(2* Pi * f * i / Sig_fAbtast + Phase /180 * Pi);
  end; // for i (ff.Count - 1)

  se_Rekonstruktion.Clear;
  for i := 0 to High(Rekonstr) do
    se_Rekonstruktion.AddXY(i * 1 / Sig_fAbtast,Rekonstr[i]);
end;

aber dein Auftreten ist nicht sonderlich Kommunikationsfördernd. So kenne ich dich gar nicht
ähm .. kennen wir uns? .. klang so persönlich?

Nachher "vermarktest" du das als "perfekte FFT", und deine Kunden wundern sich nachher, warum auf einmal diese oder jene mathematische Eigenschaft nicht mehr da ist. Das ist alles.
welche Eigenschaft soll fehlen?
Dankbar für jede Wissenserweiterung
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.

Geändert von stoxx (24. Aug 2011 um 21:26 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.973 Beiträge
 
Delphi 10.4 Sydney
 
#48

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 16:17
Ein paar kleine Fragen:

In einen Börsenkurs über einen x beliebigen Zeitraum liegen y viele Frequenzen, richtig?
Egal wie sehr man zeitlich in einen Kurswert reinzoomt, es sieht im Prinzip aus wie Rauschen, richtig?
Egal ob man jetzt die Kursentwicklung von drei Monaten oder drei Stunden anschaut, richtig?

Wofür ist der Goertzel Algo damals 1958 entwickelt worden?
Für welche Anwendungsfälle?

Welche Parameter musst du den Goertzel Algo übergeben, damit er rechnen kann?
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#49

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 16:50
Ein paar kleine Fragen:

Wofür ist der Goertzel Algo damals 1958 entwickelt worden?
Für welche Anwendungsfälle?

Welche Parameter musst du den Goertzel Algo übergeben, damit er rechnen kann?

Du findest den Goertzel im Eingangspost von mir oder die Version von Peter etwas später.
Wofür er entwickelt wurde, kann ich Dir nicht sagen, aber man nimmt / nahm ihn zur Erkennung der töne im Mehrfrequenzwahlverfahren im Telefon.
Börse .. naja .. ist sicherlich etwas komplizierter, Du solltest die Eingangssignale sicherlich noch normalisieren und standardisieren. Falls Du so mutig sein willst, Schwingungen dort erkennen zu wollen.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#50

AW: Goertzel Algorithmus (Frequenz + Phase)

  Alt 24. Aug 2011, 16:51
.. aber dennoch würde mich jetzt mal die Rücktransformation in ein zeitabhängiges Signal interessieren. Vor allem aber auch mal Analysen von komplexeren Signalen, wie z.B. ein gesprochenes gesampeltes Wort. Und davon noch viel mehr die RT!
schick doch mal eine Textdatei mit Deinen gewünschten Zahlen drin
dann guck ich mir es mal an.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf