Tuesday 31 October 2017

Digitale Signalverarbeitung


Signalverarbeitung Signalverarbeitung ist die Kunst und Wissenschaft der Modifizierung erworbener Zeitreihen-Daten für die Zwecke der Analyse oder Verbesserung. Beispiele umfassen die Spektralanalyse (unter Verwendung des Fast Fourier oder anderer Transformationen) und die Verbesserung der erfassten Daten mittels digitaler Filterung. Igor eignet sich aufgrund seiner starken Unterstützung langwieriger Zeitreihen (oder sogenannter Wellenformdaten) ideal für die Signalverarbeitung. Und weil seine vielen eingebauten Signalverarbeitungsbefehle einfach durch einfache Dialoge verwendet werden können. Darüber hinaus macht Igoracutes Programmiersprache es einfach, jede Art von benutzerdefinierten Signalverarbeitung Algorithmus, stark unterstützt durch die Macht der Igoracutes Fourier (und andere) Transformationen zu implementieren. Igor verwendet den Fast Fourier Transform (FFT) Algorithmus, um eine diskrete Fourier Transformation (DFT) zu berechnen. Die FFT kann verwendet werden, um die Grße und die Phase eines Signals einfach zu charakterisieren, oder es kann in Kombination mit anderen Operationen verwendet werden, um weitergehende Berechnungen wie Faltung oder Korrelation durchzuführen. Die FFT-Berechnung geht davon aus, dass sich die Eingangsdaten immer wieder wiederholen. Dies ist wichtig, wenn der Anfangs - und der Endwert Ihrer Daten nicht gleich sind: die Diskontinuität verursacht Aberrationen im Spektrum, die von der FFT berechnet werden. Das Kurvenfahrzeug glättet die Enden der Daten, um diese Aberrationen zu eliminieren. "Power Spectraquot beantworten die Frage, welche Frequenzen die signalacutes powerquot enthalten. Die Antwort ist in Form einer Verteilung von Leistungswerten als Funktion der Frequenz, wobei quotpowerquot als der Mittelwert der Signale up2 angesehen wird. Im Frequenzbereich ist dies das Quadrat der Größe FFTacutes. Die Leistungsspektren können für das gesamte Signal auf einmal berechnet werden (ein Periodogramquot) oder Periodogramme von Segmenten des Zeitsignals können miteinander gemittelt werden, um den spektralen Dichtequotienten zu bilden. Die Hilbert-Transformation berechnet ein Zeitbereichssignal, das um 90 ° phasenverschoben zu dem Eingangssignal ist. Eindimensionale Anwendungen umfassen das Berechnen der Hüllkurve eines modulierten Signals und die Messung der Abfallrate einer exponentiell abnehmenden Sinuskurve, die häufig in unterdämpften linearen und nichtlinearen Systemen auftritt. Wenn Sie das Fourier-Spektrum (oder Power Spectra) eines Signals berechnen, das Sie über alle Phaseninformationen verfügen, die in der Fourier-Transformation enthalten sind. Sie können herausfinden, welche Frequenzen ein Signal enthält, aber Sie wissen nicht, wann diese Frequenzen im Signal auftreten. Betrachten wir z. B. das Signal: Die Spektraldarstellung von f (t) bleibt im wesentlichen unverändert, wenn wir die beiden Frequenzen f 1 und f 2 vertauschen. Offensichtlich ist das Fourier-Spektrum nicht das beste Analysewerkzeug für Signale, deren Spektren zeitlich schwanken. Eine Lösung für dieses Problem ist das sogenannte quasi-zeitliche Fourier-Transformquot (oder quotSonogramquot), in dem man die Fourier-Spektren unter Verwendung eines gleitenden zeitlichen Fensters berechnen kann. Durch Anpassen der Breite des Fensters können Sie die zeitliche Auflösung der resultierenden Spektren bestimmen. Sie können Faltung verwenden, um die Antwort eines linearen Systems auf ein Eingangssignal zu berechnen. Das lineare System ist durch seine Impulsantwort definiert. Die Faltung des Eingangssignals und der Impulsantwort ist das Ausgangssignal. Die digitale Filterung wird dadurch erreicht, daß ein lineares System eine Impulsreaktion definiert, die, wenn sie mit dem Signal gefaltet wird, das gewünschte Ergebnis erreicht (Tiefpaß oder Hochpaßfilter). Der Korrelationsalgorithmus ist mathematisch der Faltung sehr ähnlich, wird aber für verschiedene Zwecke verwendet. Es wird am häufigsten verwendet, um die Zeitverzögerung zu identifizieren, bei der zwei Signale quadratisch sind oder annähernd gleich sind. Glättung entfernt kurzfristige Variationen, oder quotnoisequot, um die wichtige zugrunde liegende Form der Daten zu enthüllen. Die einfachste Form der Glättung ist der mittlere Mittelwert, der einfach jeden Datenwert durch den Durchschnitt der benachbarten Werte ersetzt. (Andere Ausdrücke für diese Art von Glättung sind quotsliding averagequot, quotbox smoothingquot oder quotboxcar smoothingquot.) Igoracutes Smooth Betrieb führt Box Glättung, quotbinomialquot (Gaussian) Glättung und Savitzky-Golay (Polynom) Glättung. Die verschiedenen Glättungsalgorithmen berechnen gewichtete Mittelwerte, die benachbarte Werte durch unterschiedliche Gewichte oder Quotientenquoten multiplizieren, um den geglätteten Wert zu berechnen. Digitale Filter sind ein natürliches Werkzeug, wenn Daten bereits digitalisiert werden. Gründe für die Anwendung der digitalen Filterung auf Daten sind: Eliminierung von unerwünschten Signalkomponenten (quotnoisequot) Verstärkung der gewünschten Signalkomponenten Erfassen bestimmter Signale Simulation linearer Systeme (Berechnung des Ausgangssignals bei Eingangssignal und Systemübertragung quottransfer Funktionsquot) Digitalfilter allgemein Kommen in zwei Geschmacksrichtungen: Finite Impulse Response (FIR) und Infinite Impulse Response (IIR) Filter. Igor implementiert FIR digitale Filterung in erster Linie durch Zeit-Domain-Faltung mit dem Smooth oder SmoothCustom Befehle. (Trotz itacutes benennt SmoothCustom Daten mit benutzerdefinierten Filterkoeffizienten, um jede Art von FIR-Filter, Tiefpaß, Hochpass, Bandpass usw. zu implementieren.) Das Design der FIR-Filterkoeffizienten, die mit SmoothCustom verwendet werden, ist am meisten Leicht zu erreichen mit dem Igor Filter Design Laboratory (ein separates Produkt, das auch erfordert Igor Pro). IIR digitale Filter werden entworfen und auf Daten mit IFDL angewendet. Die Pegeldetektion ist der Prozeß des Lokalisierens der X-Koordinate, bei der Ihre Daten durchlaufen oder einen gegebenen Y-Wert erreichen. Dies wird manchmal als Quotienteninterpolation bezeichnet. Anders ausgedrückt, die Level-Erkennung beantwortet die Frage: quotgiven ein Y-Ebene, was ist der entsprechende X-Wertquot Igor bietet zwei Arten von Antworten auf diese Frage. Eine Antwort setzt voraus, dass Ihre Y-Daten eine Liste von eindeutigen Y-Werten sind, die monoton zunimmt oder abnimmt. Die andere Antwort geht davon aus, dass Ihre Y-Daten unregelmäßig variieren, wie es bei den erfassten Daten der Fall wäre. In diesem Fall können mehrere X-Werte auftreten, die den Y-Pegel überschreiten. Wichtige Beispiele hierfür sind die Kanten - und Pulsstatistik. Eine verwandte, aber unterschiedliche Frage ist eine Funktion yf (x) gegeben, wobei x gefunden wird, wobei y Null (oder ein anderer Wert) ist. Diese Frage wird durch die Operation FindRoots beantwortet. Dokumentation Dieses Beispiel zeigt, wie Sie gleitende Durchschnittsfilter und Resampling verwenden, um die Auswirkungen von periodischen Komponenten der Tageszeit auf die stündliche Temperaturablesung zu isolieren und unerwünschte Linienrauschen aus einer offenen Schleife zu entfernen Spannungsmessung. Das Beispiel zeigt auch, wie die Pegel eines Taktsignals zu glätten sind, während die Kanten durch Verwendung eines Medianfilters bewahrt werden. Das Beispiel zeigt auch, wie ein Hampel-Filter verwendet wird, um große Ausreißer zu entfernen. Motivation Glättung ist, wie wir wichtige Muster in unseren Daten zu entdecken, während Sie Dinge, die unwichtig sind (d. H. Rauschen). Wir verwenden Filter, um diese Glättung durchzuführen. Das Ziel der Glättung ist es, langsame Änderungen im Wert zu produzieren, so dass seine einfacher zu sehen, Trends in unseren Daten. Manchmal, wenn Sie Eingangsdaten untersuchen, können Sie die Daten glatt machen, um einen Trend im Signal zu sehen. In unserem Beispiel haben wir eine Reihe von Temperaturmessungen in Celsius genommen jede Stunde am Logan Flughafen für den gesamten Monat Januar 2011. Beachten Sie, dass wir visuell sehen können, die Wirkung, die die Tageszeit auf die Temperaturwerte hat. Wenn Sie sich nur für die tägliche Temperaturschwankung im Laufe des Monats interessieren, tragen die stündlichen Fluktuationen nur zu Lärm bei, was die täglichen Variationen schwer unterscheiden kann. Um den Effekt der Tageszeit zu entfernen, möchten wir nun unsere Daten mit einem gleitenden Mittelfilter glätten. Ein Moving Average Filter In seiner einfachsten Form nimmt ein gleitender Durchschnittsfilter der Länge N den Durchschnitt jeder N aufeinanderfolgenden Samples der Wellenform an. Um einen gleitenden Mittelwertfilter auf jeden Datenpunkt anzuwenden, konstruieren wir unsere Koeffizienten unseres Filters, so daß jeder Punkt gleich gewichtet ist und 124 zum Gesamtdurchschnitt beiträgt. Dies gibt uns die durchschnittliche Temperatur über jeden Zeitraum von 24 Stunden. Filterverzögerung Beachten Sie, dass der gefilterte Ausgang um etwa zwölf Stunden verzögert wird. Dies ist auf die Tatsache zurückzuführen, dass unser gleitender Durchschnittsfilter eine Verzögerung hat. Jedes symmetrische Filter der Länge N hat eine Verzögerung von (N-1) 2 Abtastungen. Wir können diese Verzögerung manuell berücksichtigen. Extrahieren von Durchschnittsdifferenzen Alternativ können wir auch das gleitende Mittelfilter verwenden, um eine bessere Schätzung zu erhalten, wie die Tageszeit die Gesamttemperatur beeinflusst. Dazu werden zuerst die geglätteten Daten von den stündlichen Temperaturmessungen subtrahiert. Dann segmentieren Sie die differenzierten Daten in Tage und nehmen Sie den Durchschnitt über alle 31 Tage im Monat. Extrahieren von Peak Envelope Manchmal möchten wir auch eine glatt variierende Schätzung haben, wie sich die Höhen und Tiefen unseres Temperatursignals täglich ändern. Um dies zu erreichen, können wir die Hüllkurvenfunktion verwenden, um extreme Höhen und Tiefen zu verbinden, die über eine Untermenge der 24-Stundenperiode erkannt werden. In diesem Beispiel stellen wir sicher, dass es mindestens 16 Stunden zwischen jedem extrem hohen und extrem niedrigen Niveau gibt. Wir können auch ein Gefühl dafür, wie die Höhen und Tiefen sind Trends, indem sie den Durchschnitt zwischen den beiden Extremen. Weighted Moving Average Filter Andere Arten von Moving Average Filtern gewichten nicht jede Probe gleichermaßen. Ein weiteres gemeinsames Filter folgt der Binomialexpansion von (12,12) n Dieser Filtertyp approximiert eine Normalkurve für große Werte von n. Es ist nützlich zum Herausfiltern von Hochfrequenzrauschen für kleine n. Um die Koeffizienten für das Binomialfilter zu finden, falten Sie 12 12 mit sich selbst und konvergieren dann iterativ den Ausgang mit 12 12 eine vorgeschriebene Anzahl von Malen. Verwenden Sie in diesem Beispiel fünf Gesamt-Iterationen. Ein anderer Filter, der dem Gaußschen Expansionsfilter ähnlich ist, ist der exponentiell gleitende Durchschnittsfilter. Diese Art des gewichteten gleitenden Durchschnittsfilters ist einfach zu konstruieren und erfordert keine große Fenstergröße. Sie passen einen exponentiell gewichteten gleitenden Durchschnittsfilter durch einen Alpha-Parameter zwischen null und eins an. Ein höherer Wert von alpha wird weniger Glättung haben. Untersuche die Messwerte für einen Tag. Wählen Sie Ihr CountryMoving Average Filter (MA Filter) Loading. Der gleitende Mittelwertfilter ist ein einfaches Tiefpassfilter (Finite Impulse Response), das üblicherweise zum Glätten eines Arrays von abgetastetem Datensignal verwendet wird. Es nimmt M Abtastwerte von Eingang zu einem Zeitpunkt und nimmt den Durchschnitt dieser M-Abtastwerte und erzeugt einen einzigen Ausgangspunkt. Es ist eine sehr einfache LPF (Low Pass Filter) Struktur, die praktisch für Wissenschaftler und Ingenieure, um unerwünschte laute Komponente aus den beabsichtigten Daten zu filtern kommt. Mit zunehmender Filterlänge (Parameter M) nimmt die Glätte des Ausgangs zu, während die scharfen Übergänge in den Daten zunehmend stumpf werden. Dies impliziert, dass dieses Filter eine ausgezeichnete Zeitbereichsantwort, aber einen schlechten Frequenzgang aufweist. Das MA-Filter erfüllt drei wichtige Funktionen: 1) Es benötigt M Eingangspunkte, berechnet den Mittelwert dieser M-Punkte und erzeugt einen einzelnen Ausgangspunkt 2) Aufgrund der Berechnungsberechnungen. Führt das Filter eine bestimmte Verzögerung ein 3) Das Filter wirkt als ein Tiefpaßfilter (mit einer schlechten Frequenzbereichsantwort und einer guten Zeitbereichsantwort). Matlab-Code: Der folgende Matlab-Code simuliert die Zeitbereichsantwort eines M-Point Moving Average Filters und zeigt auch den Frequenzgang für verschiedene Filterlängen. Time Domain Response: Auf dem ersten Plot haben wir die Eingabe, die in den gleitenden Durchschnitt Filter geht. Der Eingang ist laut und unser Ziel ist es, den Lärm zu reduzieren. Die nächste Abbildung ist die Ausgangsantwort eines 3-Punkt Moving Average Filters. Es kann aus der Figur abgeleitet werden, dass der Filter mit 3-Punkt-Moving-Average bei der Filterung des Rauschens nicht viel getan hat. Wir erhöhen die Filterabgriffe auf 51 Punkte und wir können sehen, dass sich das Rauschen im Ausgang stark reduziert hat, was in der nächsten Abbildung dargestellt ist. Wir erhöhen die Anzapfungen weiter auf 101 und 501, und wir können beobachten, dass auch wenn das Rauschen fast Null ist, die Übergänge drastisch abgebaut werden (beobachten Sie die Steilheit auf beiden Seiten des Signals und vergleichen Sie sie mit dem idealen Ziegelwandübergang Unser Eingang). Frequenzgang: Aus dem Frequenzgang kann behauptet werden, dass der Roll-off sehr langsam ist und die Stopbanddämpfung nicht gut ist. Bei dieser Stoppbanddämpfung kann klar sein, daß der gleitende Mittelfilter nicht ein Frequenzband von einem anderen trennen kann. Wie wir wissen, führt eine gute Leistung im Zeitbereich zu einer schlechten Leistung im Frequenzbereich und umgekehrt. Kurz gesagt, ist der gleitende Durchschnitt ein außergewöhnlich guter Glättungsfilter (die Aktion im Zeitbereich), aber ein außergewöhnlich schlechtes Tiefpaßfilter (die Aktion im Frequenzbereich) Externe Links: Empfohlene Bücher: Primäre Seitenleiste

No comments:

Post a Comment