15
Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 1 (15) LabVIEW: Mathematische Operationen Die vorliegenden Übersichten und Beispiele sollen eine erste Übersicht, ein einfacheres Auffinden von Blockelementen und ein Anwenden in einfachen Beispielen ermöglichen. Weitere Informationen sind über Hilfe – Kontexthilfe anzeigen zu erhalten. 1. Konstanten Häufig vorkommende Konstanten aus der Mathematik und Physik findet man unter Funktionen – Nummerisch - Konstanten 2. Vergleichselemente Unter Funktionen – Vergleich sind in den ersten beiden Zeilen leicht verstehbare Operatoren zu finden. Die ersten drei Elemente der dritten Zeile sind bei Anwendungen der Automatisierung hilfreich: Auswählen: Schaltet wahlweise einen von zwei Werten auf den Ausgang Max und Min: ordnet zwei Werte an. Liegen an den Eingängen Arrays an, werden die Werte elementweise ver- glichen und in einem Array ausgege- ben. Wertebereich prüfen und erzwin- gen: Begrenzt einen Eingabewert auf einen festgelegten Bereich vergleich.vi mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 1 von 15

LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

  • Upload
    lamdang

  • View
    236

  • Download
    2

Embed Size (px)

Citation preview

Page 1: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 1 (15)

LabVIEW: Mathematische Operationen

Die vorliegenden Übersichten und Beispiele sollen eine erste Übersicht, ein einfacheres Auffinden von Blockelementen und ein Anwenden in einfachen Beispielen ermöglichen. Weitere Informationen sind über Hilfe – Kontexthilfe anzeigen zu erhalten.

1. KonstantenHäufig vorkommende Konstanten aus der Mathematik und Physik findet man unter

Funktionen – Nummerisch - Konstanten

2. Vergleichselemente

Unter Funktionen – Vergleich sind in den ersten beiden Zeilen leicht verstehbare Operatoren zu finden.

Die ersten drei Elemente der dritten Zeile sind bei Anwendungen der Automatisierung hilfreich:

Auswählen: Schaltet wahlweise einen von zwei Werten auf den Ausgang

Max und Min: ordnet zwei Werte an. Liegen an den Eingängen Arrays an, werden die Werte elementweise ver-glichen und in einem Array ausgege-ben.

Wertebereich prüfen und erzwin-gen: Begrenzt einen Eingabewert auf einen festgelegten Bereich

vergleich.vi

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 1 von 15

Page 2: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15)

3. VerknüpfungselementeGrundverknüpfungen und einige gebräuchliche Funktionen stehen als Funktionsblock bereit. Über Hilfe – Kontexthilfe anzeigen erhält man weitere Informationen.

Das Würfelsymbol erzeugt eine Zufallszahl zwischen 0 und 1.

4. Funktionen einer VariablenDer Ausdrucksknoten (aus Funktionen – Nummerisch) erlaubt die Eingabe einer Formel mit allen gängigen Funktionen mit festen (konstanten) Parametern. Zu beachten ist die Schreibweise für Potenz (**). Dezimalzahlen müssen mit Dezimalpunkt geschrieben werden.

Ausdrucksknoten

Funktionsblöcke stehen für alle Grundfunktio-nen bereit.

5. Express-VI: FormelDas Express-VI Formel ermöglicht die Eingabe oder Editierung einer Formel über eine taschenrechner-ähnliche Oberfläche. Mehrere Eingabegrößen sind möglich. Zu beachten ist die Schreibweise für Potenz (**). Dezimalzahlen müssen mit Dezimalpunkt geschrieben werden.

6. FormelknotenDer Formelknoten ermöglicht auch umfangreiche Berechnungen in Formelschreibweise. Es sind auch Fallunterscheidungen (Verzweigung) möglich. Ausdrücke müssen mit Semikolon abgeschlossen werden. Zwischenergebnisse können zur weiteren Berechnung verwendet werden. Zu beachten ist die Schreibweise für Potenz (**). Dezimalzahlen müssen mit Dezimalpunkt geschrieben werden.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 2 von 15

Page 3: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 3 (15)

7. ZeitfunktionenDie Zeit wird als eigenständige Signalart (Zeitstempel) geführt. Dabei werden die Sekunden seit Freitag, 01. Januar 1904 12.00Uhr Weltzeit gezählt. Mit dem Blockelement „Sekunden nach Datum/Zeit“ wird ein Cluster aus nummerischen Werten erzeugt. Auf diese Elemente kann z.B. mit dem Cluster-Element „Nach Namen aufschlüsseln“ zugegriffen werden.

8. Beschreibende StatistikEine Auswahl von Funktionen der beschreibenden Statistik kann in der Simulation betrachtet werden. Aus den Momenten der Verteilung lassen sich Schiefe und Wölbung der Verteilung berechnen.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 3 von 15

Page 4: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 4 (15)

Die Funktionen sind unter Mathematik – Wahrscheinlichkeit & Statistik zu finden. Das Programm ist unter statistik.vi gespeichert.

9. Komplexe ZahlenEine komplexe Zahl z lässt sich durch zwei relle Zahlen darstellen. Entweder werden Realteil re und Imaginärteil im angegeben oder es werden Betrag r und Winkel Θ verwendet. Die dargestellten Blockelemente dienen der Umwandlung der Formate. Das erste Element erzeugt die konjugiert-komlexe Zahl (mit negiertem Imagierteil)

Die Blockelemente für Verknüpfungen und Funktionen erkennen den angelegten Datentyp und führen die entsprechenden Operationen aus (polymorphe Funktionen).

10. Integral und DifferenzialBei der nummerischen Integration und Differentiation synchron zur Datenerfassung werden die Blockelemente aus „Signalverarbeitung – Punkt für Punkt – Integral und Differenzial“ verwendet. Es wird von einer äquidistanten

Abtastung ausgegangen. Der Takt Δt wird in Sekunden angegeben (nicht ms).

Bei der Differentiation wird die Methode „zwei Intervalle zentral“ ausgeführt. Um für den ersten Signalwert ebenfalls Ableitungswerte zu erhalten, muss der Vorgängerwert angegeben werden. Im Beispiel wird dazu der erste aktuelle Wert angegeben. Dadurch beginnt die Ableitung mit dem Wert 0.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 4 von 15

Page 5: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 5 (15)

intdiff.vi

Für eine Berechnung nach Ab-schluss der Datenerfassung ste-hen die Blockelemente aus „Mathematik – Differential- und Integralrechnung“ mit unter-schiedlichen Berechnungsverfah-ren zur Verfügung.

11. MatrizenFür die Berechnung mit Matrizen stehen alle gängigen Rechenoperationen und Verfahren zum Umgang mit speziellen nummerischen Problemstellungen zur Verfügung („Mathematik – Lineare Algebra“). Mit dem dargestellten Beispiel lgs.vi lässt sich ein Lineares Gleichungssystem lösen. Ein weiteres umfangreiches vi aus den LabVIEW-Beispielen ist „Linear Algebra Calculator.vi“.

12. Kurven-InterpolationBei der Kurven-Interpolation werden die Intervalle zwischen vorgegebenen Stützstellen durch je eine eigene Funktion gefüllt. In Sonderfällen kann eine einzige Funktion alle Intervalle füllen. Typische Funktionen zur Interpolation sind „Lineare Funktion“, Cosinus-Funktion, Polynomfunktion und Spline-Funktion.

Im Skript „Verarbeitung eines Einzelsignals“ sind zwei Beispiele aufgeführt:

Zur „Linearen Interpolation (linterpol.vi)“ wurde das sub-vi „sub_linterpol.vi“ entwickelt, mit sich Einzelwerte berechnen lassen.

Die Interpolation durch eine Spline-Funktion ist im Beispiel „spline.vi“ dargestellt.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 5 von 15

Page 6: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 6 (15)

13. Kurven-AnpassungBei der Kurvenanpassung wird ein vorgegebener Kurventyp so an die Datenpunkte angepasst, dass die Summe der Abstandsquadrate minimal ist. Im vorliegenden Fall mit stückweise definierten Spline-Funktionen gibt es zusätzliche Forderungen an die Krümmung, die mit „Parameter“ zwischen 0 und 1 festgelegt werden (splanpass.vi).

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 6 von 15

Page 7: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 7 (15)

Am häufigsten sind wohl die Lineare Anpassung (Ausgleichsgerade, Lineare Regression) und die Polynom-Regression anzutreffen. Viele weitere Funktionstypen sind im Bereich der Technik anzutreffen.

14. OptimierungBei der Optimierung wird versucht, eine Zielgröße an einen vorgegebenen Wert anzunähern, zu minimieren oder zu maximieren. Dazu werden Parameterwerte variiert. Sind die Parameter binäre Größen (0 und 1), dann führt ein systematisches Probieren aller Kombinationen meist am schnellsten zum Ziel. Bei kontinuierlichen Parameterwerten wird häufig der Algorithmus nach Marquardt-Levenberg angewendet, bei der die Funktion partiell nach den Parametern (nummerisch) abgeleitet und der Vektor der stärksten Änderung bestimmt wird. Nebenbedingungen werden zusätzlich berücksichtigt.

Im ersten Beispiel sollen aus zehn Massen diejenigen ausgewählt werden, deren Gesamtmasse möglichst wenig über einem vorgegebenen Wert liegt (z.B. Verpackung von Kartoffeln). Alle logischen Kombinationen werden dabei getestet.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 7 von 15

Page 8: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 8 (15)

Im zweiten Beispiel (entfaltung.vi) kommt der Marquardt-Levenberg-Algorithmus zum Einsatz, mit dem zwei überlagerte spektroskopische Peaks getrennt und dann integriert werden.

Die Zählschleife wird hier durch ein sub-vi (vector.vi) gesteuert, wobei bei jedem Schleifendurchlauf der nächste Wert aus dem Array vector übergeben wird.

Ein weiteres Beispiel, die Anpassung Kurve einer potentiometrischen Titration (Anpassung durch Logistische Funktion ) befindet sich im Skript „Verarbeitung eines Einzelsignals“.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 8 von 15

Page 9: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 9 (15)

15. FilterungBei der Filterung werden die Frequenzanteile im Signal unterschiedlich stark verstärkt bzw. abgeschwächt. Bei der digitalen Filterung werden Nachbarwerte (Breite s) des Signals mit festen Faktoren multipliziert und addiert. Diese Filterfaktoren werden benötigt, wenn die Filterung in einem anderen System (Mikrocontroller, Tabellenkalkulation) ausgeführt werden soll. In LabVIEW sind Blockelemente vorbereitet, mit denen sowohl der Entwurf als auch die Ausführung der Signal-Filterung ausgeführt werden. Im Beispiel wurde ein Notch-Filter (Sperrfilter) verwendet.

Filterentwurf

Der Filterentwurf, d.h. die Bestimmung der Filterkoeffizienten ist ein aufwändiges Rechenverfahren, bei dem die Durchlass-, Sperr- und Übergangsbedingungen berücksichtigt werden (z.B. Parks-McClellan-Verfahren). Entsprechende Blockelemente stehen unter Signalverarbeitung – Filter – IIR bzw. FIR zur Verfügung.

Mit der vorliegenden Beschaltung werden die 11 FIR-Filterkoeffizienten eines Tiefpassfilters mit der Grenzfrequenz von 30Hz bei einer Abtastrate von 100Hz berechnet. Es wird keine spezielle Fensterfunktion ausgeführt, die Koeffizienten ergeben in der Summe den Wert 1. Mit den Koeffizienten lassen sich auch einem anderen Programmiersystem (z.B. Tabellenkalkulation) entsprechende Filterungen durch einfache algebraische Verknüpfungen realisieren.

Filterung

Im Beispiel notchfilter.vi lässt sich ein bestimmter Frequenzbereich unterdrücken. Dies kann z.B. erforderlich sein, wenn die 50Hz-Netzfrequenz oder die 100Hz-Helligkeitsänderung einer Lampe als Störung in einem Signal enthalten ist. Unten ist ein Sperrbereich von ca. 4,5Hz bis 5,8Hz dargestellt.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 9 von 15

Page 10: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 10 (15)

Im Programm lässt sich eine Dreiteilung erkennen:

• Signalerzeugung durch drei Sinusgeneratoren und einem Rauschgenerator für weißes Rauschen

• Filterung mit einem vorbereiteten Blockelement equi-ripple-bandsperre

• Fouriertransformation (FFT) mit Darstellung nur der Amplituden

16. FouriertransformationDie Fourier-Transformation ist im vorigen Beispiel bereits enthalten. Der rote Hintergrund stellt das Amplitudenspektrum des ungefilterten Signals dar. Als weiße Balken im Vordergrund ist das Spektrum nach der Filterung zu sehen.

Bei der Transformation wird das Signal so behandelt, als ob es periodisch fortgesetzt würde. Dadurch kön-nen an den Ansatzstellen Sprünge auftreten, die zu Störungen im Spektrum führen. Dies lassen sich durch eine geeignete Fensterung reduzieren. Die Transformation liefert Frequenzanteile bis zur Hälfte der Ab-tastfrequenz. Je länger das abgetastete Signal ist (Blocklänge), desto feiner ist Auflösung im Frequenzbe-reich. Bei vielen Anwendungen reicht das Amplitudenspektrum aus, zur vollständigen Beschreibung (auch zur Rücktransformation in den Zeitbereich) ist zusätzlich das Phasenspektrum erforderlich.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 10 von 15

Page 11: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 11 (15)

Die Gruppierung der Spektrallinien hat seine Ursache im rationalen Tastgrad (Verhältnis 4/5=0,8).

Im Skript „Sensorik mit NI 9219“ ist ein Beispiel der Analyse des Signals eines Beschleunigungssensors dargestellt.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 11 von 15

Page 12: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 12 (15)

17. DifferenzialgleichungDifferenzialgleichungen (DGLn) in sog. impliziter Schreibweise haben die Form

f x , y , y ' , y ' ' , ... , y n=0

Oft gibt es nur eine Gleichung, mehrere Gleichungen bilden ein Differenzialgleichungssystem. Die höchste Ableitung bestimmt den Grad des Systems bzw. der Gleichung. Gewöhnliche DGLn besitzen nur Ableitungen nach einer Variablen, andernfalls handelt es sich um paritielle DGLn. Ableitungen nach der Variablen Zeit t werden meist mit einem Punkt geschrieben z.B. y , y .

Anfangswertprobleme sind typisch für technische Fragestellungen. Für einen bestimmten Wert der Variablen x bzw. t sind feste Werte für y (bzw. alle y i bei Systemen) und deren Ableitungen vorgegeben. Für diese Vorgaben wird eine spezielle Lösung gesucht. Nummerische Verfahren entwickeln die Funktionen durch Iteration. Sie unterscheiden sich nach der Vorgehensweise z.B. durch eine automatische Anpassung der Schrittweite. Dabei ist das Euler-Verfahren das einfachste (und ungenaueste), Runge-Kutta verfeinert durch Zwischenschritte und die Radau-Verfahren enthalten weitere Optimierungen.

Erstes Beispiel: Traktrix

Legt man eine Taschenuhr mit einer Kette der Länge l auf den Tisch auf der Höhe y und fährt mit dem Ende der Kette der Tischkante x entlang, beschreibt die Uhr eine bestimmte Kurve, eine Traktrix. x, y und l hängen über den Pythagoras miteinander zusammen und die Kette bildet immer die Tangente an die Kurve.

x=l 2− y2 y ' x= − y x l 2− y x2

Die Differenzialgleichung muss in der impliziten Form geschrieben werden 0=y1+y/sqrt(27^2-y^2). Die Variable y steht für y(x), y1 steht für die erste Ableitung y'(x). Im Programm wird der String aus dem Eingabewert aufgebaut.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 12 von 15

Page 13: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 13 (15)

Radau-traktrix.vi

Zweites Beispiel: Federpendel

In den LabVIEW-Beispielen findet sich DAE Spring Pendulum Simulation.vi . Es beschreibt durch ein ge-wöhnliches lineares Differenzialgleichungssystem 2. Ordnung (vx=x'; vy=y') mit fünf Gleichungen die Position der Masse in Abhängigkeit von der Zeit. Dabei bedeuten

k: Federkonstanteim Beispiel k=1000

f: Kraft in Federrichtung(Anfangswert f=-150)

l: Länge der senkrecht hängenden Federnormiert auf l=1

m: Massenormiert auf m=1

Ein separates Funktions-VI DAE Spring Pendulum Simulation_Func.vi berechnet aus aktuellen Werten der Koordi-naten, der Geschwindigkeiten

und dem Wert von f, sowie der Ableitungen jeweils die linke Seite der Gleichungen. Es tauscht die Werte über das Element data mit dem Hauptprogramm aus.

Das Hauptprogramm enthält im Wesentlichen das Blockelement DAE Radau 5th Order.vi, das den gesamten Radau-Algorithmus mit Schrittweitensteuerung für die Berechnung der zeitlichen Entwicklung der Größen enthält. Ausgegeben wird ein 1D-Array der Zeitwerte und ein 2D-Array mit den Werten für x, y, vx, vy und f.

Gegenüber dem realen Verhalten sind in den Gleichungen nicht berücksichtigt:

die Länge l ändert sich mit der Auslenkung

die Feder hat eine Eigenmasse

es entstehen Verluste durch Verformungswärme in der Feder

es entstehen Verluste durch Luftreibung

In der letzten DGL mus l stehen statt l², was aber wegen der Normierung zu keinen Rechenfehlern führt.

Die Ableitungen nach der Zeit werden mit x' statt mit x bezeichnet.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 13 von 15

Page 14: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 14 (15)

Das unten ausgeführte Beispiel dae_main.vi mit dae_func.vi liefert lediglich die beiden Arrays. Im VI aus der Beispielsammlung (hier links) ist dies um eine schöne Grafik ergänzt.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 14 von 15

Page 15: LabVIEW: Mathematische Operationen - carl-engler · PDF fileCarl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 2 (15) 3. Verknüpfungselemente Grundverknüpfungen und

Carl-Engler-Schule Karlsruhe LabVIEW: Mathematische Operationen 15 (15)

Das obige dae_func.vi ist über eine Referenz mit dem DAE Spring Pendulum Simulation.vi verknüpft. In ihm werden die Werte der einzelnen Gleichungen berechnet.

mathematik.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 15 von 15