Der Goertzel-Algorithmus ist ein Verfahren aus der digitalen Signalverarbeitung und stellt eine besondere Form der diskreten Fourier-Transformation (DFT) dar. Im Gegensatz zu den verschiedenen schnellen Berechnungsmethoden bei der diskreten schnellen Fourier-Transformation (FFT), die immer alle diskreten Spektralkomponenten in einem Block berechnen, ist es mit dem Goertzel-Algorithmus möglich, nur einzelne diskrete Spektralanteile zu berechnen. Entwickelt wurde der Algorithmus 1958 von Gerald Goertzel (1919–2002).

Funktion

Bearbeiten

Der Algorithmus basiert auf einer Struktur bestehend aus einem digitalen Filter, das um eine Zustandssteuerung erweitert ist. Die Zustände unterteilen die Berechnung in den Rückwärtszweig, in dem die im Zeitbereich abgetasteten Eingangswerte geladen werden, und in einen Vorwärtszweig, der das Ausgangssignal liefert. Die Rückwärtsschleife wird bei jedem digitalen Abtastwert (englisch sample) durchlaufen und ist als ein rekursives digitales Filter mit zwei Zustandsspeichern und einem Akkumulator aufgebaut. Der Vorwärtszweig wird erst nach Abtastwerten einmalig durchlaufen und liefert aus den Zustandsspeichern den berechneten komplexen Ausgangswert – nämlich die spektrale Komponente nach Betrag und Phase.

Durch die Wahl der dabei eingesetzten Filterkoeffizienten lässt sich die Frequenzselektivität einstellen. Durch die Wahl der Anzahl der Abtastwerte lässt sich der Gütefaktor beeinflussen. kann beliebige natürliche Werte annehmen.

Pro Spektralkomponente ist allerdings eine eigenständige Goertzel-Struktur notwendig. Daher ist dieser Algorithmus vor allem dann vorteilhaft und mit geringerem Rechenaufwand anwendbar, wenn nicht das komplette Spektrum berechnet werden soll, sondern nur einzelne Spektralkomponenten daraus.

Ausführliche mathematische Herleitungen des Algorithmus finden sich in den unten angegebenen Literaturquellen.

Algorithmus

Bearbeiten

Von einem diskreten Signal wird der Realteil und der Imaginärteil einer Spektralkomponente über einen rekursiven Algorithmus bestimmt.[1] Die Startbedingungen sind:

Über

   für

ergibt sich:

Auf die Winkelfunktionen und muss dabei nur je einmal zugegriffen werden.

Aufwandsabschätzung

Bearbeiten

Pro Berechnung einer Spektralkomponente sind beim Goertzel-Algorithmus Additionen/Subtraktionen und Multiplikationen notwendig.[2] Vergleicht man diesen Aufwand mit dem Berechnungsaufwand bei der schnellen Fourier-Transformation (FFT), ist der Goertzel-Algorithmus immer dann effizienter, wenn weniger als Spektralkomponenten berechnet werden sollen. Denn pro Spektralkomponente (bin) ist eine weitere Goertzelstruktur notwendig, während bei der schnellen Fourier-Transformation der Berechnungsaufwand nur mit ansteigt.

Der Algorithmus kann effizient in digitalen Signalprozessoren implementiert werden.

Anwendungen

Bearbeiten

Die Anwendungen liegen in der Erkennung einzelner Frequenzen (Tonerkennung) in einem Signal wie beispielsweise bei der Erkennung der Signalisierungsfrequenzen bei dem im Telefonbereich eingesetzten Mehrfrequenzwahlverfahren. In diesem Fall muss nur der Betrag der Spektralkomponente ausgewertet werden, was weitere Vereinfachungen in der Berechnung gestattet.

Literatur

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Gerald Goertzel: An Algorithm for the Evaluation of Finite Trigonometric Series. In: The American Mathematical Monthly. Vol. 65, No. 1. Nuclear Development Corporation of Americ,White Plains, N. Y. Januar 1958, S. 34–35, doi:10.2307/2310304 (washington.edu [PDF]).
  2. Karl-Dirk Kammeyer, Kristian Kroschel: Digitale Signalverarbeitung: Filterung und Spektralanalyse mit MATLAB-Übungen. Springer-Verlag, 2009, ISBN 978-3-8348-0610-9, S. 274 (google.de [abgerufen am 24. Juni 2017]).

📚 Artikel Terkait di Wikipedia

Schnelle Fourier-Transformation

Blocklänge mit der des Algorithmus von Cooley und Tukey vergleichbar. Der Goertzel-Algorithmus stellt eine besondere Form zur effizienten Berechnung einzelner

Propaganda

bestätigtes, wissenschaftliches Modell, der amerikanische Soziologe Ted Goertzel bezeichnet es dagegen als Verschwörungstheorie und „Teil eines intellektuellen

Diskrete Fourier-Transformation

spektraler Komponenten bei beliebigen Blocklängen N {\displaystyle N} kann der Goertzel-Algorithmus verwendet werden. Die Berechnung pro Spektralkomponente benötigt

Allgemeine künstliche Intelligenz

Legg und Ben Goertzel erneut eingeführt und popularisiert. Die AGI-Forschungsaktivitäten im Jahr 2006 förderten laut Pei Wang und Goertzel „Veröffentlichungen

Technologische Singularität

Philosoph Damien Broderick, Literaturwissenschaftler und Schriftsteller Ben Goertzel, Forscher, Autor, Vorsitzender der AGI Society, Gründer von SingularityNet

Herbert Wilf

wie er selber schreibt, aber in Wirklichkeit bei dem Physiker Gerald Goertzel (1919–2002), für den er ab 1952 neben seinem Studium in einer Art Denkfabrik

Frequenzumtastung

Berechnungsaufwand auch der Goertzel-Algorithmus verwendet werden. Zu beachten ist dabei die blockorientierte Verarbeitung dieser Algorithmen, welche unter Umständen