Delphi-PRAXiS
Seite 5 von 11   « Erste     345 67     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Goertzel Algorithmus (Frequenz + Phase) (https://www.delphipraxis.net/162396-goertzel-algorithmus-frequenz-phase.html)

TiGü 24. Aug 2011 07:22

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von stoxx (Beitrag 1119144)
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)

Zitat:

Zitat von stoxx (Beitrag 1119144)
.. 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?

Medium 24. Aug 2011 08:22

AW: Goertzel Algorithmus (Frequenz + Phase)
 
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!

TiGü 24. Aug 2011 09:34

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von Medium (Beitrag 1119164)
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! :roll:

stoxx 24. Aug 2011 11:02

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von TiGü (Beitrag 1119151)
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.

Zitat:

Zitat von TiGü (Beitrag 1119151)
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)

Zitat:

Zitat von TiGü (Beitrag 1119151)
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?

Zitat:

Zitat von TiGü (Beitrag 1119151)
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ß

stoxx 24. Aug 2011 12:13

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von TiGü (Beitrag 1119151)

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.

Medium 24. Aug 2011 12:32

AW: Goertzel Algorithmus (Frequenz + Phase)
 
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.

stoxx 24. Aug 2011 13:06

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von Medium (Beitrag 1119248)
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.


Zitat:

Zitat von Medium (Beitrag 1119248)
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?


Zitat:

Zitat von Medium (Beitrag 1119248)
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?

Zitat:

Zitat von Medium (Beitrag 1119248)
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.

Zitat:

Zitat von Medium (Beitrag 1119248)
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.

Zitat:

Zitat von Medium (Beitrag 1119248)
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;

Zitat:

Zitat von Medium (Beitrag 1119248)
aber dein Auftreten ist nicht sonderlich Kommunikationsfördernd. So kenne ich dich gar nicht :?

ähm .. kennen wir uns? .. klang so persönlich?

Zitat:

Zitat von Medium (Beitrag 1119248)
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 :wink:

TiGü 24. Aug 2011 15:17

AW: Goertzel Algorithmus (Frequenz + Phase)
 
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?

stoxx 24. Aug 2011 15:50

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von TiGü (Beitrag 1119330)
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.

stoxx 24. Aug 2011 15:51

AW: Goertzel Algorithmus (Frequenz + Phase)
 
Zitat:

Zitat von Medium (Beitrag 1119164)
.. 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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:49 Uhr.
Seite 5 von 11   « Erste     345 67     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz