Upload
birgit-ploetzeneder
View
1.049
Download
4
Embed Size (px)
Citation preview
Birg
it P
lötz
ened
er 2
011
Aufgabe:Ist das Glas halb voll?
Birg
it P
lötz
ened
er 2
011
Roadmap
Aufgabenstellung
Schritt 1: Sound einlesen
Schritt 2: Signalanalyse
Schritt 3: Interpolation, Ausgabe
Schritt 4: Kalibrieren, Dekoration, Realtest
Birg
it P
lötz
ened
er 2
011
Aufgabenstellung
Wenn man z.B. mit einem Metallteil auf ein Glas klopft, klingt dieses in einer eindeutigen Frequenz. Wenn man es mit Wasser füllt, verändert sich diese.
Gesucht ist ein Programm, das aufgrund der Aufnahme mit der Soundkarte die Füllhöhe des Glases anzeigt.
Übungsziele: mit unbekannten Befehlen arbeiten, Wiederholung von Arrays, komplexen Datentypen, Schleifen,.., Frontpanelgestaltung
Birg
it P
lötz
ened
er 2
011
Schritt 1: Sound einlesen
Die Soundkarte soll gestartet und getestet werden. Das funktioniert mit dem Befehl:
RMT >> Klassisch >> Programmierung >> Audio & Grafik >> Audio >> Eingabe >>Audioaufnahme
Dieser Befehl löst, wenn keine Mikrofone vorhanden sind, einen Fehler aus. Da wir ohnehin nur ein Glas haben (mit dem wir selbstverständlich am Ende testen), simulieren wir den Sound erst einmal.
Birg
it P
lötz
ened
er 2
011
Schritt 1: Simulation
Anstelle der Live-Audioaufnahme verwenden wir *.wav-Files. Zuerst öffnet und dann liest man diese Files. Folgende Befehle erledigen dies:
RMT >> Klassisch >> Programmierung >> Audio & Grafik >> Audio >> Dateien >>Audiodatei öffnenbzw. Audiodatei lesen → benötigen DirectX (!)
Zur Auswahl der Files verwendet man die Case-Aufgabe mit dem Listenfeld(→ Aufgabe 3).
Birg
it P
lötz
ened
er 2
011
Schritt 2: Signalanalyse
Signal einlesen gibt ein Signal als Datentyp.
Unsere Simulation (Audiodatei lesen) gibt ein Array aus Signalverläufen.
Zweckmäßigerweise soll eine Konvertierung erfolgen, so dass man später mit Copy-Paste den Realtest durchführen kann.
→ Komplexe Datentypen
Birg
it P
lötz
ened
er 2
011
Schritt 2: Signalanalyse
Von dem Signal betrachtet man zuerst das Leistungsspektrum. Dazu gibt es eine Funktion:
RMT >> Signalverlauf >> Analoger Signalverlauf >> Signalverlaufsmessungen >> Spektrum ermitteln
Ein Glas hat eine bestimmte Resonanzfrequenz, je nach Wasserstand. Diese bildet das Maximum im Spektrum. Man bekommt das Maximum mit der Statistikfunktion:
Express >> Signalanalyse >> Statistik
Birg
it P
lötz
ened
er 2
011
Schritt 2: Signalanalyse
Von dem Signal betrachtet man zuerst das Leistungsspektrum. Dazu gibt es eine Funktion:
RMT >> Signalverlauf >> Analoger Signalverlauf >> Signalverlaufsmessungen >> Spektrum ermitteln
Ein Glas hat eine bestimmte Resonanzfrequenz, je nach Wasserstand. Diese bildet das Maximum im Spektrum. Man bekommt das Maximum mit der Statistikfunktion:
Express >> Signalanalyse >> Statistik
Anwendungstipp:Beim Graphen fürs Spektrum mit RMT auf die Skala Autoscale X abschalten, dann hüpft die Graphik nicht so!
Birg
it P
lötz
ened
er 2
011
Schritt 3: Interpolation, Ausgabe
Wir messen erst einmal die Resonanzfrequenz für das leere, halbleere und volle Glas.
Die gemessenen Werte können wir einmal in Excel / Calc anschauen.
→ Calc-Datei anschauen
Birg
it P
lötz
ened
er 2
011
Schritt 3: Interpolation, Ausgabe
Erkenntnis: Eine Interpolation ist notwendig.
Wenn man mit LabVIEW arbeitet, ist es oft eine gute Idee, einfach einmal nach Befehlen zu suchen. Man kann dies in der Hilfe tun, oder direkt in der Funktionspalette.
Birg
it P
lötz
ened
er 2
011
Schritt 3: Interpolation, Ausgabe
Angenommen, wir haben uns 1D-Array interpolieren ausgesucht. In der Hilfe (RMT auf Block) findet mandie Belegung.
Birg
it P
lötz
ened
er 2
011
Schritt 3: Interpolation, AusgabeAls Methode haben wir uns für Spline
entschieden. Die Konstante kann man mit Dateneingabe (Tool 2) auf den Pfeil ändern.
X und Y sind offensichtlich Arrays mit Füllstand bzw. Frequenz.
xi ist der gesuchte Wert, yi der Füllstand, bei dem nachgeschaut wird.
Birg
it P
lötz
ened
er 2
011
Schritt 3: Interpolation, Ausgabe
Die Interpolation liefert ein Array → Datentypen!
Ausgabe erfolgt mit einem Tank:
RMT >> Numerische Anzeigelelemente >> Tank
Die Skala muss angepasst werden.
Birg
it P
lötz
ened
er 2
011
Schritt 4: Kalibrieren, Dekoration, Realtest
In diesem Schritt soll man noch die Werte kalibrieren können. Dazu verwendet man den Schalter und eine True-False-Funktion. Die Eingabeelemente müssen in Anzeigeelemente umgewandelt werden.
Wenn der Schalter gedrückt wird (wie bei Klingel), dann wird der Wert der Frequenz übernommen - sonst der alte. Das gibt eine Rückkopplung!
Birg
it P
lötz
ened
er 2
011
Schritt 4: Kalibrieren, Dekoration, Realtest
Als letzter Schritt soll die Deko verändert werden – hierzu großzügig mit Farbe (Werkzeugpalette) und Labels gestalten.
Außerdem können Sie den Tank umgestalten, dazu verwenden ziehen Sie den Bildausschnitt glas.png bzw. tasse.png ins Blockdiagramm.
Dieser wurde mit RMT >> Fortgeschritten >> Anpassen.. erstellt.
Birg
it P
lötz
ened
er 2
011
Schritt 4: Kalibrieren, Dekoration, Realtest
Für den Realtest können Sie (nachdem alles klappt!) RMT >> Klassisch >> Programmierung >> Audio & Grafik >> Audio >> Eingabe >>Audioaufnahme statt der Simulation verwenden.