Fourier-Analyse
Einführung
Die wohl wichtigste Methode der Frequenzanalyse ist die Fourier-Analyse. Die grundlegende Bedeutung der Fourier-Analyse ergibt sich daraus, dass sie ein Signal x(t) in eine Darstellung zerlegt, die einer Überlagerung von Sinus- und Cosinusschwingungen entspricht. Das Ergebnis dieser Transformation wird als Signalspektrum oder kurz Spektrum bezeichnet. Definition der Fourier-Transformation:
Das Signalspektrum ist vom Informationsgehalt gleichwertig mit dem ursprünglichen Signal und darüber hinaus wird es dem Entstehungsmechanismus beispielsweise von zu analysierenden Schwingungen gerecht. Wenn von zwei verschiedenen Bauteilen Schwingungen mit unterschiedlicher Periode (Frequenz) ausgehen, die sich additiv überlagern, sind in der Fourier-Transformierten zwei verschiedene Komponenten sichtbar. Die Kombination von Sinus und Cosinus für jede Frequenz ermöglicht es außerdem beliebige Phasenlagen abzubilden.
Werden beispielsweise zwei Sinusschwingungen mit unterschiedlicher Frequenz und Amplitude überlagert, ergeben sich die in der unteren Darstellung aufbereiteten Grafiken. Aus dem Zeitverlauf lässt sich kaum sagen, wie sich das Gesamtsignal zusammensetzt. Aus dem Betragsspektrum |X(w)|, dem Betrag der Fourier-Transformierten, mit entsprechender Skalierung (siehe Skalierung von Spektren) lässt sich hingegen leicht erkennen, dass es sich um zwei Schwingungen handelt – eine mit der Frequenz 0,2 kHz und Amplitude 2,6 und eine mit der Frequenz 1 kHz und Amplitude 3,8. Die Phaseninformation ist aufgrund der Betragsbildung ausgeblendet.
In dem Beispiel Magnitudenspektrum wird für ein Signal dieser Form exemplarisch das Magnitudenspektrum berechnet und dargestellt.
Es gibt zwei Prozesse, welche die in einer Maschine entstehenden Schwingungssignale bei der Schallübertragung beeinflussen. Erstens eine Übertragung über Maschinenteile, die Schwingungen je nach Frequenz unterschiedlich stark dämpfen und zweitens die Überlagerung mit Schwingungen von anderen Maschinenkomponenten, wobei sich die Amplituden ohne gegenseitige Beeinflussung addieren. Aufgrund der Eigenschaften der Fourier-Transformation werden beide Faktoren voneinander getrennt:
- Zeitverzögerungen wirken sich ausschließlich auf die Phase der Fourier-Transformierten aus
- Frequenzselektive Dämpfung sowie konstruktive Überlagerung der Schwingungsamplituden werden im Betrag der Fourier-transformierten sichtbar.
Verarbeitung zeitdiskreter Signale und die Diskrete Fourier-Transformation
Ein sehr wichtiger Aspekt bei der Anwendung der Fourier-Analyse ist die zeitliche Abtastung des Signals. Die Fourier-Tansformierte ist mathematisch definiert für kontinuierliche, zeitlich unbeschränkte Signale.
Praktisch eingesetzt wird jedoch die Diskrete Fourier-Transformation (DFT). Diese ist definiert für ein diskretes, periodisches Signal mit einer endlichen Zahl von diskreten Frequenzkomponenten. "Diskret" bedeutet hierbei, dass das Signal in zeitlich gleichen Schritten abgetastet wird; dies geschieht in der Regel direkt bei der Aufnahme mit einem Analog-Digital-Umsetzer, z.B. in einer EL3xxx oder ELM3xxx.
Wird ein zeitkontinuierliches Signal mit einer Periode T abgetastet so ergibt sich eine Wertfolge:
Diese aus N Werten bestehende Folge kann mittels DFT in ein diskretes Spektrum transformiert werden.
Die Variable k repräsentiert nun einen Frequenzkanal, auch Frequenz-bin genannt, und läuft wie die Variable n von 0 bis N ––1.
Diskretisierung der Zeit und Quantisierung von Werten (Digitalisierung)
Für die digitale Verarbeitung analoger Signale sind zwei Operationen notwendig: Quantisierung von der analogen zur digitalen Wertdarstellung und Abtastung vom zeitlich kontinuierlichen physikalischen Signal zu diskreten Sequenz von quantisierten Werten.
Die Digitalisierung der Messwerte erfolgt in der I/O Klemme durch den Analog-Digital-Umsetzer. Üblicherweise erfolgt eine Quantisierung der Werte auf ein ganzzahliges Signal mit vorzeichenbehafteter 16-Bit Darstellung oder 24-Bit Darstellung. Die Verarbeitung in der TwinCAT 3 Condition Monitoring Library erfolgt durchgängig im 64-Bit IEEE Double-Fließkommaformat, welches moderne Prozessoren hardwaremäßig implementieren. Die zeitliche Abtastung erfolgt ebenfalls in der I/O Klemme durch die Abtastung des Eingangssignals mit einer definierten Abtastfrequenz. Diese berechnet sich für eine Task-Zyklus-Zeit Tc und einen Oversampling-Faktor cs zu:
Beispiel: Wählt man eine Task-Zyklus-Zeit von 1 ms und ein Oversampling von 10, so ergibt sich eine Abtastrate von fs = 10 * 1 / ( 10-3 * 1s ) = 10 kHz.
Die Abtastfrequenz ist unbedingt zu beachten Die Abtastfrequenz ergibt sich in TwinCAT aus der Task Cycle Time und dem Oversampling-Faktor der genutzten Klemme: |
Abtasttheorem
Die wichtigste praktische Einschränkung bei der Anwendung der DFT ist die Beschränkung der eindeutig darstellbaren Frequenzen. Nach dem Nyquist-Theorem oder Abtasttheorem können (leicht vereinfacht beschrieben) nur Signale eindeutig dargestellt werden, deren höchste im Signal vorkommende Frequenz fmax maximal der halben Abtastfrequenz fs entspricht. Entsprechend ist die Abtastfrequenz größer als die höchste im analogen Signal vorkommende Frequenz zu wählen.
Die Anwesenheit höherer Frequenzen im analogen Signal führt zu sogenannten Aliasing. Das analoge Signal wird dann nicht mehr korrekt im diskreten Signal wiedergegeben. Höhere Frequenzen müssen deswegen noch vor der Analog-Digital-Umsetzung durch einstellbare Analogfilter aus dem analogen Signal entfernt werden.
Anti-Aliasing-Filter Die EtherCAT-Klemmen EL3xxx bzw. ELM3xxx stellen je nach Klemmentyp verschiedene Filter zur Verfügung. Die EtherCAT-Klemme EL3632 verfügt z.B. über einen analogen parametrierbaren Tiefpassfilter 5. Ordnung, welcher zur Vermeidung von Aliasing eingesetzt werden soll. Die EL3751 sowie die ELM3xxx Module verfügen über mehrere Filterstufen, die zur Anti-Aliasing-Filterung sowie zur Nutzsignalfilterung ausgelegt werden können, siehe dazu auch den TC3 Filter Designer. |
Frequenzauflösung
Da die Frequenzauflösung (diskrete Auflösung nach Frequenzkomponenten im Signal) es ermöglicht, verschiedene Signalanteile bestimmten Maschinenelementen und Schadstellen zuzuordnen, wird es in vielen Fällen von Interesse sein, eine möglichst hohe Auflösung der diskreten Frequenzachse zu erzielen.
Grundsätzlich bestimmt die Länge der Fourier-Transformation N die Schrittweite Δf auf der diskreten Frequenzachse k .Δf. Eine grundlegende Überlegung dazu erleichtert das Verständnis: Um die Frequenz einer Sinusschwingung im Frequenzbereich darstellen zu können, muss die Messzeit mindestens eine volle Periode dieser Schwingung betragen. Daraus ergibt sich folgender Zusammenhang zwischen Auflösung Δf und Messzeit Tm:
Typischer PLC Code Syntax, siehe bspw. in der MAIN Routine im Beispiel Magnitudenspektrum:
fSampleRate := cOversamples * (1000.0 / fTaskCycleTime);
fResolution := fSampleRate / cFFTLength;
Für eine hohe Frequenzauflösung ist demnach eine lange Messzeit erforderlich. Es ist möglich, die Eingangsdaten für die DFT durch symmetrisches Hinzufügen von Nullen vor und hinter dem Eingangssignal zu verlängern (Zero Padding ). Dadurch erhöht sich die Länge N der Signalfolge bei gleichbleibender Abtastrate fs , wodurch sich die diskrete Auflösung Δf verfeinert. Das Zero Padding fügt allerdings keine zusätzlichen Informationen zum Signal hinzu. Man unterscheidet bei Verwendung von Zero Padding zwei verschiedene Arten von Auflösung: Einerseits die Schrittweite zwischen einem Frequenz-bin zum nächsten auf der diskreten Frequenzachse, d.h. dem Übergang von k.Δf zu (k +1).Δf , und andererseits die Auflösung zur messtechnischen Unterscheidung von zwei nahe benachbarten Frequenzen des Eingangssignals.
Durch das Zero Padding wird zwar die diskrete Auflösung Δf kleiner, die messtechnische Auflösung verändert sich dadurch hingegen nicht. Eine Verfeinerung der messtechnischen Auflösung kann nur durch eine entsprechend lange Messzeit (in der Condition Monitoring Bibliothek für FFT-basierte Algorithmen oft als WindowLength bezeichnet) realisiert werden. In der Anwendung ist in der Regel die messtechnische Frequenzauflösung entscheidend, welche die Unterscheidbarkeit zwischen zwei eng benachbarten Signalfrequenzen beeinflusst.
Zero Padding Durch Zero Padding wird keine Information zu dem zu analysierenden Signal hinzugefügt. Die Frequenzauflösung zur Unterscheidung von zwei nahe benachbarten Frequenzen des Signals wird demnach nicht verfeinert, sondern nur die numerische Auflösung der Frequenzachse. |
Veranschaulichung an einem Beispiel:
Bei einer Task Cycle Time Tc = 1 ms und einem Oversampling-Faktor von 10 (d.h. fs = 10 kHz) werde ein Buffer der Länge 3200 gefüllt. Hieraus ergibt sich eine Messzeit von Tm = Tc * 3200 / 10 = 320 ms und somit eine Auflösung im messtechnischen Sinn von Δf = 1 / 320 ms = 3,125 Hz. Wird für weiterführende Analysen/Berechnungen eine FFT herangezogen, wird der Buffer symmetrisch um 2*448 Nullen erweitert um eine Länge N von 2^12 = 4096 > 3200 zu erreichen (N muss eine Potenz von 2 sein, siehe nächster Abschnitt). Die Numerische Auflösung verfeinert sich durch das Zero Padding somit auf Δf = 10 kHz / 4096 = 2,44140625 Hz.
Die diskrete Frequenzachse wird limitiert durch die Frequenz Null (Gleichanteil) und der Nyquist-Frequenz fnyq, welche der halben Abtastfrequenz entspricht. Nach dem Nyquist-Theorem entspricht sie also der höchsten darstellbare Frequenz des aufgenommenen Signals. Wird das diskrete Spektrum X[k] in einem SPS Array mit dem Index m, welcher von 1..N läuft, gespeichert, so ergibt sich folgende Frequenzachse zu X[k]
fFrequency := (m-1) * fResolution; // m = 1..N/2+1
Hier repräsentiert m = 1 den Gleichanteil und m = N/2+1 die Nyquist-Frequenz. Die Indizes für m von N/2+2 bis N bilden die sogenannten negativen Frequenzen, welche praktisch allerdings nur relevant sind, wenn das Eingangssignal x[n] zur FFT komplexwertig ist. Sehen Sie dazu den Abschnitt Spiegelfrequenzen.
Folgende Abbildung veranschaulicht den Aufbau der Frequenzachse zu einer DFT der Länge N (wobei N eine gerade Zahl sei).
Effiziente Berechnung durch FFT-Algorithmen
Die Schnelle Fourier-Transformation (FFT) bezeichnet genau genommen eine Familie von Algorithmen zur Diskreten Fourier-Transformation (DFT), die besonders effizient implementiert sind, sich im numerischen Ergebnis jedoch nicht von der DFT unterscheiden. Während die Komplexität einer naiv implementierten DFT mit N Zeitwerten O(N 2) beträgt, beträgt sie für eine FFT nur O (N * logN). Wenn N größere Werte erreicht, ist der erzielte Unterschied beträchtlich. Für N=1024 macht er beispielsweise schon einen Faktor von etwa Einhundert aus. Üblicherweise sind FFT-Algorithmen für Werte von N (mit N = Länge der FFT) definiert, die eine Zweierpotenz darstellen, also 256, 512, 1024 und so weiter.
Komplexwertiges Ergebnis
Die FFT (sowie die DFT) zerlegt das eingehende Signal x[n] in eine Reihe von Sinus- und Cosinusschwingungen. Für jede Frequenz gibt es je einen Koeffizienten für die Sinus- und Cosinuskomponenten. Beide Faktoren zusammen werden dargestellt als eine komplexe Zahl. Die Zerlegung findet sich in der Eulerschen Formel wieder:
Der Realteil Re{..} jedes Fourier-Koeffizienten entspricht der Cosinus-Komponente, der Imaginärteil Im{..} entsprechend der Sinus-Komponente. Dabei spiegelt das Verhältnis der beiden Komponenten die Phasenlage der Frequenzkomponente wieder:
In vielen Fällen interessiert nicht die genaue zeitliche Charakteristik des Signals, sondern nur das Betragsspektrum. Dieses lässt sich aus der Fourier-Transformierten durch Betragsbildung der komplexen Zahl ermitteln:
Komplexer Datentyp Das Ergebnis der FFT eines reellwertigen oder komplexwertigen Eingangssignals ist komplexwertig. Als Datentypen werden für die Signaldarstellung der Typ |
Spiegelfrequenzen
Für die Fourier-transformierte eines reellen Signals gilt, dass die Koeffizienten für negative Frequenzen gleich den komplex konjugierten für positive Frequenzen sind. Ist X[k] die Fourier-transformierte von x[n] und X*[k] die komplex konjugierte, so gilt für eine Fourier-Transformation mit N Punkten:
Weiterhin entspricht bei reellwertigen Signalen eine Zeitumkehr des Eingangssignals der komplexen Konjugation der Fourier-transformierten. Daraus folgt, dass die Spektralwerte für Frequenzen unterhalb der Nyquist-Frequenz in den Werten oberhalb der Nyquist-Frequenz gespiegelt auftreten. Da die Werte mit k > N/2 für reelle Eingangssequenzen somit redundant sind, wird die Fourier-transformierte für reelle Sequenzen normalerweise auf die ersten N/2 Werte beschränkt (gilt für k = 0..N––1).
Übersicht zur Berechnung von Spektralwerten
Die Condition Monitoring Bibliothek bietet eine Vielzahl an Möglichkeiten zur Berechnung von Spektralwerten. Folgende Tabelle bietet einen Überblick. Die Zusammenhänge der FFT mit (überlappenden) Fenstern werden im nächsten Kapitel näher betrachtet.
Funktionsbaustein | Input | Output | Anmerkung | ||||
---|---|---|---|---|---|---|---|
dimension | real | cplx | dimension | Real | cplx | ||
| - |
| - |
| |||
| - |
| - |
| |||
| - |
| - |
| |||
| - |
| - |
| |||
| - |
| - |
| |||
| - |
| - |
| |||
| - |
| - |
| |||
| - |
|
| ||||
| - |
| - |
| |||
|
| - |
|
Hierbei entspricht N
der FFT Länge, L
der Fensterlänge (respektive Überlappung) und nBins
der Anzahl konfigurierter Spektralwerte. Ferner bezeichnet D
den Dezimierungsfaktor. Die Länge des Eingangssdatenpuffers des Funktionsbausteins FB_CMA_SlidingDFT ist nicht auf eine feste Größe beschränkt. Die Längen L
, V
des Ordnungsspektrums müssen spezifisch auf Vibrations- und Positionsdaten angepasst werden.