Download PDF (2 MB) - MathWorks Deutschland

mathworks

Download PDF (2 MB) - MathWorks Deutschland

Das Kundenmagazin

von The MathWorks

■ Verarbeitung von

Biosignalen

■ Testautomatisierung

■ Prozessoptimierung

mit Neuronalen

Netzen

■ DSP-Funktionen

auf FPGAs

■ Durchgängige

Werkzeugkette

■ Naturkatastrophen

und deren

Rückversicherung

■ R13 - Service Pack 1

MATLAB

select 1/01

select

Ausgabe 2/03

MATLAB

Digitale

Signalverarbeitung

und Kommunikation

91152V00


Es ist faszinierend zu verfolgen, wie diese

Produkte in den Entwicklungsbereichen der

Automobilhersteller und -zulieferer die

"Time to Market" drastisch verkürzen. Hierbei

ist beispielsweise die Model Based Calibration

Toolbox zu nennen, die mit dem von

der Ford Motor Company gestifteten Henry

Ford Technology Award (HFTA) ausgezeichnet

wurde. Fords in Großbritannien ansässigem

Powertrain CAE-Team wurde der angesehene

Preis für die Entwicklung ihrer neuen

Model-Based Calibration-Technologie (MBC)

zur Kalibrierung komplexer Antriebssysteme

verliehen, die mit Hilfe der Model-Based

Calibration Toolbox von The MathWorks

realisiert wurde.

Der Automobilsektor ist dabei „nur“ ein

– wenn auch sehr wichtiges – Industriesegment.

Auch auf vielen anderen Industriefeldern

ermöglichen und beschleunigen unsere

Produkte Innovationen, wie die Artikel u.a.

aus den Bereichen Signalverarbeitung, Kommunikationstechnik,

Biotechnologie und

Financial Engineering zeigen.

In Kooperation mit dem Oldenbourg

Wissenschaftsverlag fungiert The Math-

Works nun als Technologie-Partner für die

neue Rubrik „Tools“ der Fachzeitschrift at –

Automatisierungstechnik. Im Zentrum dieser

Rubrik stehen Neuentwicklungen und

Anwendungen von Software-Tools mit wissenschaftlichem

Hintergrund. Wir freuen

uns auf Ihre Beiträge zu dieser neuen Aufsatzkategorie

und haben einen Best Paper

Award ausgelobt. (Mehr Infos im Innenteil.)

MATLAB

select 2/03

Editorial

Wenn man die diesjährige IAA

besucht, ist es wie auch in den

Jahren zuvor bemerkenswert,

dass es immer wieder innovative

Produkte und Fahrzeuge auf

dem Automobilsektor gibt. Diese

Innovationen zu unterstützen

und zu fördern ist Teil unserer

Unternehmensphilosophie.

Was hat sich sonst in letzter Zeit bei uns

getan?

Um den gestiegenen Anforderungen an

unsere Produktpalette und dem damit verbundenen

Betreuungsaufwand gerecht zu

werden, haben wir unser Application Engineering

Team stark erweitert. Es handelt sich

hierbei um ein Team, das mit den Anwendungsbereichen

der MATLAB-Produktfamilie

sehr vertraut ist und sowohl unseren Vertriebsmitarbeitern

als auch unseren Kunden

und Interessenten beratend zur Seite steht.

Um die Unterstützung unserer Kunden

beim Einsatz unserer Produkte zu verbessern,

haben wir vor einiger Zeit eine Umfrage

gestartet. Das Ergebnis war eine Bestätigung

der guten Arbeit unseres Support

Teams, enthielt aber auch viele Anregungen

für die Zukunft. Wir versprechen, all die Anregungen,

die machbar sind, in die Tat umzusetzen.

Aber auch unser Schulungsangebot passen

wir regelmäßig den Anforderungen des

Marktes an. Aus diesem Grunde werden zukünftig

auch Schulungen in Wien stattfinden

und darüber hinaus haben wir einige

interessante Themen neu in unser Schulungsprogramm

aufgenommen, so z.B. die

neue Einführungsschulung „MATLAB für

Finanz-Applikationen“ und zusammen mit

dem Xilinx-Partner PLC2 ein DSP-Seminar

für FPGA-Entwickler.

Wir hoffen, Ihnen mit der aktuellen Ausgabe

von MATLAB select wieder viele Anregungen

geben zu können.

Viel Spaß beim Lesen und bis zum nächsten

Mal,

Ihr Andreas Schindler

1


Intern

Anwendungen

Schlaglichter

Produkte

Tipps&Tricks

Termine

Inhalt

Editorial 1

Umfrage zur Qualität des technischen Supports 3

Team Application Engineering fast verdoppelt 4

Hydraulische Simulation unter Simulink 4

Erweitertes Schulungsangebot 5

IAC 2004 – Call for Paper 6

MATLAB/Simulink Thementage 7

MATLAB meets at 8

Verarbeitung von Biosignalen unter MATLAB und Simulink 10

Testautomatisierung durch Adaption von xPC und Tara 16

Neuronale Netze für die Prozessoptimierung 20

Realtek erobert 50% Marktanteil dank eines neuen Audiochips 23

DSP-Funktionen auf FPGAs 25

Eine durchgängige Werkzeugkette 28

Swiss Re – Naturkatastrophen und deren Rückversicherung 32

MATLAB in der Welt – Digitale Signalverarbeitung und Kommunikation 36

Release 13 Service Pack 1 38

Live Bilddaten in MATLAB: Image Acquisition Toolbox 40

Fixed-Income Toolbox für Finanz-Ingenieure 42

Bioinformatics Toolbox 43

Neues zu xPC Target 44

Produktübersicht 46

Tipps & Tricks 48

Buchtipps 49

Messen, Thementage, Webinare & Schulungen 51

Faxantwort 52

IMPRESSUM

Herausgeber

The MathWorks GmbH

Geschäftsführung

Andreas Schindler

Redaktion

Thomas Andraczek

Eigene Beiträge

Thomas Andraczek, Frank González-Morphy,

Dr. Andreas Goser, Sven Janssen,

Dr. Hans Martin Ritt, Karl-Heinz Schmid,

Prof. Dr. Wolfgang Schweizer, Dr. Ulrich Wahner,

Dr. Michael Wunder

Kontakt

Thomas Andraczek

presse@mathworks.de

Gestaltung

Jürgen Weber

info@weberagentur.de

Druck

Gatzen Druck

Auflage

45.000

Das Magazin und alle darin enthaltenen Beiträge

und Abbildungen sind urheberrechtlich geschützt.

Kopieren und Nachdruck nicht gestattet;

Ausnahmen nur mit ausdrücklicher Genehmigung.

© The MathWorks GmbH

Aachen:

Friedlandstraße 18, 52064 Aachen

Tel.: 02 41–4 70 75-0

Fax: 02 41–4 70 75-12

München:

Siedlerstraße 2, 85774 Unterföhring

Tel.: 089–99 59 01-0

Fax: 089–99 59 01-11

www.mathworks.de

Schweiz:

The MathWorks GmbH

Schürmattstraße 6+8, CH-3073 Gümlingen

Tel.: 00 41–31–95 420-20

Fax: 00 41–31–95 420-22

www.mathworks.ch

MATLAB

2 select 2/03


Die Ergebnisse sind durchweg erfreulich.

Hier ein paar der wichtigsten Daten:

Die Leichtigkeit, einen Support-Ingenieur

zu erreichen, beurteilten 77% der befragten

Kunden mit „hervorragend“ oder

„sehr gut“, 23% mit „gut“ und 0% mit „genügend“

oder „schwach“. Bei der Frage zur

Produktkenntnis lauten die Werte 75% -

22% - 3%. Das ist sehr erfreulich, da ein

recht kleines Team ein Wissen über mehr als

60 Produkte auf neuestem Stand halten

muss.

Weitere Ergebnisse: Professionalität (69%

- 30% - 1%), Verständnis und Erfassung des

Problems (73% - 22% - 5%), Fähigkeit, geeignete

Lösungen zu vermitteln (50% - 43%

- 7%). Die etwas schlechtere Bewertung zu

diesem Punkt ist aus Kundensicht natürlich

verständlich. Eine geeignete Lösung für das

Problem ist schließlich das Ziel. Eine korrekte

Supportantwort kann aber auch heißen:

„Dies ist ein uns bekannter Bug in Release xy

– es gibt bislang keine bekannten Workarounds

und der Fehler wird (erst) im nächsten

Release gefixt.“

MATLAB

select 2/03

Intern

Umfrage zur Qualität

des technischen Supports

Thomas D. Kaufmann, DaimlerChrysler AG:

„Ich fühle mich sehr gut beraten und werde mit

meinen Anwendungsproblemen nicht allein gelassen.“

Gert Gottwald,

Energieversorgung Baden-Würtemberg (EnBW SVG I):

„Man hat nicht das Gefühl von Hektik.

Probleme werden zügig und unaufgeregt angepackt.“

Anfang Mai 2003 führte ein

externes Unternehmen im Auftrag

von The MathWorks erstmalig

eine Umfrage zur Qualität des

Technischen Supports bei

deutschen und österreichischen

Kunden durch. Diese Umfrage wird

zukünftig in jedem Quartal mit

wechselnden Kunden wiederholt,

analoge Umfragen werden auch in

den USA und allen MathWorks

Niederlassungen durchgeführt.

Das Gesamturteil auf die Frage „Wie beurteilen

Sie die technischen Kundenberatungsdienste

von The MathWorks insgesamt?“

fiel wie folgt aus: 70% - 26% - 4%.

Wir bedanken uns bei allen Teilnehmern,

insbesondere für die Vielzahl kleinerer Anregungen.

AG

Dr. Volker Binding, HSH Nordbank AG

„Die Tech-Support Ingenieure betonen, dass man, mit welcher Frage auch

immer, willkommen ist, mit ihnen in Verbindung zu treten. Jedoch sind alternative

Informationsquellen wie die MATLAB-Hilfefunktion so nützlich, dass ein Anruf

häufig nicht notwendig ist.“

3


4

Unser Team Application Engineering ist

eine Gruppe von technischen Experten aus

unterschiedlichen Bereichen, die an der

Schnittstelle zwischen der technischen Anwendung

unserer Produktfamilie auf der einen

Seite und der technischen Unterstützung

von Marketing/Vertrieb auf der anderen

Seite arbeiten. Es bringt seine Fachkompetenz

sowohl in Vertriebs- und Marketing-

Strategien als auch in die Produktentwicklungsprozesse

ein.

In den Anwendungsbereichen

• Control Design Automation

• Production Code Generation

& Rapid Prototyping

• DSP and Communications Design

• Technical Computing

• Test & Measurement

• Image Processing and

• Financal Modelling & Analysis

Gegenwärtig entwickelt The MathWorks

ein Produkt, dass die Modellierung hydraulischer

Systeme unter Simulink ermöglicht.

Wie bei der Modellierung mechanischer Systeme

mit SimMechanics (http://www.mathworks.com/products/simmechanics/)erweitern

wir dazu Simulink, um den Anwendungsbereich

der Hydraulik effizienter simulieren

zu können.

Intern

Team Application Engineering

fast verdoppelt

muss das Team Application Engineering das

Wissen durch ständiges Training, Forschung

und direkte Projekterfahrung auf dem neuesten

Stand halten. Das ist keine einfache

Aufgabe, da das Team detaillierte Erfahrungen

aus unterschiedlichsten Industriebereichen

ständig weiterentwickeln muss.

Es besteht der Anspruch die Industriezweige

• Aerospace & Defense

• Automotive

• BPM (Bio Pharmaceutical Medical)

• Communications

• Finance

• Education und

• Finance

und damit unsere Kunden kompetent zu bedienen.

Intern

Das beinhaltet natürlich auch, die Wünsche

der Kunden und der oben genannten

Märkte aufzuspüren, um die Qualität der

MATLAB-Produktfamilie kontinuierlich zu

verbessern. Um diesen Anforderungen in der

Zukunft noch besser gerecht werden zu können,

wurde das deutsche Team in diesem

Jahr, unter der Leitung von Dr. Peter Krauss,

um 90% vergrößert.

PK

Hydraulische Simulation

unter Simulink

Was wird dieses neue Produkt beinhalten?

Die zu modellierenden Systeme bauen

auf ISO-normierten hydraulischen Schaltplänen

auf. Die Modellierung aller Randbedingungen

und dynamischer Gleichungen

wird für den Anwender übernommen. Die

automatische Generierung von Programmcode

wird bereits in der Version 1.0 unterstützt

sein. Es wird Bibliotheken mit Basis-

Elementen (z.B. „line resistance“, „orifices“,

„variable orifices“, „accumulators“) und

komplizierteren Elementen (z. B. verschiedene

„directional control valves“ und Pumpen-Modelle)

geben.

Der geplante Name für das Produkt ist

SimHydraulics, der geplante Erscheinungszeitraum

ist das zweite Quartal 2004.

Noch ist es möglich unseren Entwicklern

Vorschläge und Anfragen zu einzelnen

Merkmalen und Eigenschaften weiterzugeben.

Falls Sie das tun möchten oder mehr

über SimHydraulics erfahren wollen genügt

eine E-Mail an:

a.goser@mathworks.de

(Andreas Goser).

AG

MATLAB

select 2/03


DSP-Seminar für FPGA-Entwickler

Die programmierbare Logik ist heute

mehr denn je eine attraktive Alternative zur

Entwicklung komplexer Systeme, was nicht

zuletzt auf die rasanten Fortschritte in der

FPGA-Technologie (Field Programmable

Gate Array) zurückzuführen ist. Wegen der

hohen Flexibilität ist der Einsatz dieser Bausteine

sehr vielfältig. Die Entwicklung und

Verifikation komplexer und technisch ausgereizter

Schaltungen wird jedoch immer aufwendiger

und komplizierter.

Um FPGA-Entwicklern diese Aufgabe zu

erleichtern und sie zielgerichtet mit dem

entsprechenden Wissen auszustatten, bieten

Xilinx und The MathWorks künftig gemeinsame

Seminare an, die in die zeitgemäßen

und flexiblen Entwicklungsumgebungen

und Designwerkzeuge des Kooperationsteams

einführen sollen.

Xilinx ist der führende Anbieter von programmierbaren

Logikbausteinen, hoch entwickelten

integrierten Schaltkreisen und zugehörigen

Designtools. Xilinx hat die so genannten

FPGAs als erster zur Marktreife gebracht.

Hauptanwendung finden Xilinx Produkte

in den Bereichen Computerperipherie,

Telekommunikation, Computernetzwerke

und Konsumelektronik.

Xilinx stellt den System Generator zur

Verfügung, der sich als Blockset vollständig

in Simulink einbindet. Dieses Plug-In ermöglicht

Designern von Hardware für digitale

Signalverarbeitung (DSP) die Entwicklung

von hocheffizienten DSP-Systemen unter

Nutzung der Xilinx-FPGAs. Das Werkzeug

ermöglicht eine bitgenaue Modellierung,

Simulation und den Test der Systeme

mit anschließender Erzeugung von HDL-

Code (Hardware Description Language).

MATLAB

select 2/03

Intern

Erweitertes Schulungsangebot

ab Oktober 2003

Kooperation von Xilinx und

The MathWorks: DSP-Seminare

für FPGA-Entwickler

Neue Schulung: MATLAB für

Finanz-Applikationen

Neu: Schulungen in Wien

Weitere Informationen zum Xilinx

System Generator for DSP:

http://www.mathworks.com/products/

connections/product_main.shtml?prod_id=

304

http://www.xilinx.com/xlnx/xil_prodcat_

product.jsp?title=system_generator

Die geplanten Seminare werden in Zusammenarbeit

mit dem Xilinx-Partner PLC2

ausgerichtet, der seit mehreren Jahren

FPGA-Schulungen für Xilinx in Deutschland

durchführt. Von der 5-tägigen Schulung gestaltet

The MathWorks die ersten beiden Tage,

PLC2 die letzten drei. Der Inhalt des 2-tägigen

MathWorks-Teils basiert auf der bereits

etablierten Schulung DSP01 - MATLAB

& Simulink in der Signalverarbeitung (vgl.

www.mathworks.de/de/company/training/

sch_angebot.shtml).

Die Schulung vermittelt einen Einblick in

das Arbeiten mit der Programmiersprache

und Entwicklungsumgebung MATLAB.

Weiterhin wird Simulink als grafische Umgebung

für den Entwurf dynamischer und

signalverarbeitender Systeme vorgestellt und

eine Einführung in zahlreiche Erweiterungen,

die Toolboxen und Blocksets, gegeben.

Die Schulung behandelt Beispiele und

Aufgabenstellungen aus der digitalen Signalverarbeitung,

die auf die Zielgruppe FPGA-

Entwickler ausgerichtet sind. Ein Highlight

ist die Darstellung der Arbeitsweise und speziellerer

Eigenschaften des DSP-Blockset

und des Fixed-Point Blockset zur Realisierung

signalverarbeitender Systeme.

Grundkenntnisse in MATLAB, Simulink

und ein Grundverständnis im Bereich der

Signal- und Systemtheorie werden vorausgesetzt.

Neue Schulung: MF01 - MATLAB für Finanz-

Applikationen

Die lang erwartete MATLAB-Schulung

für Anwender aus dem Finanz-Umfeld wird

in das neue Kursangebot aufgenommen. Ab

Dezember 2003 wird die Schulung MATLAB

für Finanz-Applikationen regelmäßig sowohl

öffentlich als auch als on-site Schulung

bei Kunden angeboten.

Die zweitätige Schulung führt in die höhere

Programmiersprache MATLAB unter

besonderer Berücksichtigung finanztechnischer

Bedürfnisse ein.

Als Entwicklungsumgebung ist MATLAB

die Basis für eine Vielzahl von Produkten,

die im Finanzumfeld eingesetzt werden: Beispielsweise

Excel Link, Database, Optimization,

Financial, Financial Time Series, Financial

Derivatives, Garch und Fixed Income

Toolbox. Die Schulung findet in deutscher

Sprache statt, die Unterlagen sind in Englisch.

Inhaltliche Schwerpunkte sind:

– Einführung in die MathWorks-Produkte

für das Financial Engineering

– Grundlegende Datenmanipulation (Matrizen-Operationen,

Autoregressives Modell)

– Datenvisualisierung (2D- und 3D-Plots)

– Quantitative Modelle (MATLAB als Programmiersprache,

Portfolio Optimierung)

– Datenkommunikation (Excel und Datenbanken)

– Graphical User Interface

Es sind keine Vorkenntnisse erforderlich.

5


6

Schulungen in Wien

Ab November bietet The MathWorks in Kooperation

mit so-logic (www.so-logic.co.at)

nun auch Schulungen in Wien an. so-logic

ist der Partner von Xilinx in Österreich. Gestartet

wird das Schulungsprogramm mit

den beiden Einführungsschulungen zu

MATLAB und Simulink.

Alle Informationen zu unserem Schulungsangebot

sowie die Online-Anmeldung finden

Sie unter www.mathworks.de/schulung.

The MathWorks Deutschland veranstaltet

bereits zum vierten Mal eine International

Automotive Conference, die IAC 2004. Der

äußerst hohe Zuspruch der letzten Konferenzen

mit jeweils rund 400 internationalen

Teilnehmern aus 15 Ländern, darunter Vertreter

aller bekannten Automobilkonzerne

und Zulieferer, zeigt den Bedarf und das große

Interesse an dieser Veranstaltung.

Wichtige Daten:

15. Januar 2004:

Einsendeschluss für Abstracts

28. Februar 2004:

Benachrichtigung der Autoren

30. April 2004:

Einsendeschluss für fertige Beiträge

UW

Intern

Termine

DSP-Seminar für FPGA-Entwickler

24.-28. Nov. 2003 bei The MathWorks in Aachen

08.-12. Dez. 2003 bei PLC2 in Freiburg

MF01 – MATLAB für Finanzapplikationen

04.-05. Dez. 2003 in Aachen

Schulungen in Wien

ML01 – Einführung in MATLAB 04.-05. Nov. 2003 in Wien

SL01 – Einführung in Simulink 06.-07. Nov. 2003 in Wien

International Automotive

Conference – IAC 2004

15. bis 16. Juni in Stuttgart

Die IAC 2004 bietet im Rahmen einer zweitägigen

Konferenz das Forum, auf dem sich

Automobilhersteller und -zulieferer aus Europa,

Japan und den USA austauschen und

innovative Lösungsansätze sowie den erfolgreichen

Einsatz von MATLAB und Simulink

als Entwicklungsplattform vorstellen.

Die Konferenz bietet Teilnehmern die Möglichkeit,

über moderne Technologiekonzepte

zu diskutieren und sich gleichzeitig über

Neuerungen und aktuelle Trends der Entwicklungssoftware

zu informieren.

Kontakt:

Dr. Peter Krauss

Tel.: +49 (0)241-47075-20

E-Mail: p.krauss@mathworks.de

Call for Paper

Wir freuen uns über Ihre Beiträge, die praxisorientierte

Entwicklungen präsentieren

oder anwendungsspezifische Lösungen unter

Verwendung von MATLAB/Simulink zeigen.

Die Konferenzsprache ist Englisch.

Nachfolgend finden Sie eine Übersicht, die

Ihnen als thematische Anregung helfen soll.

Selbstverständlich sind auch Berichte über

andere Anwendungen aus dem Automobil-

Umfeld, bei dem MATLAB, Simulink oder

entsprechende Toolboxen zum Einsatz kommen,

herzlich willkommen.

– Fahrzeugelektronik

– Motormanagement

– Antriebsstrang

– Sicherheitskritische Systeme

– Modellierung (dynamische Systeme,

reaktive Systeme)

– Control Design

– Prüftechnik / Diagnose

– Echtzeitanwendungen (Rapid

Prototyping, ECU Programmierung,

Production Code)

Nutzen Sie die Gelegenheit und bewerben

Sie sich schon jetzt, wenn Sie mit einem

Beitrag vertreten sein möchten.

MATLAB

select 2/03


The MathWorks veranstaltet seit September

wieder regelmäßig kostenfreie

MATLAB/Simulink Thementage. Die ersten

Veranstaltungen in München und Berlin

sind bereits durchgeführt und wurden zum

Teil von über 100 Teilnehmern besucht.

Die Thementage bieten Ihnen die Möglichkeit,

sich gezielt über verschiedene Anwendungsbereiche

der MATLAB/Simulink-

Produktfamilie zu informieren. Im Zentrum

stehen Anwendungsbeispiele, anhand derer

der Einsatz unserer Produkte gezeigt wird.

Die Veranstaltungen sind halbtägig und

sollen einen informativen Überblick zur jeweiligen

Thematik geben.

Termine

Die aktuellen Termine finden Sie im Terminkalender

am Ende des Heftes oder unter

www.mathworks.de/thementag. Auf dieser

Webseite finden Sie auch Anmeldeinformationen

sowie alle künftigen Termine.

SJ

MATLAB

select 2/03

Intern

Kostenfreie MATLAB/

Simulink Thementage

Vorstellung der einzelnen Thementage:

Modellbasierte Entwicklung

Zeigt Ihnen neue Wege und einfache

Mittel zur Entwicklung komplexer Systeme.

Richtet sich an Ingenieure aus dem

F&E-Bereich und Entscheider, die neue

Wege zur Integration eingesetzter Entwicklungswerkzeuge

suchen.

– Von der Spezifizierung bis zur Implementierung

– Grafische Programmierung

– Integrierte Entwicklungsumgebung

– Dynamische + Ereignisorientierte Systeme

– Anwendungsbeispiele

– Fragen und Antworten

Test und Messtechnik

An Anwender, die Daten erfassen, verarbeiten

und analysieren.

– Messdatenerfassung und -analyse

– Automatische Messprozesse

– Bilderfassung

– Bus/Hardware-Anbindungen

– Qualitätssicherung

– Anwendungsbeispiele

– Fragen und Antworten

Automatische Erzeugung von Programm-Code

An Entwickler und Prozessverantwortliche,

die Microcontroller und Prototypen-

Systeme programmieren.

– Automatische Codegenerierung auf Basis

von Simulink-Modellen

– Rapid Prototyping / Hardware-in-the-

Loop

– On-Target Rapid Prototyping

– Seriencode-Generierung

– Anwendungsbeispiele

– Fragen und Antworten

Signalverarbeitung und Kommunikationstechnik

An Entwickler von Systemen, die analoge

und/oder digitale Signale verarbeiten und

übertragen.

– Sprachverarbeitung

– Filterdesign

– Verarbeitung von Videosignalen

– Herausforderungen beim Systemdesign

– Anwendungsbeispiele

– Fragen und Antworten

Finanzmathematik

An Anwender und Entwickler im Banken-

und Versicherungsumfeld, die finanzmathematische

Modelle und Anwendungen

einsetzen.

– Finanzmathematische Modellentwicklung

mit MATLAB

– Interaktion mit Excel

– Datenkommunikation

– Stand-alone Code im Finanzumfeld

– Anwendungsbeispiele

– Fragen und Antworten

7


8

Diese Gemeinsamkeiten gaben dem wissenschaftlichen

Beirat der at und The Math-

Works GmbH Anlass, über denkbare Inhalte

einer Zusammenarbeit nachzudenken, die

dem gemeinsamen Leser-/Nutzerkreis zusätzlichen

Nutzen bringen.

Anwendung und Weiterentwicklung von

Methoden sind heute untrennbar mit Software-Werkzeugen

verbunden. Zunehmend

wird die Publikation neuer Methoden durch

die Bereitstellung entsprechender Toolboxen

begleitet, die eine wesentlich effektivere

Kommunikation zwischen den Experten einer

Disziplin erlaubt. Die at möchte als Forum

fungieren, in dem Neuentwicklungen

von Software-Werkzeugen (oder auch Erfahrungsberichte

darüber) auf wissenschaftlichem

Niveau vorgestellt werden, die im

nicht-gewerblichen, vorrangig universitären

Bereich entstanden sind. Zu diesem Zweck

hat die at – neben ihren beiden etablierten

Aufsatzkategorien Methoden und Anwendungen

– als dritte die neue Kategorie Tools

geschaffen, die interessierte Autoren und Leser

im vorgenannten Sinne bedienen und gewinnen

möchte.

Intern

MATLAB meets at

Die im Oldenbourg Wissenschaftsverlag

erscheinende Fachzeitschrift

at – Automatisierungstechnik

– und die Softwareprodukte

der MATLAB-Familie

haben große Gemeinsamkeiten in

ihren Leser- bzw. Nutzerkreisen:

Beide wenden sich an die

Community derer, die fortschrittliche

Methoden der Steuerungs-,

Regelungs- und Informationstechnik

anwenden und weiterentwickeln,

sei es im Umfeld der

Hochschule oder der Industrie.

The MathWorks unterstützt die Einrichtung

dieser – natürlich nicht auf Produkte

der MATLAB-Familie eingeschränkte – neue

Aufsatzkategorie durch Sponsoring des mit

500 € dotierten Best-Paper-Awards, mit dem

die at den besten Aufsatz dieser Kategorie im

Jahresabstand auszeichnet. The MathWorks

ist dabei in guter Gesellschaft: Die gleichdotierten

Best-Paper-Awards der beiden anderen

Kategorien werden von BMW und Siemens

getragen.

Beide Seiten, die at und The MathWorks,

würden sich freuen, wenn diese ersten gemeinsamen

Schritte beim Leser-/Nutzerkreis

auf Interesse stoßen. Kommentare dazu und

Anregungen zu deren weiteren Ausgestaltung

sind dem Autor sehr willkommen.

Autor:

Prof. Dr. Dirk Abel

Univ.-Prof. Dr.-Ing. Dirk Abel ist Leiter

des Instituts für Regelungstechnik der

Rheinisch-Westfälischen Technischen

Hochschule Aachen und Mitglied des

wissenschaftlichen Beirats der Zeitschrift

at – Automatisierungstechnik.

Adresse:

RWTH Aachen, Institut für

Regelungstechnik, 52056 Aachen.

E-Mail: d.abel@irt.rwth-aachen.de;

Web: www.irt.rwth-aachen.de.

MATLAB

select 2/03


at – Automatisierungstechnik

at – Automatisierungstechnik

Methoden und Anwendungen der Steuerungs-, Regelungsund

Informationstechnik

Jahrgang 51 / 2003

Erscheinungsweise: monatlich

Oldenbourg Wissenschaftsverlag

Rosenheimer Straße 145

D-81671 München

Telefon 089 / 450 51-0

Fax 089 / 450 51-204

www.oldenbourg-verlag.de

www.at-technik.de

Organ der GMA (VDI/VDE-Gesellschaft Mess- und

Automatisierungstechnik) und NAMUR (Interessengemeinschaft

Prozessleittechnik der chemischen und pharmazeutischen Industrie)

Heft 11/2003

Schwerpunktheft zum Thema

Internet-basierte Ausbildung in der Automatisierungstechnik

Unter anderem mit folgenden Beiträgen:

Ch. Schmid: Internet-basiertes Lernen

A. Braune, K. Janschek: Wieviel Internet braucht der Automatisierer?

R. Nyström et al.: Web-based Training for Polymer Plant Operators

using Process Simulation

Herausgeber:

Prof. Dr.-Ing. Georg Bretthauer,

Forschungszentrum Karlsruhe GmbH

Wissenschaftlicher Beirat

Prof. Dr.-Ing. Dirk Abel, Technische Hochschule (RWTH) Aachen

Prof. Dr.-Ing. Martin Buss, TU Berlin

Prof. Dr. techn. Klaus Janschek, TU Dresden

Prof. Dr.-Ing. Uwe Kiencke, Universität (TH) Karlsruhe

Prof. Dr.-Ing. Rudibert King, TU Berlin

Dr.-Ing. Karl Naab, BMW Group, München

Dr. rer. nat. Gerd-Ulrich Spohr, Siemens AG, Karlsruhe

Dr. sc. techn. Peter Terwiesch, ABB Baden, Schweiz

Fordern Sie das monatliche Inhaltsverzeichnis kostenlos und

unverbindlich als E-Mail an unter:

at-redaktion@verlag.oldenbourg.de

Oldenbourg


Die Firma g.tec, Guger Technologies, entwickelt

speziell für die Medizintechnik Geräte,

die zur nicht invasiven und somit patientenschonenden

Untersuchung etwa der Gehirn,

Herz- und Kreislauffunktion geeignet

sind.

Basierend auf dem multimodalen Biosignalverstärker

g.BSamp, der Signale von Gehirn-,

Herz-, Augen- und Muskelaktivität sowie

der Atmung mit großer Qualität verstärkt,

wurden Systeme zur Visualisierung,

Aufzeichnung und Analyse entwickelt.

In diesem Artikel werden drei Komplettsysteme

zur Biosignalaufzeichnung und Verarbeitung

beschrieben:

(1) EEG Klassifikation in Echtzeit für ein

Brain-Computer Interface

(2) Monitoring von EEG und EKG auf

der Intensivstation mit dem g.tec Feature

Monitor

(3) Messung von EEG und EKG im Himalaja

mit g.MOBIlab.

Abb. 1: Gehirn-Computer-Schnittstelle – BCI

Anwendungen

Plattform zur Verarbeitung

von Biosignalen

unter MATLAB und Simulink

Die nicht invasive Funktionsdiagnostik

hat im Bereich der

Life Sciences in den letzten Jahren

einen großen Aufschwung erlebt.

Basierend auf verbesserten Messmethoden

und intelligenter Software

untersuchen Ärzte und

Wissenschafter möglichst schonend

die Funktionsweisen und Fehlfunktionen

des menschlichen

Organismus.

EEG Klassifikation in Echtzeit für ein Brain-Computer

Interface

Eine Elektroenzephaloprogramm-basierende

Gehirn-Computer-Schnittstelle (EEG

basierendes BCI – Brain-Comuter-Interface)

ermöglicht eine neuartige Form der Kommunikation

zwischen dem menschlichen

Gehirn und dem Computer. Patienten, die

unter schweren motorischen Beeinträchtigungen

leiden (z.B. schwere zerebrale Kinderlähmung,

Schädeltrauma und Rückenmarkverletzungen)

erhalten durch dieses

BCI-System die Möglichkeit zu einer alter-

nativen Form der Kommunikation – gesteuert

durch geistige Aktivität. Diese Zusammenwirkung

von Gehirn und Computer

muss in Echtzeit realisiert werden.

Das g.tec BCI misst das EEG der Versuchsperson/des

Patienten über bestimmten

Regionen an der Kopfhaut. Dazu werden

herkömmliche Gold-Elektroden verwendet,

die am Kopf befestigt werden. Aus dem EEG

werden im Computerprogramm unterschiedliche

Muster herausgefiltert, nach einer

Mustererkennung klassifiziert und das

Ergebnis in Kontrollsignale umgewandelt.

Die Kontrollsignale werden etwa zur Steuerung

externer Geräte (z.B. einer Handorthese,

die beeinträchtigte Greiffunktionen einer

Hand unterstützt) verwendet (Abb. 1).

MATLAB

10 select 2/03


Abb. 2: Komponenten des BCI Systems

BCI Komponenten

Die Gehirn-Computer-Schnittstelle besteht

aus einem PC oder Notebook sowie einem

Biosignal-Verstärker mit 2 bis 64 EEG-

Kanälen (Abb. 2). Der Computer läuft unter

Windows mit einer Echtzeit-Kernelerweiterung.

MATLAB steuert den zeitlichen und

inhaltlichen Ablauf des Versuchs, das sogenannte

experimentelle Paradigma. In Simulink

laufen die Parameter-Auswertung und

Klassifizierung des EEG in Echtzeit. Das

BCI-System lässt sich auch über eine Internet-

oder ISDN-Verbindung – zur Datenkontrolle

und Versuchsüberwachung – steuern.

Der „Biosignal amplifier“ g.BSamp misst

die EEG Aktivität der Versuchsperson. Das

verstärkte Signal wird danach vom „Realtime

system“ g.RTsys analysiert und klassifiziert.

Über die „Stimulation unit“ g.STIMunit

wird das Klassifikationsresultat der Versuchsperson

rückgemeldet.

MATLAB

select 2/03

Anwendungen

Highlights

Das Brain-Computer Interface – unter

MATLAB und Simulink realisiert – ermöglicht

in einer Trainingsphase mit Paradigmen

ohne Feedback den Computer auf die

EEG-Muster der Versuchspersonen zu trainieren.

In der Anwendungsphase laufen Paradigmen

mit Feedback, um z.B. einen Cur-

sors am Bildschirm mittels Gedanken zu

steuern. Der BCI-Ausgang kann über die

von Simulink zur Verfügung stehenden

Hardwareschnittstellen zur Kontrolle externer

Geräte verwendet werden (z.B. Fernbedienung

eines TV-Gerätes). Über ‚Scope‘-

Blöcke werden die EEG-Daten zur visuellen

Kontrolle am Bildschirm angezeigt und am

Ende des Versuchs gespeichert.

Kontrollstrategie

Die Gehirn-Computer-Schnittstelle kann

z.B. durch die Vorstellung einer Hand- oder

Fußbewegung gesteuert werden. Durch die

Wahl dieser Strategie genügt es, das EEG

über den entsprechenden sensomotorischen

Gehirnarealen abzuleiten, z.B. bei der Vorstellung

einer rechten Handbewegung über

der linken Gehirnhälfte (bei Elektrodenposition

C3). Wenn sich die Versuchsperson eine

Bewegung der rechten Hand vorstellt, verlängert

sich der waagrechte Balken nach

rechts, bei der Vorstellung einer Bewegung

der linken Hand nach links (Abb. 3).

Abb. 3: BCI Paradigma mit Feedback. Das Scope zeigt 2 EEG Kanäle über 5 Sekunden.

11


12

Anwendungen

Abb. 4: g.RTanalyze – die Parameterschätzungsbibliothek für Biosignale

Signalverarbeitung und Rapid Prototyping

Die g.tec Gehirn-Computer-Schnittstelle

(BCI) verwendet zwei unterschiedliche Parameter-Schätzmethoden:

i) Der Simulink-Block ‚Bandpower’ berechnet

die Bandleistungen für die EEG Kanäle

in zwei vordefinierten Frequenzbereichen

zwischen 8-13 Hz (alpha) und zwischen

16-24 Hz (beta-Band).

ii) Der Simulink-Block ‚AAR Parameter’

berechnet für die EEG Kanäle jeweils adaptive

autoregressive Parameter mittels RLS-

Schätzung.

Abbildung 4 zeigt die Parameterschätzungsbibliothek

g.RTanalyze mit den beiden

Schätzmethoden, die in Simulink angelegt

ist.

Abb. 5: Schätzung der Alpha und Beta Bandleistung von 2 EEG Kanälen.

Die Bandleistungen bzw. autoregressiven

Parameter werden online mit einer linearen

Diskriminanz-Analyse klassifiziert. Die Ergebnisse

werden direkt zur Steuerung eines

Cursors am Computerbildschirm oder eines

externen Gerätes (z.B. Orthesen, Prothesen

etc.) verwendet.

Der Benutzer hat die Möglichkeit, Adaptionen

der Signalanalysen und Paradigmen

unter Simulink per Drag and Drop der Verarbeitungsblöcke

vorzunehmen und kann

auch eigene Routinen hinzufügen. Abbildung

5 zeigt die Anwendung des Blocks

‚Bandpower’ (BP) zur Berechnung der

Bandleistungen von zwei EEG Känälen im

alpha und beta Band. Im ‚EEG Scope’ sieht

man die Signalverläufe der beiden EEG Kanäle

und in den ‚BP scopes’ sieht man die dazugehörigen

Signalverläufe der vier Bandleistungen

jeweils über 6 Sekunden.

MATLAB

select 2/03


Genauigkeit

Das Ergebnisprotokoll in Abbildung 6

zeigt die Fehlerrate der Klassifikation eines

BCI-Versuchs über 8 Sekunden. Von Sekunde

3 bis 8 stellte sich eine Versuchsperson eine

rechte oder linke Armbewegung vor. Die

Vorstellung wurde 40-mal wiederholt und

danach die Genauigkeit des BCIs berechnet.

Der Klassifikationsfehler verringert sich

nach der 3. Sekunde und erreicht einen minimalen

Wert von ca. 8 % bei der 8. Sekunde.

Das bedeutet, dass die Versuchsperson

mit einer Genauigkeit von 92% den Cursor

am Bildschirm steuern konnte.

Eine Studie mit 99 gesunden Probanten

ergab, dass 93% der Versuchsteilnehmer

nach einem Training von nur 20 Minuten in

der Lage waren, das BCI mit einer Genauigkeit

von größer als 60% zu steuern. 7% der

Versuchsteilnehmer waren sogar in der Lage

das BCI auf Anhieb mit mehr als 90%

Genauigkeit zu nutzen.

Anwendungsgebiete

Die Anwendung des Verarbeitungssystems

umfasst die Auswertung und Analyse

von Biosignalen in Echtzeit bei neurophysiologischen

und psychophysiologischen Versuchen

und Untersuchungen.

Die ereignisbezogene Desynchronization/Synchronization

(Leistungsabnahmen

und -zunahmen des EEGs) können etwa in

der Neurofeedback-Therapie genutzt werden.

In der Rehabilitation kann das BCI als

mentale Schreibhilfe, zur Umweltsteuerung

oder auch zur Kontrolle von Orthesen/Prothesen

verwendet werden.

MATLAB

select 2/03

Anwendungen

Abb. 6: Klassifikationsfehler des BCI

Monitoring von EEG und EKG auf der Intensivstation

Der g.tec Feature Monitor ist ein Gerät

zum Erfassung und Analysieren von EEG,

EKG, Atmung und Blutdruck. Aus den aufgenommenen

Biosignalen werden on-line

Parameter unter MATLAB berechnet, die

dem Arzt dargeboten werden. Das Gerät

kommt in der Intensivstation und im Operationssaal

zum Einsatz. Die Basisumgebung

für den Monitor ist g.Bsamp, der Biosignalverstärker,

und das Aufnahmesystem

g.DAQsys, das unter MATLAB läuft.

Der Feature Monitor unterstützt das Monitoring

von langfristigen Trends in den Biosignalen.

Somit werden etwa das EEG und

EKG bei Frühgeborenen in einem kontinuierlichen

Monitoring über 2 bis 24 Stunden

erfasst, Parameter aus den Daten errechnet

und die auftretenden Muster vom Arzt

untersucht. Kritische Zustände der Patienten

können somit bewertet werden und die kon-

Abb. 7: Visualisierung von 3 EEG und 1 EKG Kanälen

tinuierliche Überwachung macht Trends in

den Signalen sichtbar.

Feature Monitor Komponenten

Der g.tec Feature Monitor visualisiert online

die Biosignaldaten und berechneten Parameter

(wie EEG-Spektralinformationen,

Herzrate, Herzratenvariabilität und amplituden-integriertes

EEG) gleichzeitig und speichert

diese im MATLAB-Format ab. Somit

können anschließende statistische Auswertungen

in derselben Umgebung gemacht

werden. Der Zugriff auf die serielle Schnittstelle

unter MATLAB ermöglicht die Einbindung

von Geräten zur Überprüfung des diastolischen

und systolischen Blutdrucks. Ein

Protokollausdruck über 24 Studen der erfassten

Parameter kann über das Internet versandt

werden.

Signalverarbeitung

Nach der Montage von EEG- und EKG-

Elektroden startet man das Aufnahmesystem

g.DAQsys und das System beginnt die Biosignale

aufzunehmen. Abbildung 7 zeigt die

Online-Visualisierung von drei EEG Kanälen

und eines EKG Kanals.

13


14

Danach werden die zu berechnenden Parameter

ausgewählt. Vom EEG kann man ein

Compressed Spectral Array (CSF-Parameter)

und ein amplituden-integriertes EEG

(aEEG, CFM-Parameter) berechnen. Für die

EKG Analyse stehen die Herzrate (HR-Parameter)

und Herzratenvariabilität (HRV-Parameter)

zur Auswahl. Weiter können noch

der diastolische und systolische Blutdruck

(BP-Parameter) angezeigt werden. Sobald

der der Feature Monitor konfiguriert ist,

werden die ausgewählten Parameter im Protokoll

dargestellt (Abb. 8).

Der Feature Monitor kommt zum Beispiel

in der Neonatologie zur Untersuchung

von Frühgeborenen zum Einsatz (Abb. 9).

Damit kann eine Früherkennung und Verlaufskontrolle

der Gehirn- und Herzfunktion

durchgeführt werden. Der Monitor

wird aber generell auch zum Aufzeichnen

Anwendungen

Abb. 8: CFM1 und CFM2 Kurven zeigen ein amplitudenintegriertes EEG von EEG Kanal 1 und 2 in

[uV]; die HR Kurve zeigt die Herzrate in Schlägen pro Minute (beats per minute, [bpm]) und die

HRV Kurve zeigt die Herzratenvariabilität in [%]. Die Zeitachse verläuft vertikal und die Zeit wird im

Format [hh:mm] angegeben. CFM, HR und HRV werden laufend berechnet und alle 2 Minuten gedruckt.

Das aEEG beider EEG-Kanäle zeigt eine gleichmäßige Burst-Suppression bei einer erhöhten HRV um

ca. 13:00 Uhr bzw. 14:15 Uhr.

von Körperfunktionen während bestimmter

Ereignisse herangezogen. So können z.B. Ereignisse

während der Autofahrt und während

eines Fluges bei Piloten mitprotokolliert

werden.

Messung von Biosignalen im Himalaja

Das mobile Datenerfassungssystem

g.MOBIlab zeichnet multimodale Biosignale

auf einem handelsüblichen Personal Digital

Assistant (Pocket PC) auf. Bis zu acht Signale,

darunter Gehirn-, Herz-, Muskelaktivität

sowie Augenbewegungen, Puls oder Sauerstoffsättigung

werden damit gleichzeitig gemessen

und über einen Zeitraum von bis zu

70 Stunden gespeichert. Die Reaktionen der

Versuchsperson werden über einen externen

Taster miterfasst. Die Abtastfrequenz beträgt

256 Hz pro Kanal.

Über das Feedbackmodul werden der

Versuchperson akustische, visuelle oder auch

taktile Stimulationen für Neuro-/ Biofeedbackanwendungen

dargeboten. Ein kleiner

oder größer werdender Ballon ermöglicht

z.B. ein direktes Feedback der Atmung. Ein

anderes Paradigma gibt Rückmeldung von

EEG-Mustern, welche für Gehirn-Computer-Schnittstellen

verwendet werden können.

Abb. 9: Feature Monitor im Einsatz auf der Neonatologie des Krankenhaus

Villach in Österreich

MATLAB

select 2/03


Abb. 10:

Mobile Biosignal-Datenerfassung mit PocketPC

Der aktuelle Aufenthaltsort der Versuchsperson

wird über das Global Positioning

System (GPS) Modul synchron zu den Biosignalen

gespeichert. Somit können Veränderungen

der Biosignale als Funktion etwa

der Meereshöhe beobachtet und ausgewertet

werden. Eine Anwendung dafür findet sich

unter anderem beim Bergsteigen in großen

Höhen. Für telemedizinische Anwendungen

können die Biosignale über GSM/UMTS

oder Funknetzwerke (WLAN) direkt an den

Arzt oder den Versuchs-/Expeditionsleiter

weitergeleitet werden. Mit g.BSanalyze lassen

sich die Daten direkt unter MATLAB auswerten.

Feldeinsatz

Während einer österreichischen Expedition

in Nepal zum Chulu Far West (6419m)

wurde g.MOBIlab eingesetzt, um die Auswirkung

der großen Höhe auf EEG und EKG

zu bestimmen. Das Expeditionsteam startete

in Besi Sahar auf einer Meereshöhe von

700m, errichtete das Basislager auf 4800m

und das Höhenlager auf 5600m. Der Gipfel

des Chulu Far West wurde vier Tage nach

Expeditionsbeginn erreicht.

MATLAB

select 2/03

Anwendungen

Im Höhenlager wurde u.a. g.MOBIlab für

Messungen von zwei EEG Kanälen im sensomotorischen

Bereich sowie zur Messung eines

EKG-Kanals eingesetzt. Die EEG Kanäle

wurden über der rechten und linken Hemisphäre

bei Elektrodenpositionen C4 und C3

gemessen. Die beiden Versuchspersonen

führten hierzu willentliche Zeigefingerbewegungen

der rechten Hand im Abstand von

ca. 10 s durch Betätigung eines Schalters aus.

Der Schalterzustand (ein/aus) wurde ebenfalls

aufgezeichnet und die EEG Daten wurden

4 Sekunden vor und 4 Sekunden nach

dem Auftreten einer Bewegung untersucht.

Dazu wurden Zu- und Abnahmen der Leistungen

im EEG zwischen 5 bis 30 Hz in 2 Hz

Bändern berechnet. Abbildung 11 zeigt die

beiden EEG Kanäle, den EKG Kanal und den

Triggerkanal. Man erkennt, dass die EEG

Rohsignalamplitude bei Kanal C3 bereits eine

Sekunde vor der eigentlichen Bewegung

(bei Sekunde 14) abnimmt. Diese sogenannte

Desynchronisation endet ca. eine Sekunde

nach der Bewegung.

Abb. 11: EEG Rohsignale für Kanäle C3 und C4, EKG Signal und Triggerkanal

Schlussfolgerungen

Die von g.tec unter MATLAB und Simulink

entwickelte Plattform zur Verarbeitung

von Biosignalen ist bereits weltweit im Einsatz

und die Programme und Geräte erfüllen

den hohen Ansprüchen im Medizintechnikbereich.

Die flexible Entwicklungsumgebung

erlaubt g.tec, auf die einzelnen Anforderungen

sehr genau einzugehen. Besonders im

Forschungs- und Entwicklungsbereich können

so kundenspezifische Lösungen rasch

umgesetzt werden.

Autoren:

Günter Edlinger, Christoph Guger

Guger Technologies OEG

www.gtec.at

E-Mail: office@gtec.at

15


16

Auf dem Weg zu immer kürzeren Entwicklungszyklen

ist die Testautomatisierung

von entscheidender Bedeutung. Neben der

immensen Zeit- und Kostenersparnis steigert

sie auch die Qualität des Prüflings, weil

sie es erlaubt, ein breiteres Funktionsspektrum

in größerer Tiefe zu testen. Moderne

Verfahren wie Rapid Prototyping umfassen

den Einsatz von Testautomatisierung als

festen Bestandteil. Die Anwendung solcher

Verfahren ist Voraussetzung, um ein immer

kürzerer werdendes „Time To Market“ zu erreichen.

Somit werden durch Anwendung einer

effektiven Testautomatisierung deutliche

Wettbewerbsvorteile erzielt.

Abb. 1: Audi A8 auf einer Teststrecke

Leistungen

MicroNova entwickelte im Auftrag der

AUDI AG einen TARA-Treiber, der die beiden

„Welten“ TARA und xPC-Target verbindet.

Mit dem xPC Target-TARA-Adapter

werden jetzt Test-Simulationsmodelle, die

mit MATLAB/Simulink erstellt wurden, auf

einen xPC Target-Rechner übertragen. Deren

Ablaufsteuerung übernehmen TARA-

Skripte, die auch Modellparameter und Modellsignale

kontrollieren.

Anwendungen

Testautomatisierung

durch Adaption von

xPC Target an TARA

Testautomation ist heute bei der

Entwicklung von Prüfständen nicht

mehr wegzudenken. Reproduzierbare

und regressionsfähige Tests

sind das A und O beispielsweise

für die Entwicklung der immer

komplexer werdenden Steuergeräte

eines Kraftfahrzeugs und

der zunehmenden Vernetzung

ihrer Funktionen.

Nutzen

Testautomatisierung auf HIL-Prüfständen

(Hardware-in-the-Loop) mit TARA ermöglicht

eine vielfach höhere Prüftiefe und

Prüfabdeckung im Vergleich zu Tests im

Fahrzeug und zu manuellen Tests am Simulator.

Mit zunehmendem Grad der Automatisierung

von Testverfahren reduziert sich

nicht nur die Zeit, die zur Durchführung eines

Tests aufgewendet werden muss. Auch

die Tiefe, in der die Funktionalität eines Prüflings

getestet werden kann, nimmt zu. Neben

einer signifikanten Kosteneinsparung

führt dies zu einer Erhöhung der Produktqualität

und damit der Kundenzufriedenheit.

Mit dem xPC Target-TARA-Adapter stehen

mit einem Schlag alle MATLAB/Simulink-Simulationsmodelle

unter xPC Target

für die TARA-Automatisierung zur Verfügung.

Ohne komplizierte und teure Umwege

über weitere Software kann ein xPC Target-

System direkt von TARA aus angesprochen

werden.

Abb. 2: Vorteile durch den Einsatz von TARA

MATLAB

select 2/03


Realisierung des Treibers

Der xPC Target-TARA-Adapter muss der

Interface-Spezifikation für TARA-Treiber

genügen. Die Kommunikation mit dem xPC

Target-System erfolgt über dessen C-

Schnittstelle, die eine LAN-Anbindung über

TCP/IP beinhaltet. Der neue Treiber sollte

sich an der Befehlsstruktur eines bereits existierenden

Treibers orientieren und möglichst

kompatibel sein, um mit geringen Anpassungen

der Testskripten auf xPC Target

umstellen zu können.

Der realisierte Treiber gewährleistet den

direkten Zugriff auf xPC Target-Systeme

und macht folgende Features des xPC Target-Systems

für TARA zugänglich:

– Aufbau/Abbau einer Verbindung zum

xPC Target-System

– Laden/Löschen einer Applikation auf

dem xPC Target-System

– Starten/Stoppen der Applikation

– Lesen/Setzen von Parametern der Applikation

– Lesen von Applikations-Variablen

– Lesen/Setzen von Simulations-relevanten

Parametern und Funktionen des xPC

Target-Systems.

Der xPC Target-TARA-Adapter ermöglicht

es, von einem TCL-Skript aus Simulationsmodelle,

die mit MATLAB/Simulink

erstellt wurden, auf einen xPC Target-Rechner

zu übertragen, um anschließend ihren

Ablauf zu steuern und ihre Parameter und

Signale zu kontrollieren.

Der Adapter ist eine dynamisch ladbare

Windows DLL. Sie setzt auf der C-Schnittstelle

von xPC Target, der so genannten xPC-

API auf, und stellt ein Interface für die C-

Schnittsstelle der Scriptsprache TCL zur Verfügung.

Der Treiber ist objektorientiert entworfen

und in C++ implementiert. Er enthält

ein Hilfesystem zur Selbstdokumentation,

das über interaktive TCL-Kommandos

abgefragt werden kann.

MATLAB

select 2/03

Anwendungen

xPC Target

Mit Simulink erstellte Simulationen können

auf xPC-Target in Echtzeit ablaufen. Als

Plattform genügt ein einfacher PC mit Diskettenlaufwerk.

Es werden zahlreiche I/O-

Steckkarten unterstützt, die digitale oder

analoge Signaleingänge und -ausgänge oder

Anbindungen an Kommunikationsbusse bereitstellen.

In Prüfständen übernimmt der

xPC Target-Rechner die Aufgabe der zentralen

Steuerung, Regelung und Kontrolle der

Hardware sowie Sensorik und Aktorik, welche

die Umgebung des Prüflings (Steuergerät)

simuliert.

Diesen Ansatz, die reale Umgebung zu simulieren,

bezeichnet man als ‚Hardware In

The Loop’ (HIL).

TARA

Das bei VW konzernweit eingesetzte TA-

RA ist eine Toolbox zur Testautomatisierung

in der Steuergeräteerprobung. Es besteht aus

einer Sammlung von Treibern, Bibliotheken

und Tools, mit denen Testabläufe standardisiert

und automatisiert werden können.

TARA ist skriptbasiert (TCL) und steuert

die Funktionen unterschiedlichster Einzelgeräte

eines Prüfstands über ihre jeweiligen

Schnittstellen. Zahlreiche TARA-Treiber für

die unterschiedlichen Hardware- und Softwareprodukte,

die im Prüfstandsumfeld eingesetzt

werden, machen TARA zu einem

Universalwerkzeug der Testautomatisierung.

Funktionsbibliotheken in der Skriptsprache

TCL und Datenbank-gestützte Parametrierung

vereinheitlichen die Schnittstellen zu

unterschiedlichen Prüfständen und ermöglichen

es, wieder verwendbare Testabläufe zu

erstellen.

Abb. 3: Anbindung der xPC-Target Hardware inerhalb des TARA-Ebenenkonzeptes

17


18

Übergeordnetes Testsystem

Bereits jetzt bestehen bei AUDI Ansätze,

nicht nur die Testabläufe selbst zu automatisieren,

sondern auch die Erstellung der

Testskripten. In einem weiterführenden Projekt

für die AUDI AG befasst sich MicroNova

mit der Realisierung eines universellen

Testsystems, nicht nur zur Automatisierung

der Testabläufe basierend auf TARA, sondern

auch zur Generierung der Testskripten

für unterschiedliche Szenarien.

Dieses zentrale Testsystem übernimmt

die Administrierung von Treibern, Funktionsbibliotheken,

TCL-Skripten, die Parametrierungen

unterschiedlicher Prüfstände

und die Versionierung in einer Datenbasis.

Der Vorteil eines derartigen Testsystems

liegt auf der Hand. Denn Benutzer mit

unterschiedlichen Sichten auf die AUDI-

Testwelt können damit auf verschiedenen

Abstraktionsniveaus ihren Anteil zur Funktion

des komplexen Ganzen beitragen.

Abb. 5: Eingänge des Türsteuergerätes

Anwendungen

Abb. 4: HIL-Prüfstand für Türsteuergeräte

Anwendungsbeispiel: Prüfstand Türsteuergeräte

MicroNova hat für die AUDI AG einen

HIL-Prüfstand für Türsteuergeräte entwickelt.

Dieser HIL-Prüfstand muss Lasten für

Stellmotoren, Leuchten und auch die digitale

Kommunikation mit anderen Steuergeräten

im Fahrzeug simulieren. Die zentrale

Steuerung übernimmt ein Industrie-PC unter

xPC Target.

Das Türsteuergerät kontrolliert mit Hilfe

von weiteren elektrischen oder mechatronischen

Komponenten das Heben und Senken

der Seitenscheiben, das Anklappen der

Außenspiegel, Regelung der Spiegelheizung,

die Zentralverriegelung sowie Türinnenleuchten

und Blinker.

Alle diese Funktionen und die Kommunikation

zu anderen Steuergeräten lassen

sich mit dem xPC Target-TARA-Adapter

nun automatisiert durchführen. Die Ergebnisse

sind jederzeit reproduzierbar und vergleichbar,

da in der Regel eine generische

Testsequenz vielen ähnlichen Funktionstests

zugrunde liegt.

MATLAB

select 2/03


Der Prüfstand testet alle vier Türsteuergeräte

eines Fahrzeugs gleichzeitig. Als Originalbauteile

wurden Stellmotoren für die

Fensterheber und Schlosselemente für die

Zentralverriegelung sowie die Außenspiegel

mit ihren Stellmotoren zum Verstellen und

Anklappen in den Prüfstand eingebaut. Die

Lasten, die die Fenster beim Öffnen und

Schließen verursachen, werden mechanisch

erzeugt.

Auch Ausnahmesituationen, wie das Einklemmen

von Gegenständen im Fenster

beim Schließen, können nachgestellt werden

(Einklemmschutz). Am Türsteuergerät angeschlossene

Sensoren versorgen das Gerät

mit Informationen über den momentanen

Zustand seines Umfeldes und melden Ergebnisse

von Aktionen, die es ausgelöst hat. Die

Sensoren werden im Prüfstand teilweise vom

zentralen Echtzeitrechner über I/O-Hardware

simuliert, teilweise sind sie in Form originaler

Fahrzeugteile vorhanden.

MATLAB

select 2/03

Abb. 6: Automatische Code-Generierung für xPC Target

Anwendungen

Die auf dem xPC Target-Rechner laufende

Anwendung, das Simulationsmodell, wird

in Simulink als Blockschaltbild erstellt. Auf

alle Signalausgänge der einzelnen Blöcke

und auf alle während der Simulation veränderbaren

Parameter besteht über eine netzwerkfähige

Programmierschnittstelle von

xPC Target Zugriff auf beliebige C-Programme.

Diese Schnittstelle wird zur Automatisierung

von Testabläufen für xPC Target

mit TARA verwendet.

Ein Türsteuergerät besitzt zusätzlich eine

Kommunikationsanbindung über CAN-Bus

zu anderen Steuergeräten im Fahrzeug, um

zum Beispiel beim Abschließen des Autos die

Anweisung zu erteilen, das Schiebedach zu

schließen. Der xPC Target-Rechner ersetzt

auch alle CAN-Kommunikationspartner der

Steuergeräte.

Testautomatisierung

Nicht nur in der Automobilindustrie, die

hier Pionierarbeit leistet, sind komplexe,

umfangreiche und hundertprozentig reproduzierbare,

aussagekräftig ausgewertete Tests

Voraussetzung für eine sichere Entwicklung

komplizierter Systeme.

MicroNova bietet, auf der Basis seines

Know-how in der Prüfstandautomation,

schlüsselfertige HIL-Simulatoren sowie

Unterstützung bei der Testautomatisierung

und bei TARA-Erweiterungen.

Bei der Entwicklung von Prüfständen

und der Realisierung von Systemen zur Testautomation

gewährleistete der Einsatz der

MathWorks-Werkzeuge eine schnelle und

unkomplizierte Umsetzung der technisch

anspruchsvollen Anforderungen.

Autoren:

Raimund Schmid, Michael Schläfer

MicroNova electronic GmbH

E-Mail: info@micronova.de

http://www.micronova.de

Bildnachweis: Abb. 1 - AUDI AG

19


20

Die Problemstellung

Prozessoptimierung mit einer großen

Anzahl von Prozessparametern ist eine sehr

komplexe, langwierige und teure Arbeit. In

der Praxis ermittelt ein erfahrener Mitarbeiter

solche Parameter oft mittels Trial-and-

Error. Diese Technik wird mit zunehmender

Dimensionalität in Prozessparametern und

Produkteigenschaften zeitraubend und

schwieriger. An dieser Stelle bieten neuronale

Prognosen einen neuen Weg zur Prozessoptimierung.

Den Einsatz von neuronalen Netzen zur

Prozessoptimierung hat die Gruppe für

NeuroComputing des Institutes für Mechatronik

und Informationstechnologie der

FHS Hochschule für Technik, Wirtschaft

und Soziale Arbeit St. Gallen (Schweiz) anhand

eines Kaltumformprozesses untersucht.

Die Gruppe beschäftigt sich allgemein

mit datenbasierten Problemstellungen, wobei,

neben vielen anderen Toolboxen, meist

die Neural Network und Fuzzy Logic Toolbox

zum Einsatz kommen.

Anwendungen

Neuronale Netze für die

Prozessoptimierung

Prognosen lassen sich in den

verschiedensten Anwendungsgebieten

mit Hilfe von ANFIS

(Adaptive Neuro-Fuzzy Inference

System) oder neuronalen Netzen

stellen. Mit Hilfe von Überwachungsdaten

können so bereits

während eines Fertigungsprozesses

Produkteigenschaften

vorausgesagt werden.

Dabei reicht der erlaubte

Bereich für das Zeitverhalten

des Prozesses von hochdynamisch

bis zu quasistationär.

Zum besseren Verständnis der komplexen

Anforderungen, die die Optimierung eines

Prozesses mit mehreren Parametern stellt,

sei eine Minigolf-Simulation betrachtet

(Abb. 1). Dieses Spiel zeigt auf, wie schwer es

für das menschliche Gehirn ist, mehrdimensionale

Zusammenhänge richtig zu verarbeiten.

Für Testfreudige kann das Spiel unter

www.fhsg.ch/nc heruntergeladen werden.

Ziel des Minigolf-Spiels ist es, einen Golfball

vom Abschlag aus (Punkt 1, Abb. 1) so

Abb. 1: Grundriss und 3D-Ansicht der Minigolfbahn Abb. 2 Blockschaltbild neuronales Prozess-Modell

durch eine röhrenförmige Bahn zu befördern,

dass er den Zielkreis trifft und unter einem

Winkel von 90° zur Rohrkante aus der

Bahn kommt. Am Abschlag können drei Parameter

angegeben werden: die Abschlag-

Position, der Abschlag-Winkel und die Abschlag-Geschwindigkeit

des Golfballes.

Müsste der Golfball dagegen auf einer geraden

Bahn geradeaus gespielt werden, so

stellt dies keine hohe Anforderung an den

Menschen. Es ist auch noch nicht so schwierig,

wenn noch eine Kurve gespielt werden

müsste. Findet das ganze aber in einer rohrähnlichen

Bahn statt, so muss man drei Parameter

beachten, um den Ball richtig zu

spielen. Dazu kommt die Nichtlinearität dieses

Systems aufgrund der rohrähnlichen

Bahn. Damit ist das menschliche Hirn normalerweise

bei weitem überfordert. Reale

Prozesse, z.B. in der Produktion von Werkstücken,

weisen in der Regel sogar mehr Parameter

als das geschilderte Spiel auf. Die

Prozessoptimierung ist entsprechend aufwändig,

hier bietet sich der Einsatz neuronaler

Netze an.

Benötigte Daten und Datenhandling

Von einem neuronalen Netz können Aussagen

bezüglich des Verhaltens eines Systems

auch dann getroffen werden, wenn die zugrunde

liegenden Daten nicht den gesamten

Arbeitsbereich abdecken. Allerdings sind die

Aussagen nur zuverlässig, wenn die erhaltenen

Informationen über den betroffenen Arbeitsbereich

Minimalanforderungen genügen.

Je nach Aufgabenstellung muss entschieden

werden, ob die Datenbasis ausreicht

oder nicht.

MATLAB

select 2/03


Ein Datensatz besteht aus n Prozess-Parametern

und m Produkt-Eigenschaften (Abb.

2). Ein neuronales Netz braucht, je nach

Schwierigkeit der zu lösenden Aufgabe,

mehrere hundert Datensätze. Solche Datensätze

sind in der Praxis sehr teuer, weshalb

oft auf die Möglichkeiten eines ANFIS

(Adaptives Neuronales Fuzzy Inferenz System)

zurückgegriffen wird. ANFIS ist ein

Fuzzy-System, das mit neuronalen Algorithmen

trainiert wird und somit eine Verschmelzung

der beiden Techniken darstellt.

Diese Technik braucht viel weniger Daten.

ANFIS ist Bestandteil der Fuzzy Logic Toolbox.

Die Datensätze werden in so genannte

Trainings- und Testsätze aufgeteilt. Mit den

Trainingssätzen kann das Netzwerk nun die

Gewichte (Verbindungen zwischen den

Neuronen in Abb. 5; Gewichtsmatrizen mit

W1 und W2 beschriftet) festlegen. Ist dies

geschehen, werden mit den Testsätzen die

Ergebnisse kontrolliert, bis das Netzwerk zur

vollen Zufriedenheit funktioniert.

Ein Praxis-Beispiel

Kaltumformen ist ein komplexer Fertigungsprozess,

der sehr maßhaltige Teile mit

hervorragenden Gefügeeigenschaften und

Oberflächenqualität erzeugt, weshalb keine

Nachbearbeitung erfolgen darf.

Die Geometrie der Teile ist abhängig von

der Werkzeuggeometrie und einer Reihe von

Prozessparametern wie Drücke, Temperatu-

Abb. 3 Kugelnabe mit einem Durchmesser von

39 mm und einer maximalen Toleranz von ± 5µm

bei Raumtemperatur. Mit der Nabe wird die

Antriebskraft eines Automotors auf die Räder

übertragen.

MATLAB

select 2/03

Anwendungen

Abb. 4 Blockschaltbild eines neuronalen Netzwerks in MATLAB

ren usw. Diese Prozessparameter schwanken

innerhalb enger Grenzen und mit ihnen die

Geometrie der produzierten Teile. Teile, die

höchsten Qualitätsanforderungen genügen

müssen, wurden bisher einer 100%-Kontrolle

unterzogen. Um den aufwändigen Kontrollschritt

zu reduzieren, wird in einem

neuronalen Prozessmodell der Zusammenhang

zwischen Prozessgrößen und Teilegeometrie

(Produkt-Eigenschaften) modelliert.

In einer ersten Lernphase werden dazu die

Prozessgrößen und die entsprechenden Geometrien

erfasst. Diese Datensätze werden

zum Training und zum Testen des neuronalen

Netzes benutzt. Anschließend ist das fixierte

Netz in der Lage, mit neuen Prozessparametern

die gewünschten Geometriedaten

zu schätzen.

Das neuronale Netz wird (in Form einer

Software) parallel zum bestehenden Prozess

geschaltet. Es wertet die fünf wichtigsten

Prozessparameter aus und liefert den Durchmesser

der Nabe (Abb.3) als Output. Dieser

Durchmesser lässt sich andernfalls erst nach

zwei Tagen am Objekt selber messen. Diese

Zeit wird benötigt, um die Nabe durch Konvektion

abkühlen zu lassen.

Während der Produktion werden die

Werkzeuge mittels angebrachter Sensoren

(Dehnungsmessstreifen, DMS) auf Maßhaltigkeit

überprüft. Bei einem erforderlichen

Werkzeugwechsel, der durch DMS-Fehler

detektiert wird, werden die Sensoren mit

ausgetauscht, wodurch eine erneute Initialisierung

der Messung notwendig ist.

Das neuronale Netz wird eingesetzt, um

zum einen bereits während der Produktion

eines Loses kontrollieren zu können, ob alle

wichtigen Prozessparameter noch stimmen.

Andererseits soll nach einem Sensortausch

die Messung nach maximal 30 gepressten

Teilen wieder innerhalb der gewünschten

Parameter funktionieren.

Die Vorteile sind sofort ersichtlich: Ein

Eingreifen in den Prozess ist möglich, sobald

Fehler entdeckt werden und nicht erst nach

Beendigung des Loses, was die Menge an

Ausschussteilen erheblich reduziert. Mögliche

Fehler, die ein Eingreifen erfordern, sind

Abnützungen oder Brüche an der Werkzeuggeometrie,

Sensorschäden usw.

Realisierung des Neuronalen Netzes

Die Prognose wird mit Hilfe eines Feed-

Forward-Netzwerks gestellt. Um eine solche

Netzwerkstruktur zu erzeugen, wird die

Neural Network Toolbox verwendet. Diese

erlaubt es, mittels des newff Befehls ein solches

Netzwerk zu initialisieren und alle nötigen

Parameter zu übergeben oder zufällig zu

setzen:

net = newff(PR, [3, 1],{'tan

sig', 'purelin'},'trainlm')

Mit nur einer Zeile Code lässt sich also

ein ganzes Netzwerk erzeugen, das man zum

Testen und Optimieren sehr schnell anpassen

kann. Nach der Erzeugung des Netzes

wird dieses mit dem Levenberg-Marquardt

Algorithmus (in Abhängigkeit von der Aufgabenstellung)

trainiert. Dazu wird der Befehl

train eingesetzt (der Algorithmus ist dabei

in der Netzwerkstruktur net gespeichert):

[net,tr,out,E] = train(net,pn,T)

Am Ende der Initialisierung und des Trainings

besteht die Möglichkeit, das Netz zu simulieren:

[out,Pf,Af,E,perf] = sim(net,p,Pi,Ai,t)

21


22

Je nach den benötigten Informationen

werden mehr oder weniger Parameter an die

Simulation übergeben. Die Qualität des

Netzergebnisses lässt sich anhand des MSE-

Wertes [1] (Mean-Square-Error), der gleich

in der Variabeln E enthalten ist, beurteilen.

Vor der Verarbeitung der Daten durch das

neuronale Netz müssen diese standardisiert

[2] werden, um den Zahlenbereich einzugrenzen.

Diese Vorbereitung der Daten erfolgt

mit dem Befehl prestd der Neural Network

Toolbox, für die Rücktransformation

steht der Befehl poststd bereit. Somit lässt

sich die ganze Initialisierung und Simulation

des Netzwerks in nur fünf Zeilen Code erledigen.

Die Neural Network Toolbox deckt sämtliche

gängigen Methoden der neuronalen

Netzwerke ab und stellt ebenso viele verschiedene

Trainingsalgorithmen zur Verfügung.

Wie bei anderen MATLAB Toolboxen

übernimmt auch die Neural Network Toolbox

sehr viel Routinearbeit, so dass sich der

Anwender auf das wesentliche Problem konzentrieren

kann.

Abb. 5: Übliche Darstellung neuronaler Netze in der Literatur

Anwendungen

Das in MATLAB 6.5 enthaltene GUI

nntool erzeugt anhand des erstellten Netzes

ein Blockschaltbild des neuronalen Netzwerks

(Abb. 4). Zu erkennen sind die fünf

Eingangs-Neuronen, die drei Hidden-Neuronen

sowie das einzelne Ausgangs-Neuron,

das an dieser Stelle ausreicht, da das Netz

nur eine einzelne Größe – den Durchmesser

der Nabe – prognostizieren muss.

Eine oft in der Literatur verwendete, etwas

verständlichere Darstellung ist in Abbildung

5 zu sehen. Während die Darstellung

von MATLAB auch für sehr große Netzwerke

geeignet ist, wird diese Methode allerdings

sehr schnell unübersichtlich.

Die Eingangsebene (IN: Input-Neuronen)

sind die Messwerte, die im Verlauf des

Projektes als die am besten geeigneten ermittelt

wurden. Die mittlere Schicht (HN:

Hidden-Neuronen) stellt die so genannte

versteckte Schicht dar, deren Anzahl Neuronen

im Verlauf des Projektes auf drei optimiert

wurde. Das letzte Neuron (ON: Output-Neuron)

ist die Ausgangsgröße und gibt

den Enddurchmesser der Nabe in mm an.

Ergebnisse und Anwendungen

Mit dem Einsatz neuronaler Netze für die

Kontrolle des Kaltumformprozesses wurden

folgende Verbesserungen und Ergebnisse erreicht:

– Deutliche Verminderung der Ausschussrate

komplexer Umformteile

– Fehlererkennung bereits während der

Fertigung und daraus folgend die Möglichkeit,

den Fertigungsprozess frühzeitig

zu korrigieren

– Einsparung von komplizierten und teuren

100%-Prüfungen.

Diese Technik zur Erstellung von Prognosen

ist nicht auf eine bestimmte Verfahrenstechnik

beschränkt, Anwendungen dafür

existieren in vielen Bereichen. Die Anzahl

von Parameter-Ein- und -Ausgängen ist

bei neuronalen Netzen beliebig. Weiterhin

sind neuronale Netze nach Wunsch erweiterbar

und die Anwendungen dürfen im höchsten

Grad nichtlinear sein. Mit den in den

MATLAB Toolboxen enthaltenen Algorithmen

lassen sich die entsprechenden Aufgaben

schnell und effizient umsetzen.

Autor:

Michael Schmid

FHS Hochschule für Technik, Wirtschaft

und Soziale Arbeit St. Gallen

Gruppe für NeuroComputing

www.fhsg.ch/nc

Literatur:

[1] Christopher M. Bishop: Neural Networks for Pattern Recognition

[2] newsgroup: comp.ai.neural-nets

MATLAB

select 2/03


Die taiwanesische Realtek Semiconductor

konnte diese Hürden nehmen, weil sie durch

die Einführung von MathWorks-Tools in die

eigene Entwicklungsumgebung die Integration

ihrer beiden F&E-Abteilungen, die Entwicklung

analoger und digitaler Komponenten,

erreichte. Diese Strategie hat es dem

Unternehmen ermöglicht, die Entwicklungszeit

für einen neuen Halbleiterchip,

den ALC 201/A, deutlich zu reduzieren und

dabei gleichzeitig die Nutzung eigener

Ressourcen zu maximieren. Der Vielzweck-

Chip ist voll mit dem 1997 von Intel vorgegebenen

AC´97 Audio Codec-Standard kompatibel.

Die frühe Markteinführung und die hohe

Qualität des ALC 201/A halfen Realtek, die

zu diesem Zeitpunkt bereits Marktführer bei

Integrierten Schaltkreisen (ICs) für PC-Peripheriegeräte

waren, den weltweiten Marktanteil

bei AC´97 Audio Codecs erheblich

auszuweiten.

MATLAB

select 2/03

Anwendungen

Realtek erobert 50%

Marktanteil dank eines

neuen Audio-Chips

Als erster ein neues Produkt auf

den Markt zu bringen, gestaltet

sich auf dem extrem umkämpften

Halbleitermarkt bereits schwer

genug. Eine zusätzliche Herausforderung

ist es dann, wenn auch

noch Standards, wie die Audio Codec-Standards

für PC-Multimediasysteme,

zu erfüllen sind.

Die Herausforderung

Entwickler von Audio Codec-Algorithmen

(Kompression und Dekompression)

stehen vor der Aufgabe, komplexe und umfangreiche

Berechnungen implementieren

zu müssen. Außerdem müssen sie die weltweite

Nachfrage nach leichteren, kleineren

und tragbareren Consumer-Geräten wie

PDAs, Laptops und Handys befriedigen. Das

bedeutet die Entwicklung von Halbleitern

mit maximaler Systemleistung bei minimaler

Chipgröße.

In der Vergangenheit haben die Realtek-

Ingenieure C-Code oder SPICE für die Produktentwicklung

eingesetzt. Doch diese

Werkzeuge erwiesen sich für die Analyse

umfangreicher Daten und für die Systemsimulation

als zu ineffizient. Die Realtek-Ingenieure

benötigten daher Entwicklungswerkzeuge

mit ausgeprägten mathematischen Berechnungs-

und Analyse-Fähigkeiten.

Außerdem sollte die Entwicklungsumgebung

den beiden F&E-Teams eine übergreifende

Zusammenarbeit erlauben, um beispielsweise

ihre Rohentwürfe miteinander

zu teilen.

Die Lösung

Realtek setzte MATLAB, Simulink und einige

zugehörige Toolboxen und Blocksets in

allen drei Stadien des Entwicklungsprozesses

ein: In der Systemanalyse und numerischen

Berechnung, in der Verilog-Simulation und

–Kosimulation und in der Hardware-Implementierung.

"Die mächtige Rechen-Engine

und die anwenderfreundliche Oberfläche

von MATLAB und Simulink haben den Entwicklungsprozess

vereinfacht", so Zhong

Ming Zhang, Ingenieur in der Abteilung für

die Entwicklung analoger ICs. "MATLAB hat

mir geholfen, meinen Teil des Projekts problemlos

innerhalb von nur zwei Wochen

nach dem ersten Versuch fertig zu entwickeln

und zu implementieren und hat damit

die Dauer eines Entwicklungszyklus bei uns

erheblich verkürzt.“

Die Ingenieure in der digitalen Signalverarbeitung

stützten sich in großem Umfang

auf MATLABs matrizenbasierte Funktionen,

um die Entwicklung zu beschleunigen: "Mit

herkömmlichem C-Code oder anderen manuellen

Programmiermethoden hätten wir

viel Zeit und Energie darauf verwenden

müssen, uns mit Programmierproblemen zu

befassen, die die Ingenieure vom eigentlichen

Entwicklungsziel abgelenkt und unsere

Entwicklungsarbeit extrem ineffizient gemacht

hätten," stellt Yu Shu Zhang, Inge-

23


24

nieur aus der Entwicklungsabteilung für digitale

ICs, fest. "Die MATLAB-Sprache und

die eingebauten Funktionen deckten sich

voll mit unseren Bedürfnissen und erlaubten

es uns so, uns auf die Produktentwicklung zu

konzentrieren statt auf die manuelle Programmierung."

Im Vorfeld der Hardware-Implementierung

musste Realtek das Modell in Verilog

konvertieren. Mit Hilfe des DSP (Digital Signal

Processing) und des Fixed Point Blocksets

nahmen die Entwickler durch direkten

Vergleich mit dem original MATLAB M-File

und -Algorithmus letzte Feineinstellungen

am Verilog-Modell vor. Dadurch waren sie in

der Lage, Fehler effizienter aufzuspüren.

Simulink half dabei, ein Verilog-Modell

zu erzeugen, das mit dem ursprünglichen

Produktkonzept praktisch identisch war. In

der Kosimulations-Phase setzte Realtek Simulink

ein, um das System dynamisch zu simulieren.

Durch die Quantizer-, Up Sampling-,

Down Sampling- und FIR Decimation-Blöcke

aus den Bibliotheken des DSP

und des Fixed Point Blockset konnte die Verarbeitung

komplexer analoger und digitaler

Signale deutlich beschleunigt werden. Die

Optimization Toolbox half, die Effizienz des

Produkts weiter zu verbessern, wodurch eine

höhere Leistung in einem gleichzeitig kleineren

Chip erreicht und die Produktionskosten

drastisch gesenkt wurden.

Nach wiederholter Analyse, Simulation

und Verifikation war der Systemcode fertig

für die Hardware-Implementierung. Weniger

als zwei Jahre nach Einführung des

SC'97-Standards gab Realtek bekannt, dass

der ALC 201/A Controller-Chip für die Massenproduktion

bereitsteht.

“MATLAB und Simulink halfen uns dabei,

alle kritischen Probleme zu überwinden

und unsere Aufgabe noch vor den festgelegten

Terminen abzuschließen. Unser neuer,

optimierter Entwicklungsprozess sichert unsere

führende Position in einem von heftigem

Wettbewerb gekennzeichneten Markt.”

erklärt Shih Yu Ku, Realtek Semiconductor

Corporation.

Anwendungen

Ergebnisse

Als Resultat der Tatsache, als erster mit einem

Qualitätsprodukt auf dem Markt gewesen

zu sein, eroberte Realtek einen über

50%igen Anteil von Taiwans Audio Codec-

Markt im ersten Jahr nach Produkteinführung.

Das Projekt zur Entwicklung des ALC

201/A erforderte sehr gute Zusammenarbeit

zwischen den beiden großen F&E-Abteilungen.

"Die intuitive grafische Oberfläche und

die von MATLAB und Simulink gebildete integrierte

Entwicklungs-Umgebung spielten

während des gesamten Projekts eine zentrale

Rolle," sagt Wen Qi Wang, Leitender Angestellter

in der Entwicklungsabteilung für

analoge ICs. "Dank der gemeinsamen Entwicklungsumgebung

konnten die Ingenieure

die Arbeit des jeweils Anderen auf einfache

Weise verstehen und die Entwicklungs-Schemata

schnell integrieren."

Durch die Erweiterung der vorhandenen

Entwicklungs-Werkzeuge um MATLAB und

Simulink konnte Realtek seine F&E-

Ressourcen effizienter nutzen und damit die

Ziele wirtschaftlicher und schneller erreichen.

Mehr über Realtek erfahren Sie unter

www.realtek.com.tw

Abb.1: Audio Codec Chips im Einsatz: MP3 Player


Moderne FPGAs

FPGAs bestehen heute aus bis zu 10 Mio.

logischen Gattern. Diese Zahl klingt eindrücklich,

sagt aber nicht sehr viel aus. Denn

diese Gatter stecken in verschiedenen Funktionseinheiten.

So stehen dem Anwender

nicht einzelne Gatter sondern Logikzellen

zur Verfügung. Eine derartige Zelle beinhaltet

in der Regel mindestens ein Flip-Flop

plus konfigurierbare logische Einheiten. Daneben

können FPGAs mit RAM-Blöcken,

Multiplizierern oder ganzen Prozessor-Cores

ausgestattet sein.

Als Beispiel der Oberklasse sei der Virtex

II Pro XC2VP125 von Xilinx zu erwähnt, der

u.a. vier integrierte PowerPC-Cores und 556

einzelne 18x18 bit Multiplizierer aufweist.

Andere Chips bieten über 1000 konfigurierbare

IO-Pins. Selbstverständlich hat diese

Spitzentechnologie auch ihren Preis.

Dem durchschnittlichen Anwender steht

indessen eine umfangreiche Palette von kleinen

und mittleren Komponenten zur Verfügung.

Die Wahl fällt entsprechend schwer.

Oft ist zu Beginn eines Projekts noch gar

nicht klar, was von einem FPGA gefordert

wird. Das ist jedoch weiter kein Problem.

Das Design kann weitgehend hardware-unabhängig

realisiert werden. Erst im Endstadium

werden die chip-spezifischen Daten

ergänzt. Daraufhin ergibt sich die Auslastung

der betreffenden Komponente. Bei Bedarf

lässt sich der FPGA leicht auswechseln.

MATLAB

select 2/03

Anwendungen

DSP-Funktionen auf FPGAs

Moderne FPGAs (Field Programmable

Gate Arrays) haben in Bezug

auf Größe und Verarbeitungsgeschwindigkeit

einen Stand erreicht,

der es nicht nur erlaubt,

einzelne mathematische Operationen

auszuführen, sondern auch

ganze DSP-Algorithmen aufzunehmen.

Parallel dazu haben namhafte

Hersteller Tools auf den Markt

gebracht, welche speziell die Entwicklung

von digitalen Algorithmen

für FPGAs unterstützen. Damit

etabliert sich in der Welt der

digitalen Signalverarbeitung eine

neue, interessante Plattform.

FPGAs in der Signalverarbeitung

Aufgrund ihrer Größe und Ausrüstung

bieten FPGAs heute interessante und vielseitige

Möglichkeiten in der digitalen Signalverarbeitung.

Der Unterschied zwischen der

klassischen Lösung – dem Einsatz eines Digitalen

Signalprozessors (DSP) - und der Realisierung

auf einem FPGA besteht darin,

dass der DSP in Assembler oder C programmiert

wird, während man für den FPGA den

Algorithmus letztlich in VHDL beschreibt.

Während der DSP sein Programm mehr

oder weniger sequenziell überarbeitet, bildet

der FPGA den gesamten Algorithmus in

Hardware nach.

Da man im FPGA - verglichen mit einem

DSP - nur anwendungsspezifische und entsprechend

optimierte Recheneinheiten realisiert,

sind die Lösungen besonders kostengünstig

und effizient. Im high-end Bereich

erzielt man durch die Integration vieler paralleler

DSP-Einheiten auf demselben FPGA

größte Rechenleistung auf kleinster Fläche.

Anwendungsbeispiel

Anhand eines kurzen Beispiels wird im

Folgenden der FPGA-basierte DSP-Designzyklus

erläutert. Im Rahmen eines Demonstrationsprojekts

wurde auf einem FPGA ein

Audio-Equalizer mit drei Bändern implementiert.

Das Audiosignal wird via Codec einem

FPGA zugeführt, wo es den digitalen

Equalizer durchläuft. Anschließend wird das

Signal auf den Codec zurück geführt und

wieder in die analoge Welt übersetzt.

Aus Gründen der Übersichtlichkeit verwenden

wir im Algorithmus des Equalizers

Halbband-Filter. Dabei teilen jeweils ein digitaler

Hochpass (HP) und ein digitaler Tiefpass

(TP) das zeitdiskrete Eingangssignal in

zwei Teilbänder. Die Summe der beiden

Teilbänder ergibt wieder das Eingangssignal.

In MATLAB kann man derartige Filter

mit wenigen Befehlen berechnen:

> % Buttworth Tiefpassfilter mit Grenzfrequenz w1:

> [G_LP_num, G_LP_den] = butter(2, w1);

>

> % Komplement-res Hochpassfilter:

> G_HP_num = G_LP_den - G_LP_num;

> G_HP_den = G_LP_den;

25


26

In Abbildung 1 ist der gesamte Equalizer

mit zwei Halbband-Filterstufen dargestellt.

Jedes der drei Bänder wird mit einem

Koeffizienten (K_Low, K_Mid und K_High)

multipliziert. Das Ausgangssignal y[.] ergibt

sich aus der Summe der drei gewichteten

Teilbänder. Stehen alle drei Koeffizienten auf

eins, so wird das Ausgangssignal y[.] gleich

dem Eingang x[.]. Ist ein Koeffizient größer

als eins, so wird das betreffende Band verstärkt.

Ist er kleiner, so wird das Band gedämpft.

Werkzeugkette

Der Equalizer wurde mit Hilfe von MAT-

LAB entwickelt, simuliert und verifiziert.

Dabei werden Audio Files (zum Beispiel im

WAV-Format) in die Simulationsumgebung

eingelesen, durch den Algorithmus geschickt

und anschließend abgespielt. Dies geschieht

nicht in Echtzeit aber doch schnell genug,

damit auf diese Weise die Parameter des Algorithmus

bequem optimiert werden können.

Als nächstes - und dies ist zugleich der eigentliche

Start des FPGA-Designs - ist zu verifizieren,

ob der Algorithmus auch bei bitgenauer

Rechnung die Anforderungen erfüllt.

Xilinx bietet für diesen Zweck ein

Blockset für Simulink an. Die betreffenden

Blöcke sind bezüglich Zahlendarstellung,

Wortbreite, Überlauf- und Rundungsverhalten

etc. konfigurierbar und rechnen entsprechend

bitgenau.

Man beachte, dass bei der Addition von

zwei Fixkomma-Zahlen ein zusätzliches Bit

entstehen kann. Bei der Multiplikation kann

gar ein Resultat mit nahezu der doppelten

Länge entstehen. Das heißt, dass im Verlauf

des Algorithmus die Wortbreite tendenziell

immer größer wird. Da am Ende der Berechnungen

das Resultat wieder mit beispielsweise

16 Bit vorliegen soll, müssen die Zahlen

unterwegs in sinnvoller Weise begrenzt

oder gerundet werden. Dies erfordert etwas

Fingerspitzengefühl, respektive ingenieurtechnische

Intuition. Aufgrund seiner Flexibilität

eignet sich das Xilinx Blockset hervorragend

für diese Aufgabe.

Anwendungen

Abb. 1: Digitaler Equalizer mit drei Bändern

Es muss erwähnt werden, dass sich im

Prinzip Simulink mit dem Xilinx Blocksets

bereits für die Algorithmen-Entwicklung anbieten

würde. In der Praxis zeigt sich aber,

dass infolge der bitgenauen Rechnung die Simulation

mit Xilinx-Blöcken länger dauert

als mit MATLAB.

Am Ende liegt der digitale Equalizer als

Simulink-Modell vor. Dank der bit-genauen

Beschreibung verhält er sich genau so, wie er

später auf dem FPGA laufen soll.

Generierung von VHDL-Code

Nun kommt die zweite wichtige Eigenschaft

der Xilinx-Blöcke ins Spiel: Sie lassen

sich nämlich direkt nach VHDL übersetzen.

Diese Aufgabe übernimmt der sogenannte

System Generator von Xilinx. Dabei übersetzt

er nicht bloß die einzelnen Blöcke, sondern

das gesamte Simulink-Modell und erzeugt

daraus einen FPGA Projekt-Ordner.

Dieser wiederum kann mit Hilfe der FPGA-

Entwicklungssoftware geöffnet und weiter

verarbeitet werden. Die gesamte Toolchain

ist in Abbildung 2 dargestellt.

Abb 2: Werkzeugkette der FPGA-Entwicklung

Zu beachten ist, dass der System Generator

ausschliesslich Blöcke aus dem Xilinx

Blockset übersetzen kann.

Abbildung 3 zeigt einen der Halbband

Filter, realisiert mit den Xilinx Blöcken. Man

erkennt die für einen IIR Filter typischen

Verzögerungsketten (ganz links und rechts)

sowie fünf Multiplizierer und vier Addierer.

Der System Generator wird später die Multiplizierer

erkennen und sie den auf dem gewählten

Chip vorhandenen Hardware-Multiplizierern

zuordnen. Durch Anklicken eines

Blocks erhält man das Konfigurationsmenu.

MATLAB

select 2/03


Abb. 3: IIR-Filter in Simulink

In Abbildung 4 ist das Menu für einen

Multiplizierer dargestellt. Die obersten vier

Felder betreffen die Zahlendarstellung und

die Wortbreite. In Signalverarbeitungsanwendungen

wird man üblicherweise Zahlen

als Zweierkomplement und im Fraction-

Format darstellen. Das heißt, dass der Dezimalpunkt

links an zweiter Stelle liegt. Die

nächsten beiden Felder steuern das Verhalten

beim links- und rechtsseitigen Begrenzen

der Resultatzahl. Linksseitig kann man wählen

zwischen Wrap-Around und Sättigung.

Auf der rechten Seite stehen verschiedene

Rundungsverfahren zur Verfügung. Alle weiteren

Parameter beeinflussen die Erzeugung

von VHDL.

MATLAB

select 2/03

Anwendungen

Im Prinzip fehlen jetzt nur noch die Zuordnungen

der physikalischen Pins und des

Clocks zum Algorithmus. Im vorliegenden

Beispiel wurde noch das serielle Interface

zum Codec in VHDL realisiert. Die betreffenden

Files werden also zum Design hinzugefügt.

Anschließend erzeugt die FPGA Entwicklungssoftware

fertigen FPGA-Code.

Diesen kann man beispielsweise via JTAG

auf ein Evaluationboard laden und sofort

ausführen.

Fazit

Tabelle 1 zeigt die Auslastung eines

FPGAs vom Typ Xilinx XC2V1000-

4FG456C durch den Equalizer. Es wird deutlich,

dass der gewählte FPGA mehr als überdimensioniert

ist für einen einzelnen Equalizer.

Flip-Flops wurden vorwiegend für das

serielle Interface sowie für Schieberegister

verwendet. Look-up Tabellen kommen in

den Addierern der Filter vor. Das vorliegende

Design wurde voll parallel realisiert, so

dass in jedem Taktzyklus des FPGAs ein Ausgangswert

berechnet wird. Damit ist die Lösung

optimiert auf die Verarbeitungsgeschwindigkeit.

Als Preis dafür belegt der

Equalizer 20 der 40 vorhandenen 18x18 bit

Multiplizierer auf dem Chip. Die Filter hätten

auch ökonomischer, in sequentieller

Form realisiert werden können. Der Entwicklungsaufwand

wäre dafür etwas größer

gewesen und die maximal erzielbare Datenrate

hätte sich reduziert.

Gerade bei der Datenrate erkennt man

besonders deutlich, welch überwältigende

Rechenleistung moderne FPGAs bieten. Der

vorliegende Equalizer verarbeitet 18 k Samples

pro Sekunde. Die Grenze des FPGAs

liegt aufgrund von rund 80 internen logischen

Ebenen bei etwas über 10 MHz. Durch

geeignete Anpassungen könnten also mehr

als 500 Audiokanäle durch unseren Equalizer

geschickt werden.

Autor: Dr. Jürg M. Stettbacher

Stettbacher Signal Processing

www.stettbacher.ch

Elemente Total Benutzt Auslastung

Flip-Flops 10240 327 3%

Look-up Tables 10240 1141 11%

I/O Pins 324 11 3%

Multiplizierer 40 20 50%

Clock-Leitungen 16 2 12%

Datenrate 10 MHz 18 MHz 0.2%

Abb. 4: Konfigurationsmenü eines Multiplizierers Tabelle1: Auslastung des XC2V1000 durch den Equalizer

27


28

Das Phänomen, dass Entwicklungsprozesse

vielfach gesetzte Zeitvorgaben nicht

einhalten können, ist praktisch eine Eigenheit

dieser Prozesse. Denn es die Aufgabe der

Entwicklung, etwas Neues zu schaffen - man

betritt somit Neuland und kann nicht alle

Unbekannten bei der Projektierung kennen.

Wie kann diesem Phänomen begegnet

werden? Dieser Frage soll am Beispiel von

messtechnischen und bildverarbeitenden

Anwendungen nachgegangen werden.

Messtechnik versus Bildverarbeitung

Messtechnische Anwendungen weisen

üblicherweise mehrere aufeinander aufbauende

Stufen im Arbeitsverlauf auf: Messen

von Daten mit Sensoren oder Messgeräten –

Übertragung der Daten auf einen Rechner –

Aufbereitung und Vorverarbeitung der Daten

– Auswertung und Analyse – Visualisierung

der Daten und Aufbereitung der Mess

ergebnisse – optional mathematische Modellbildung

auf dieser Datenbasis – Interpretation

der Ergebnisse und Erstellen von Reports.

Anwendungen

Eine durchgängige

Werkzeugkette – der Weg aus

der Entwicklungszeitfalle

Entwicklungsprojekte sprengen

häufig den geplanten Zeitrahmen.

Ein Ansatz, Entwicklungszeiten

drastisch zu verkürzen, besteht

im Einsatz einer durchgängigen

Werkzeugkette. Die MATLAB-Umgebung

bietet diesen Ansatz.

Mit der neuen Image Acquisition

Toolbox wurde eine Lücke der

Werkzeugkette im Bereich

Bildverarbeitung geschlossen.

Häufig erfolgt dieser Arbeitsverlauf nicht

linear sondern iterativ, bis in mehreren

Durchläufen die zu erzielenden Ergebnisse

vorliegen.

Obwohl herkömmliche Messtechnik und

Bildverarbeitung in der Regel als zwei getrennte

Anwendungsgebiete von zumeist

spezialisierten Software-Werkzeugen aufge-

Abb. 1: Die neue Image Acquisition Toolbox zur Erfassung von Bild- und Videodaten direkt in MATLAB

fasst werden, sind die Gegebenheiten bei der

Bildverarbeitung denen der Messtechnik im

Grund analog: Bildverarbeitende Anwendungen

erfassen Daten mittels Sensoren -

nicht anders als messtechnische Applikationen

- und stellen sie über geeignete Hardware

einem Softwarewerkzeug zur Verfügung,

das die Daten analysiert, auswertet

und visualisiert. Die Differenzen liegen lediglich

in der Art der Daten: Im Gegensatz

zu üblichen Messdaten sind Bilddaten zweidimensional,

und bei einer zeitlichen Aneinanderreihung

von Bilddaten ergibt sich anstelle

einer eindimensionalen Messreihe ein

Videodatenstrom. Aber auch diese Anwendungen

weisen den mehrstufigen Arbeitsablauf

auf.

Für die Erledigung jeder der geschilderten

Arbeitsschritte gibt es geeignete Instrumente

und Werkzeuge, die ein Entwickler/

Anwender im alltäglichen Geschäft miteinander

verknüpft. Und genau hier beginnen

auch die Schwierigkeiten.

Verknüpfung der Arbeitsschritte

Bei der Verbindung verschiedener, an

entsprechende Werkzeuge gebundener Arbeitschritte

entstehen unweigerlich Schnittstellenverluste

oder zumindest Anpassungsprobleme,

die einen geraumen Teil der Entwicklungszeit

benötigen. Zu den Parametern,

die diese Schnittstellenproblematik forcieren,

gehören beispielsweise Art und Umfang

der Daten, die eingesetzte Hardware

oder auch die verwendeten Softwarewerkzeuge

mit limitierter Funktionalität.

Insbesondere zwei Aspekte beim Prozess

der Verknüpfung verschiedener Werkzeuge

können die nötige Arbeitszeit in die Höhe

treiben: Zum einen die Zeit, die für die An-

MATLAB

select 2/03


Abb. 2: Workflow im Entwicklungsprozess

passung und Abstimmung der unterschiedlichen

Arbeitsschritte anfällt; diese ist allerdings

im Idealfall, wenn alle Werkzeuge zueinander

passen, kaum gravierend. Zum andere

kommen jedoch durch die Verknüpfung

neue Unbekannte und Problematiken

zum Vorschein, die bei der Prozessplanung

nicht absehbar waren und deren Lösung

mitunter sehr zeitaufwändig ausfallen kann.

Negativ kann sich auf die Entwicklungszeiten

zudem die jeweils limitierte Funktionalität

der eingesetzten (Spezial-)Werkzeuge

auswirken. So haben spezielle Softwarepakete

zum Beispiel Stärken in der Visualisierung

von Daten, aber Beschränkungen hinsichtlich

des Datenumfanges oder der mathematischen

Algorithmen zur Datenauswertung.

Andere Pakete wiederum ermöglichen Live-

Monitoring und –Verarbeitung von Daten

bereits während der Messung, verfügen aber

über keine Report-Funktionalität.

Ebenso lassen sich häufig wiederkehrende

Standardprozesse vor dem Hintergrund

einer zusammengesetzten Werkzeugkette

nur schwierig automatisieren, wodurch Potential

zur Zeitersparnis verloren geht.

Zudem ist eine heterogene Werkzeugkette

nur bedingt offen dafür, bereits vorhandene

Funktionalität wie etwa bestehende Algorithmen

zur Datenauswertung, Hardwareanpassungen

oder vorhandene Automatisierungsroutinen

in den Prozess zu integrieren.

Nicht zuletzt verursacht die Einarbeitung in

verschiedene spezialisierte Werkzeuge einen

hohen Aufwand für den Anwender.

MATLAB

select 2/03

Anwendungen

Durchgängige Werkzeugkette

All diese Punkte werden durch den Einsatz

einer durchgängigen Werkzeugkette

adressiert.

Eine durchgängige Werkzeugkette weist

folgende Eigenschaften auf:

Integrierte Werkzeuge: Für die einzelnen

Arbeitsschritte in einem Entwicklungsprozess

stehen angepasste und optimierte Funktionen

oder Werkzeuge zur Verfügung. Diese

Funktionen und Werkzeuge sind Bestanteil

einer integrierten Umgebung, so dass der

Übergang zwischen verschiedenen Arbeitsstufen

nahtlos und ohne Aufwand erfolgt.

Damit entfällt das Verknüpfen unterschiedlicher

Werkzeuge, wie es in einer heterogenen

Werkzeugkette erforderlich wäre.

Modularer Aufbau: Je nach den Anforderungen

der Anwendung oder des Projektes

wird die benötigte Gesamtfunktionalität aus

einzelnen Modulen aufgebaut. Falls im Verlauf

der Entwicklung weitere Funktionen erforderlich

sind oder gewünscht werden, lassen

sich diese durch weitere Module realisieren.

So sind auch Problematiken zu bewältigen,

die zum Zeitpunkt des Planungsprozesses

noch unbekannt waren.

Umfassende Funktionalität: Ein Charakteristikum

der integrierten Umgebung ist,

dass sie nahezu keine grundlegenden strukturellen

Einschränkungen macht – im Fall

der Verarbeitung von Daten z.B. hinsichtlich

Datentypen oder -Umfang. Das ermöglicht

erst eine umfassende Funktionalität. Andererseits

bildet die Umgebung die technologische

Basis für spezialisierte Funktionen und

Werkzeuge, die analog zu eigenständigen

Spezialwerkzeugen bestimmte Aufgaben erfüllen.

Generierung von Anwendungen und

Prozessroutinen: Die Funktionen und Werkzeuge

lassen sich so zusammen schalten, dass

Prozesse automatisiert ablaufen oder eigenständige

Applikationen für bestimmte Anwendungszwecke

erstellt werden können.

Offenheit: Innerhalb der Umgebung können

einerseits eigene Algorithmen und Verfahren

entwickelt werden, die die zur Verfügung

stehende Funktionalität ergänzen und

komplettieren; andererseits sind bestehende

Lösungen oder Algorithmen, z.B. in Form

von C-Code, integrierbar.

Kurze Lernkurve: Aufgrund der einheitlichen

zugrunde liegenden Struktur, die die

Arbeitsumgebung vorgibt, können Anwender

sich die erforderlichen Kenntnisse über

einzelne Werkzeuge und Funktionen schnell

aneignen und müssen sich nicht in verschiedenartige

Werkzeuge mit ihren jeweiligen Eigenheiten

einarbeiten.

Was bedeutet dies konkret für die Funktionsweise

einer Werkzeugkette wie MATLAB/Simulink?

Die geschilderten Eigenschaften finden

sich alle in der MATLAB/Simulink-Umgebung

mit MATLAB selbst als Basis und

strukturgebendes Element.

Die umfassende mathematische Funktionalität

bildet das Gerüst von MATLAB, das

neben der integrierten Umgebung eine intuitive

Programmiersprache bietet, die angelehnt

an die typische mathematische Notation

die Entwicklung und Formulierung von

Algorithmen ermöglicht. Diese wiederum

sind eine der Grundlagen für die anwendungsspezifischen

Module – die sogenannte

„Toolboxen“ – aus denen sich die Produktfamilie

zusammensetzt. Allein MATLAB beinhaltet

bereits über 500 Funktionen und

Werkzeuge, insbesondere für die Algorithmenentwicklung,

mathematische Modellbildung

und Visualisierung.

Weiter beinhaltet MATLAB verschiedene

Schnittstellen zu anderen Programmiersprachen

wie C sowie Schnittstellen zum Datenaustausch,

wodurch die Integration vorhandener

Ressourcen möglich ist.

29


30

Werkzeuge für die Messtechnik und Bildverarbeitung

Das Konzept der durchgängigen Werkzeugkette

soll anhand der Messtechnik und

Bildverarbeitung weiter beleuchtet werden.

Die Erfassung und Auswertung großer Datenmengen,

der Entwurf dafür geeigneter

Algorithmen und die Simulation komplexer

dynamischer Systeme sowie die Visualisierung

von Analyse-Ergebnissen gehören zu

den Kernkompetenzen von MATLAB.

MATLAB selbst stellt bereits vielfältige

Funktionen zur Analyse und grafischen Darstellung

von Daten bereit, bezüglich der Datenvisualisierung

beispielsweise 2D- und 3D

Grafiken, die sich beschriften, farblich anpassen,

drehen und halbtransparent darstellen

lassen. Selbst eine Kamerafahrt um eine

3D-Grafik animiert als *.AVI - Datei ist

möglich.

Darüber hinaus decken zugehörige Toolboxen

nahezu jede erdenkliche messtechnische

Anforderung ab. So kann MATLAB direkt

auf Sensor-Daten über verschiedenste

Datenerfassungs-Hardware zugreifen und

auch mit externen Messgeräten über unterschiedliche

Bus-Standards wie GPIB, RS232,

TCP/IP, UDP oder VISA kommunizieren

und diese steuern. Weiter stehen Funktionen

zur Fourieranalyse und zum Filterentwurf

bereit, um nur einige zu nennen. Fortgeschrittene

Funktionen zur Datenanalyse,

beispielsweise Wavelet Transformation, Spline

Interpolation sowie ausgefeilte statistische

Methoden, finden sich in weiteren Toolboxen.

Anwendungen

Als Matrizen-basierte Programmiersprache

eignet sich MATLAB zudem ausgezeichnet

für Bildverarbeitungs-Anwendungen.

(MATLAB ist ein Akronym von Matrix Laboratory.)

MATLAB behandelt Bilder wie

Matrizen, was sich geradezu anbietet, wenn

Bild- oder Videodaten als mehrdimensionale

Datenobjekte aufgefasst werden. Auf diese

Weise lassen sich Bilddaten leicht manipulieren,

analysieren oder visualisieren. Die entsprechende

Image Processing Toolbox nutzt

diesen Ansatz und enthält rund 200 Funktionen

zur wissenschaftlichen Analyse und

Aufbereitung, Manipulation und Visualisierung

von Bild- und Videodaten sowie zur

Entwicklung eigener Bildverarbeitungsalgorithmen.

In diesem Anwendungsbereich schließt

die „Image Acquisition Toolbox“ eine bislang

bestehende Lücke in der Werkzeugkette:

Sie beinhaltet eine direkte Schnittstelle zu

üblichen Framegrabbern und Videogeräten

sowie zu anderer Bilderfassungshardware

und vereinfacht den Erfassungs- und Analyseprozess

von Bild- und Videodaten durch

die Möglichkeit, Framegrabber und Hardware

direkt durch MATLAB anzusprechen

und diese zu konfigurieren. In einer Voransicht

können Videodaten begutachtet und

Bildströme direkt nach MATLAB eingelesen

werden, um sie dort zu analysieren oder zu

visualisieren. Der zeitaufwändige Vorgang

der Bilddaten-Erfassung mit einem Programmpaket

und der anschließenden Übertragung

der Daten in ein weiteres Paket zur

Analyse und Verarbeitung wird so erheblich

rationalisiert.

Die Image Acquisition Toolbox unterstützt

neben professioneller Hardware zur

Bilderfassung wie Framegrabber auch Geräte

mit USB- oder Firewire-Schnittstelle wie

Digital-/Videokameras oder Web-Cams.

Abb. 5: Simpex Technologies

Industrielles Beispiel

Industrielle Anwendungen, die jeweils

verschiedene technische Komponenten aufweisen,

illustrieren die Leistungsfähigkeit einer

durchgängigen Werkzeugkette:

Ein Beispiel aus der Halbleiterindustrie:

Die Firma Simpex Technologies (www.simpex.com)

nutzte die MATLAB-Umgebung

zur Entwicklung eines neuartigen berührungslosen

Prozesses zur Qualitätsprüfung

von Kontaktierungen auf Chips im Mikrometerbereich.

Das Verfahren induziert dazu

Laser-Pulse auf Kontaktierungen, die thermoplastische

Wellen im Ultraschallbereich

auslösen. Diese Ultraschallsignale werden

mit einem weiteren Laser detektiert. Durch

die Auswertung der Ultraschallsignale lassen

sich Aussagen über die Qualität der Kontaktierung

machen, d.h. ob der Kontakt zwischen

Bonddraht und Chip gegeben ist und

den Anforderungen genügt. Simpex setzte

Image Acquisition Toolbox ein, um damit

Live-Daten von einer Kamera direkt in die

Programmierumgebung von MATLAB einzulesen.

Auf Basis der Auswertung der Bilddaten

und weiterer Messsignale in MATLAB

wird die Präzisionsausrichtung von Bauteilen

realisiert sowie die Zielvorrichtung der

Laser gesteuert. Die Entwickler nutzen

MATLAB und weitere Toolboxen als zentrale

Komponente für die Steuerung des gesamten

Systems. „Mit nur wenigen Zeilen Programmcode

konnten wir eine Bilderfassungs-Funktionalität

in unsere Anwendung

integrieren und so wertvolle Zeit sparen.“, so

Bernard Siu, Gründer und Leiter der Forschungsabteilung

der Simpex Technologies,

Inc.

MATLAB

select 2/03


Fazit

Der Einsatz von aufeinander abgestimmten

Werkzeugen in einer integrierten Entwicklungsumgebung

eleminiert prinzipiell

einige zeitraubende Elemente in einem Entwicklungsprozess,

wie die Anpassung und

Abstimmung von verschiedenen Werkzeugen

in einer heterogenen Entwicklungsumgebung.

Darüber hinaus adressiert eine modular

aufgebaute, durchgängige Werkzeugkette

die Problematik von neuen Unbekannten

in der Entwicklung, indem sie auf einfache

Weise zusätzlich benötigte Funktionalität

zur Verfügung stellen kann. Die Möglichkeit,

Standardprozesse zu automatisieren

und bestehende Komponenten in den Entwicklungsprozess

einzubauen, eröffnet weiteres

Rationalisierungspotential. Zudem bietet

eine integrierte Entwicklungsumgebung

eine ausgezeichnete Grundlage für den Austausch

von Daten und Ergebnissen sowie deren

Weiterverarbeitung und Verwendung in

Folgeprozessen. Damit wird auch die Zusammenarbeit

von Entwickler-Teams wesentlich

vereinfacht.

Autor:

Thomas Andraczek

The MathWorks GmbH

MATLAB

select 2/03

Anwendungen

Beispiel: Candy Counter

Eine typische industrielle Bildverarbeitungs-Anwendung ist beispielsweise, auf einer Förderstrecke

Werkstücke anhand typischer Merkmale zu erkennen, in Gruppen zu unterteilen und zu zählen.

So können z.B. verschiedene Kriterien im Rahmen der Qualitätssicherung überprüft werden. Angelehnt

an eine solche Aufgabenstellung ist eine Demonstrationsanwendung in MATLAB namens „Candy

Counter“:

Der Candy Counter ist eine Anwendung zur

Zählung und farblichen Kategorisierung von

runden farbigen Schoko-Bonbons (M&M oder

Smarties), die Bilderfassung und Bildverarbeitung

einsetzt. Für die Bilderfassung wird über

die Image Acquistion Toolbox eine Video-

Quelle angeschlossen und konfiguriert.

Die Videodaten werden zunächst mit der

Image Processing Toolbox hinsichtlich Bildrauschen,

Bewegungsartefakte, Streulicht und Abb. 3: Candy Counter Anwendung

Bildhintergrund geeignet vorverarbeitet, um einen

möglichst guten Ausgangspunkt für die weitere Analyse zu erhalten. Anschließend werden geometrische

Formen identifiziert, im Beispiel die Candies, und durchnummeriert.

Anhand der Geometrie-Informationen ist nun ein markanter Bereich auf jedem Objekt zu definieren,

um schließlich in diesem die Farbe zu bestimmen. Die Farbinformation kann als RGB-Wert

in drei separaten Bildmatrizen gehalten werden, die einzeln ausgewertet werden. Die Grundfarben

rot, gelb und grün lassen sich direkt aus den Farbmatrizen ablesen, bei Mischfarben wird es schwieriger.

Dazu werden vorab Gruppen von Farbtönen definiert und bestimmt, zu welcher Gruppe eine

gemessene Farbe gehört. Eine Gruppe sollte möglichst die Farben eines Objektes enthalten, wobei

Überschneidungen mit anderen Gruppen möglich sind, aber nicht so weit gehen dürfen, dass eine

Unterscheidung unmöglich wird.

Am Ende einer solchen Auswertung

stehen ein Bild mit markierten

Zielen, ein Histogramm, das die

Häufigkeiten der einzelnen Gruppen

zeigt, eine Bildsequenz, die einen

gewissen Zeitraum dokumentiert

und/oder ein ausführlicher,

automatisch generierter Bericht. Im

Verlauf der Auswertung können

akustische und optische Warn- und

Akzeptanzsignale generiert werden,

um das zuständige Personal

zu informieren. Verfahren dieser

Art lassen sich vielfältig einsetzen

um die automatische Fertigung zu

kontrollieren (Platinen Bestückung,

Verkabelung, Steckerbelegung etc.)

Die Candy Counter Anwendung

steht unter http://www.mathworks.com/matlabcentral/fileexchange

zum Download zur Verfügung.

Abb. 4: Bilderkennung und –Analyse in MATLAB:

Das „Command Window“ zeigt die Konfiguration der

Bilderfassungshardware. Die weiteren Fenster zeigen ein

Vorschaubild, die Isolation der Candy-Objekte sowie deren

Farb-Kategorisierung basierend auf RGB-Daten.

Mit dem MATLAB Compiler kann unter gewissen Voraussetzungen aus einer solchen Anwendung

eine unabhängig von MATLAB lauffähige Applikation erstellt werden. Diese darf zu den Bedingungen

des Entwicklers weitergegeben werden - ohne weitere Auflagen.

31


32

Naturkatastrophen führen Jahr für Jahr

zum Tod vieler Menschen und richten beträchtliche

Sachschäden an. Trotz enormer

Fortschritte in Wissenschaft und Technik

bleiben Naturkatastrophen unvorhersehbar.

In den letzten Jahrzehnten konnte das Verständnis

von Ursache und Wirkungen solcher

Extremereignisse stark verbessert werden.

Die Schadenbewältigung zählt zu den

Aufgaben der (Rück-)Versicherung. Ihr Ziel

ist es, eine Solidargemeinschaft von Versicherten

zu bilden, deren Prämienzahlungen

im Fall einer Naturkatastrophe ausreichen,

um die angefallenen Schäden zu begleichen.

An Orten, an denen sich seit längerer Zeit

keine katastrophalen Ereignisse mehr abgespielt

haben, wird das von Naturgefahren

ausgehende Risiko leider häufig unterschätzt.

Die Versicherungsindustrie nutzt

heute mathematische Modelle, um solche

Fehleinschätzungen zu vermeiden. Swiss Re

verfügt über eine spezialisierte Abteilung zur

Beurteilung solcher Naturgefahren, die sich

unter anderem der kontinuierlichen Weiterentwicklung

derartiger Modelle widmet.

Anwendungen

Swiss Re –

Naturkatastrophen und

deren Rückversicherung

Mit MATLAB entwickelte

mathematische Modelle

vermeiden Fehleinschätzungen

im Bereich Naturgefahren-

Risikomanagement.

Abb. 1: Dr. David N. Bresch,

Head Atmospheric Perils, Swiss Re

Herr Dr. David Bresch ist Leiter einer

Gruppe von Naturwissenschaftlern, die sich

mit der weltweiten Risikoeinschätzung von

Tropischen Zyklonen und Winterstürmen

befasst. Diese Gruppe gehört zur Naturgefahrenabteilung

der Swiss Re, in der weitere

Fachleute für die Erdbeben- und Flutgefährdung

zuständig sind.

Herr Bresch, lassen sich Naturkatastrophen

voraussagen?

Die einfachste Möglichkeit, das Schadenpotenzial

eines Versicherungsbestandes einzuschätzen,

besteht darin, ein einzelnes Naturkatastrophenszenario

zu simulieren.

Häufig wird dabei auf historische Großereignisse

zurückgegriffen, denen die heute

versicherten Werte gegenübergestellt werden.

So kann zwar ein einzelner, extremer

Ereignisschaden geschätzt werden, alle anderen

möglichen Ereignisse werden jedoch

nicht berücksichtigt.

MATLAB

select 2/03


Um diese Nachteile zu vermeiden haben

wir catMos (cat modelling operating system)

entwickelt. Anstatt nur ein Ereignis zu betrachten

übernimmt diese Modellierungssoftware

die Funktion eines Zeitraffers und

simuliert alle möglichen Ereignisse, die in einem

genügend langen Zeitraum (tausende

bis zehntausende von Jahren) erwartet werden.

Das Resultat der Modellierung ist eine

repräsentative Liste von Ereignisschäden.

Aus diesen lässt sich in der Folge die Beziehung

zwischen Schadenhöhe und -häufigkeit

ableiten und somit die Höhe durchschnittlicher

sowie extremer Schadenbelastungen

abschätzen.

So werden etwa zur Abschätzung des

Schadenpotentials von tropischen Zyklonen

in den USA über 100.000 Ereignisse in hoher

Auflösung simuliert. Dank der Entwicklungssoftware

MATLAB ist die schnelle Verarbeitung

der beträchtlichen Datenmengen

innerhalb weniger Minuten möglich.

Wie simulieren andere Versicherer solche

Szenarien?

In der Regel wenden sich (Rück-)Versicherungsgesellschaften

an spezialisierte Beratungsfirmen,

die Systemintegrationen sowie

Beratung und Implementierung vergleichbarer

Modelle anbieten.

Für uns war es jedoch klar von Vorteil, eine

eigene auf MATLAB basierende Software

zu entwickeln, die spezifisch für unsere Bedürfnisse

höchste Flexibilität und Zuverlässigkeit

bietet. Im Markt verbreitete Modelle

weisen oftmals unzureichende Transparenz

auf, Umfang und Inhalt der verwendeten

Datensätze sind nicht im Detail einsichtig

und nicht immer liegen den Berechnungen

gefahrenübergreifend konsistente Konzepte

zugrunde. Dies wird jedoch von einem global

tätigen Unternehmen verlangt, um weltweit

optimale Diversifikation zu erreichen

und diese letztlich an die Kunden weitergeben

zu können.

MATLAB

select 2/03

Anwendungen

Wo lagen Ihre größten Herausforderungen

bei der Entwicklung eines solchen Modells?

Die Naturgefahren-Abteilung ist auf vier

Standorte verteilt. Rund 30 Experten arbeiten

in Zürich, Armonk (USA), München

und Hongkong eng zusammen. Um effizient

und rasch gemeinsam zum Ziel zu kommen,

ist die Kommunikation innerhalb der Teams

natürlich besonders wichtig, speziell was offene

flexible Schnittstellen anbelangt. So war

während der Entwicklung von catMos beispielsweise

höchste Flexibilität beim Handling

von enormen Datenmengen (z.B. Daten

von 100.000 Wirbelstürmen, 8 Mio. Erdbeben)

vonnöten. Einerseits war die Möglichkeit

einer modularen Entwicklung von zentraler

Bedeutung, andererseits sollte die Integration

in eine eigenständige Applikation inklusive

Benutzerschnittstellen auf effiziente

Weise schnell zu bewerkstelligen sein. Die

Auswahl einer Software, die diesen Anforderungen

gerecht wird, war ein wesentlicher

Faktor für den Erfolg unseres Teams. Nach

eingehendem Vergleich mit Entwicklungsplattformen

wie C/C++ Fortran, etc. haben

wir uns für MATLAB entschieden.

Lösungsorientierte Softwareumgebungen

dieser Art haben in der Finanzindustrie klar

an Bedeutung gewonnen. Welche konkreten

Vorteile boten sich Ihrem Team durch den

Entscheid für MATLAB?

Ich kannte MATLAB bereits von meiner

Arbeit am MIT (Massachusetts Institute of

Technology), wo ich im Bereich der Klimamodellierung

mit globalen Modellen bereits

die Möglichkeiten dieser Software schätzen

lernte. Dort, wie auch an zahlreichen anderen

renommierten Universitäten und Hochschulen

weltweit, wird MATLAB seit Jahren

standardmäßig eingesetzt. Es war für uns

entscheidend, auf ein in Ausbildung wie Industrie

etabliertes Produkt vertrauen zu

können. MATLAB war uns als führende

Software für die Bereiche Daten-Import, Visualisierung,

Analyse und Modellierung bis

hin zur Applikationsentwicklung und zum

Reporting bekannt.

Können Sie uns einige Beispiele zu den wesentlichen

Merkmalen dieser Software geben?

Meiner Meinung nach ist MATLABs

größte Stärke seine Fähigkeit, große Datenmengen

(z.B. sehr umfangreiche Matrizen)

verarbeiten zu können und auch komplexe

Berechnungen äußerst schnell und, für uns

besonders wichtig, flexibel zu bewältigen.

Modelle werden zunehmend komplexer und

rechenintensiver, müssen projektiert, umgesetzt,

auf Genauigkeit überprüft und an den

Endanwender weiter gegeben werden. Der

Zeitrahmen ist oftmals sehr ambitiös.

33


34

Anwendungen

Abb. 2: Einzelnes

Originaljahr mit historischen

„Mutter“-

Zyklonen (fette Linien)

und den daraus abgeleiteten

probabilistischen

„Töchtern“ (dünne

Linien). Durch die

Verwendung von über

100.000 Ereignissen

wird innerhalb von etwa

10.000 Jahren die Küste

der USA vielerorts über

3000 mal getroffen.

Ereignis-Set für Tropische Zyklone im Nordatlantik

Anhand der statistischen Eigenschaften und der dynamischen Entwicklung der im

letzten Jahrhundert aufgetretenen Zyklone im Nordatlantik wird für das probabilistische

Ereignis-Set von Swiss Re die Zyklonenaktivität über einen Zeitraum von rund 50000

Jahren simuliert. Es werden Zyklone erzeugt, die historisch nicht existiert haben, jedoch

physikalisch durchaus stattfinden können.

Um das Ereignis-Set zu generieren, werden zunächst die Zugbahnen der historischen

Zyklone mittels eines "directed random walk“, eines auf Zufallszahlen basierenden

mathematischen Simulationsprozesses (Monte Carlo-Prozess), variiert und gespeichert.

Sowohl statistische als auch physikalische Überlegungen werden benutzt, um die zeitliche

Entwicklung des Luftdrucks und somit die Intensivierung und den Zerfall der zuvor

erzeugten Zyklone zu bestimmen. Dabei werden sowohl der Lebenszyklus des generierenden

„Mutter“-Zyklons als auch meteorologische Daten aller historischen Zyklone miteinbezogen.

Nach diesem Schritt sind die geographischen Zugbahnen und die zeitlichen

Druckentwicklungen der probabilistischen Zyklone festgelegt. Im nächsten Schritt

werden die an der Erdoberfläche resultierenden Windgeschwindigkeiten erzeugt, die

letztlich für das Ausmaß der Schäden entscheidend sind. Die Berechnung dieser Windfelder

erfolgt mit Differenzialgleichungen der Atmosphärenphysik und berücksichtigt

detaillierte Boden- und Topografiedaten. Durch die Berücksichtigung der gesamten

Lebensspanne der Zyklone ist sichergestellt, dass die Gefährdungskorrelation zwischen

verschiedenen Regionen (d.h. die Häufigkeit, mit der zum Beispiel ein Zyklon, der Kuba

trifft, auch Florida trifft) korrekt wiedergegeben wird. Mittels zufälliger Verteilung auf

virtuelle Modelljahre wird aus dem probabilistischen Ereignis-Set ein so genanntes

Jahres-Set (annual occurrence set) erzeugt.

Die Validierung des künstlich erzeugten Ereignis-Sets erfolgt durch den Vergleich

zwischen simulierten und historisch aufgezeichneten Klimadaten (z.B. die Eintrittsfrequenz

verschieden hohen Windgeschwindigkeiten). Beim Jahres-Set wird sichergestellt,

dass die Verteilung der probabilistischen Zyklone in „Saphir-Simpson“-lntensitätsklassen

sowie deren „Landfall“-Verhalten den historischen Aufzeichnungen gerecht werden

und/oder mit den Gesetzen der Physik übereinstimmen. Das validierte Ereignis-Set

stellt, basierend auf dem gegenwärtigen wissenschaftlichen Kenntnisstand, ein repräsentatives

Abbild der Gefährdung durch Zyklone im Raum Karibik/Nordamerika dar.

Inwiefern beeinflussen diese Parameter die

Entwicklung Ihrer Projekte und von catMos

im Speziellen?

Die Entwicklungszeiten werden stark gesenkt.

Die einfache Erlernbarkeit und intuitive

Anwendung von MATLAB lässt zu, dass

sich unsere Entwickler auf ihre Kernaufgaben

und weniger auf IT Fragen konzentrieren

müssen. Eine Programmierung in

C/C++ beispielsweise wäre im Vergleich dazu

bedeutend schwieriger und aufwändiger.

Anwenderbarrieren bezüglich der Programmierung

werden somit deutlich kleiner. Dabei

ist zu erwähnen, dass die meisten unserer

Mitarbeiter MATLAB bereits vom Studium

her kennen und schätzen.

Resultate und Codes lassen sich offen

und einfach einsehen, kommunizieren sowie

laufend anpassen, MATLAB ist keine „Blackbox“.

Dies fördert den gegenseitigen Austausch

und das gegenseitige Dazulernen erheblich.

Abhängigkeiten von individuellen

Programmen und der damit verbundenen

kostenintensiven Schulung der Mitarbeiter

werden geringer.

Dazu kommt, dass The MathWorks in

der Schweiz mit einer Niederlassung in

Gümligen bei Bern vertreten ist, was uns die

Zusammenarbeit erleichtert hat. Innerhalb

kürzester Zeit wurden unsere Anliegen behandelt,

wir sind mit Support und Betreuung

sehr zufrieden.

Lässt sich daraus schließen, dass dies auch

erhebliche Auswirkungen auf Ihre Entwicklungskosten

hat?

Ganz wesentliche sogar. Analysen zeigen,

dass durch die Verwendung von MATLAB

die Entwicklungszeit auf die Hälfte reduziert

werden konnte. Im Bereich der Modellierung

tropischer Zyklonen ist uns ein Mitbewerber

bekannt, der für ein vergleichbares

Modell das Dreifache an Ressourcen aufgewendet

hat. Dadurch, dass wir bereits mit

dem Prototypen repräsentative Resultate liefern

konnten, erfüllte dieser gleichzeitig den

"proof of concept", was die Implementierung

in der Client/Server-Umgebung der

Swiss Re signifikant beschleunigte.

MATLAB

select 2/03


Wäre die Entwicklung auch ohne MAT-

LAB möglich gewesen?

Ja, aber bestimmt nicht in diesem Zeitrahmen.

Außerdem wäre der Verzicht auf die

Entwicklung mit MATLAB aus den genannten

Gründen für unsere Gruppe nur nachteilig

gewesen. Eine Alternative kam darum

nicht in Frage.

Welche Vorteile ergeben sich durch die erfolgreiche

Integration von catMos innerhalb

der Swiss Re? Wie sehen Sie die Zukunft?

Bereits seit einigen Jahren existierten diverse

mathematische Modelle basierend auf

den verschiedensten Plattformen. Diese Insellösungen

haben eine übergreifende Kom-

MATLAB

select 2/03

Anwendungen

Abb. 3: catMos – die Benutzeroberfläche wurde mit Guide innerhalb von zwei Tagen realisiert. Die grafischen Darstellungen

greifen auf MATLAB-Standardfunktionen zurück.

munikation und Vergleiche zwischen diversen

Gruppen jedoch unnötig kompliziert gemacht.

Entwicklungsumgebungen wie MATLAB

tragen hier durch ihre Fähigkeiten zur plattformübergreifenden

Integration eindeutig

zur Verbesserung bei. Dadurch ließen sich

auch innerhalb der strengen Auflagen der

IT-Abteilung große Integrationsvorteile realisieren.

Obschon MATLAB momentan

innerhalb der Swiss Re als Expertentool eingesetzt

wird, steht einer breiteren Anwendung

prinzipiell nichts im Wege.

4./5. November 2003

Kongresshaus Zürich, Stand Nr. 47

Wird MATLAB auch weiterhin eine wesentliche

Rolle bei zukünftigen Projekten der

Swiss Re spielen?

Bestimmt. catMos wird dauernd weiterentwickelt,

was aufgrund der modularen

Struktur selbst dezentral möglich ist. Dazu

kommt, dass wir Projekte in den Bereichen

Simulation von Epidemien und Terrorismus

planen.

Das Interview führte Isabel Lo Verso

The MathWorks GmbH, Schweiz

35


MATLAB in der Welt

Digitale Signalverarbeitung und Kommunikation

Die Entwickler von signalverarbeitenden Systemen sehen sich der Forderung ausgesetzt, immer komplexere und leistungsfähigere

Systeme abzuliefern. Einige Beobachter der Branche haben auf eine drohende „Softwarekrise“ oder „Produktivitätskrise“ für

Kommunikationssysteme und andere Embedded Systems hingewiesen. Herkömmliche hardware- und softwareorientierte Sprachen

bieten nicht die Abstraktion, die nötig ist, um algorithmisch anspruchsvolle Hybridsysteme effizient zu entwickeln. Umgebungen

für die Systementwicklung müssen es dem Entwickler erlauben, sowohl die algorithmische als auch die architektonische Komplexität

exakt wiederzugeben. Genau dies ist die Grundlage der Produkte von The MathWorks für den modellbasierten Ansatz in der

Entwicklung von signalverarbeitenden Systemen: Kontinuierliches Simulieren, Verfeinern und Testen des Systemmodells von der

idealisierten Spezifikation über die bitgenaue und das Timing exakt wiedergebende Darstellung bis zur automatischen Codegenerierung.

Einige Beispiele, wie Entwickler diese Möglichkeiten nutzen, sind hier vorgestellt.

Schneller zur optimalen Lösung

Um die ehrgeizigen Ziele zur Reduktion

der Leckstellen im Leitungsnetz der Stadt

London zu erreichen, haben die Londoner

Stadtwerke, Thames Water, 200 Millionen

Pfund in neue Technologien investiert. Ein

wichtiger Teil der Strategie ist ein neues

Leckstellen-Suchsystem, das als LeakFinder

bekannt ist und von CRL (Central Research

Laboratories) entwickelt wurde. Die dafür

genutzten Echtzeit-Audiosignal-Analyse-Algorithmen

wurden mit MATLAB entwickelt.

Auch wenn existierende Produkte schon

kosteneffizienter als Suchgrabungen sind,

produzieren sie häufig unzuverlässige Resultate.

CRL musste ein bedienungsfreundliches

System entwickeln, das durch gelegentliche

Geräusche nicht gestört wird. Die Software-Entwicklung

bestand aus zwei Phasen:

Algorithmen-Entwicklung mit Echtzeitumsetzung

und Entwicklung der Anwenderschnittstelle.

„MATLAB für die Algorithmenentwicklung

zu verwenden, um eine

Anzahl von unterschiedlichen Lösungen

schnell auszuwerten, war ein großer Nutzen,“

sagte Golby von CRL; „es sparte uns

viel Zeit und Aufwand.“ LeakFinder ermöglichte

Thames Water, die Ziele, die beim

„Wasser-Gipfel“ 1997 für die Wasserverluste

gesetzt wurden, um mindestens 25 Prozent

über drei Jahre zu unterbieten.

www.crl.co.uk

Schlaglichter

Schlanke Entwicklungsprozesse

Eine Gruppe von R&D-Ingenieuren in einem

Forschungszentrum von Texas Instruments

(TI) konnte die Trennung zwischen

Algorithmenforschung und Produktimplementierung

überwinden, indem sie einen radikal

neuen Weg einschlug. Simulink und

das DSP Blockset wurden in Entwicklung,

Prototyping- und Produktionsprozess eingeführt.

TI konnte durch die Rapid Prototyping

Umgebung, bestehend aus hochentwickelten

Software-Werkzeugen und Echtzeit-

Hardwarekomponenten, die Entwicklung

von neuen Technologien für ihre DSP-Produkte

in zunehmendem Maße beschleunigen.

Mit den MathWorks-Werkzeugen erzeugten

TI-Ingenieure eine Echtzeit-Audioanwendung

in nur einem Tag, was mit

traditionellen Design-Methoden Wochen

gedauert hätte. Die Zeit für Produktimplementierung

und -optimierung verkürzten

sich deutlich. Weil die gesamte DSP-Technikmannschaft

die gleichen Werkzeuge benutzen

konnte, um Algorithmen zu entwickeln,

zu optimieren und zu überprüfen,

konnten sie die erreichbare Leistung besser

und früher einschätzen und damit Implementierungsfehler

durch Fehlinterpretationen

vermeiden.

www.ti.com

Voice over IP

Lucent Technologies arbeitet mit an einem

Trend der Telekommunikation: Voice over

Internet protocol (VoIP), bei dem Telefongespräche

paketorientiert über das Internet anstatt

über herkömmliche Wählverbindungen

übertragen werden. Mit Simulationswerkzeugen

von The MathWorks und einem Standard-PC

haben McGowan und seine Mannschaft

bei Lucent Technologies getestet, wie

Störungen des Übertragungsnetzes die

Sprachqualität beeinflussen. Sie entwickelten

ein parametrisiertes Modell des Netzes in Simulink,

benutzten den Real-Time Workshop

und xPC Target um C-Code des Modells zu

erzeugen und ließen das Programm auf einem

Standard-PC laufen. Über eine Datenerfassungskarte

verbanden sie das Echtzeitnetzmodell

mit einem Standardtelefon.

Die Ingenieure konnten Netzeffekte modellieren

und schnell Entwurfskonzepte simulieren

und „was wäre wenn“ Fragen beantworten.

Das führte zu Produkten mit weniger

Fehlern und besserer Sprachqualität.

„Die Werkzeuge von The MathWorks ermöglichen

ganz neue Wege im Entwicklungsprozess.

Wir können ein Modell von

Spezifikationen erzeugen, das genauso

klingt, wie später das tatsächliche Produkt -

das spart Zeit und Geld“, erklärt McGowan.

www.lucent.com

MATLAB

36 select 2/03


Signalverarbeitung auf FPGAs

Sandia National Laboratories haben ihre

Effizienz erhöht, indem sie DSP-Systeme mit

MATLAB und Simulink entwerfen und simulieren.

Sie verwenden anschließend Xilinx

Virtex-II FPGAs und die zugehörigen

Implementierungswerkzeuge, um die Systeme

umzusetzen und zu validieren. „MAT-

LAB und Simulink fest mit dem Xilinx Toolset

integriert zu haben ist ein echter Wert für

Sandia.“, sagt Dale Dubbert, Projektleiter digitale

Radarentwicklung bei Sandia. „Wir

sind so beeindruckt von den Werkzeugen

und der Richtung, in die The MathWorks

und Xilinx damit gehen, dass wir planen,

diese als Standardwerkzeuge in unserem

DSP-Entwicklungsprozess einzusetzen“.

Die Entwicklungsumgebung ermöglicht

Sandia eine erhebliche Zeitersparnis, beispielsweise

bei der Entwicklung eines digitalen

IF Empfängers für ein leistungsstarkes

Synthetic Aperture Radar (SAR) System.

Sandia Ingnieure entwarfen, simulierten,

implementierten und verifizierten dafür jedes

DSP-Modul auf dem FPGA Virtex-II. Sie

benutzten den System Generator, um

VHDL-Code zu erzeugen und bestimmte

Blöcke auf die vorhandenen DSP Cores abzubilden,

die in der Core Bibliothek von Xilinx

bereitgestellt werden. Der System Generator

sparte Zeit, indem er den Entwicklern

erlaubte, neue Designs zu erstellen oder bestehende

zu ändern, diese in Simulink zu simulieren

und anschließend in der Hardware

umzusetzen. Das digitale IF Empfängermodul

mit zwei XC2V6000 FPGAs, das geschätzte

20 bis 25 GigaMACs pro Sekunde

leistet, übersteigt den bisherigen Grad der

FPGA-Integration in einem Radarsystem bei

Sandia um Größenordnungen.

www.sandia.gov

MATLAB

select 2/03

Schlaglichter

Entwicklungsprojekte fest im Zeitrahmen

Festplatten-Laufwerke bestehen aus einer

Kombination von Controllern und Signalaufbereitung,

die sicherstellen, dass große

Mengen von Daten von der magnetischen

Platte zum Computer und zurück schnell

und korrekt übertragen werden. Regelungstechnik-Ingenieure

arbeiten daran, die Bewegung

des Plattenstapels und der magnetischen

Köpfe zu optimieren, während die

Read-Write Channel Entwickler anspruchsvolle

analoge und digitale Signalverarbeitungs-Algorithmen

nutzen, um die Speicherkapazität

zu erhöhen und die Fehlerrate

zu verringern.

Mit Software von The MathWorks haben

Ingenieure bei Quantum den traditionellen

Entwicklungsprozess durch einen neuen ersetzt,

der Algorithmenentwicklung mit Systemsimulation

und -überprüfung integriert

und damit einen direkten Weg von der Konzeptentwicklung

bis zur Implementierung

etabliert. Bei Quantum können heute, sobald

die Algorithmen in MATLAB entwickelt

sind, Mixed-Signal-Modelle mit Simulink

und Stateflow erstellt werden, die es den

Ingenieuren erlauben, Systemarchitektur

und -funktionalität sehr früh zu überprüfen.

„Der Prozess ist viel einfacher, wenn die einzelnen

Werkzeuge integriert sind. Simulinks

blockorientierter, modellierender Ansatz

passt gut zu unseren Systemen und bildet

den Prozess von der Definition bis zur Implementierung

klar ab.“ sagt Ingenieur Andy

Bishop. Die Ingenieure nutzen Simulink, um

Eigenschaften und Betriebsparameter der

Laufwerke in allen Stadien der Entwicklung

zu überprüfen, was in verringerter Überarbeitung

und in verbesserten Produkten resultiert.

Dieser optimierte Entwicklungsprozess

mit einer einzigen, integrierten Entwicklungsumgebung

ermöglicht Quantum-

Ingenieuren, Design-Kompromisse und alternative

Strategien schnell zu bewerten. Infolge

dessen können sie Projekttermine besser

einhalten und neue Produkte schneller

vermarkten.

www.quantum.com

Kreative Audio-Lösung

TC-Helicon ist ein Joint Venture von TC-

Elektronics A/S und IVL Technologies Ltd.,

das sich auf anspruchsvolle Sprachwandlungstechnologien

konzentriert. Ein Produkt

ist VoiceCraft, das die menschliche Stimme

modelliert. VoiceCraft basiert auf Algorithmen,

die ausschließlich in MATLAB und Simulink

entwickelt wurden. Das System ermöglicht

drastische Veränderungen der

menschlichen Stimme, z.B. das Erzeugen des

rauen Klanges, den die Stimme nach einer

Nacht mit Whiskytrinken und Rauchen hat.

In den frühen Stadien der Algorithmenentwicklung

benutzte TC-Helicon MATLAB

und die Signal Processing Toolbox, um die

Grundprinzipien der Sprachproduktion

beim Menschen zu erforschen. „Mit den ausgezeichneten

Visualisierungswerkzeugen

von MATLAB konnten wir sehr zielgerichtet

GUIs entwickeln, von denen einige heute zu

Standard-Tools der Forschungsgruppe geworden

sind.“ sagt Lupini von TC-Helicon.

Während der kritischen Testperiode verwendeten

die Ingenieure Simulink und das

DSP Blockset, um die Algorithmen in Echtzeit

zu testen und den Ton an den Klang der

menschlichen Stimme anzunähern. Mit Simulink

waren die Ingenieure in der Lage,

Steuerparameter im Betrieb zu ändern, ohne

wieder in die Design- und Implementierungsphase

zurückgehen zu müssen.

„Simulink ermöglicht Ingenieuren wirklich

kreativ zu sein.“ stellt Lupini fest. „Wir

können viele Varianten testen, was früher

sehr, sehr schwierig war.“

www.tc-helicon.tc

Autor:

Dr. Hans Martin Ritt

The MathWorks GmbH

37


Leistungsverbesserungen in Simulink 5.1 /

Stateflow 5.1.1

Das Release R13SP1 umfasst eine Vielzahl

von Leistungsverbesserungen, die sich insbesondere

auf große Modelle beziehen (etwa

Modelle mit 100.000 Blöcken und/oder

mehr als einigen Megabytes an Parameterdaten).

Das Laden, die Kompilierung, die Codeerzeugung

und das Schließen entsprechender

Modelle erfolgt nun wesentlich

schneller und der Speicherbedarf wurde erheblich

verringert. Die verschiedenen Verbesserungen

verteilen sich auf die Simulink,

Stateflow und Real-Time Workshop-Produkte.

Ein Beispiel dazu: Bevor eine Simulation

tatsächlich startet, werden im Hintergrund

alle Signalbreiten berechnet. Zum Teil muss

das iterativ geschehen, denn die Berechnungen

sind durch die vielen Rückkopplungen

alles andere als einfach. Derartige Pre-Prozesse

beeinflussen die Zeit bis zum Start der

Simulation erheblich.

Der LCC C-Compiler kann jetzt auch extrem

große C-Dateien verarbeiten.

Mit MATLAB wird der LCC-Compiler

kostenlos mitgeliefert. Dort wurde ein Fehler

korrigiert, der bei der Verarbeitung sehr großer

C-Files auftrat. Obwohl dieser Fehler

Produkte

Release 13

Service Pack 1

Zu The MathWorks Release 13

ist jetzt ein Service Pack („SP1“)

erhältlich. Es enthält eine erheblich

verbesserte Version

Simulink, fünf neue Produkte

sowie Updates zu 31 weiteren

Produkten. Der Artikel stellt

eine Auswahl der wichtigsten

Neuerungen vor.

Näheres zu den Produkten finden Sie unter:

www.mathworks.com/programs/release13/

index.shtml

Sie können die neuen Produkte wie gewohnt

über Ihr „MATLAB Access Login” herunterladen.

bislang nur bei großen Stateflow-Modellen

aufgetreten ist, empfehlen wir das Upgrade

auf die neue Version, um mögliche Probleme

bei der Kompilierung von MEX-Files zu vermeiden.

Abb. 1: Simulink-Modell eines elektrische Schaltkreises a) mit “alten” Simulink Signalleitungen (hinten)

und b) mit richtungslosen Leitungen.

SimPowerSystems 3.0

Mit SimPowerSystems lassen sich elektrische

Systeme sowie die Übertragung und

Verteilung elektrischer Signale unter Simulink

modellieren. Es eignet sich ideal für die

Entwicklung komplexer, eigenständiger Systeme,

wie sie beispielsweise in Automobilen,

Flugzeugen, Fertigungsbetrieben und Energieversorgungseinrichtungen

zum Einsatz

kommen.

SimPowerSystems 3.0 verwendet jetzt

Verbindungen und Anschlüsse im Stile der

anderen Physical Modeling-Produkte, die

sich von den üblichen Ein- und Ausgangsleitungen

in Simulink unterscheiden. Die elektrischen

Leitungen, die solche Endanschlüsse

verbinden, können sich verzweigen. Im

Gegensatz zu den Signalleitungen aus Simulink

sind die Leitungen der Physical Modeling-Domäne

(SimMechanics, SimPowersystems)

prinzipiell richtungslos (Abb. 1).

DSP Blockset 5.1

Das DSP Blockset erweitert Simulink um

grundlegende Modellierungs- und Simulationsfähigkeiten

für den Entwurf und die Verifikation

von Echtzeit-Signalverarbeitungssystemen.

Dieses Blockset versetzt Simulink

in die Lage, auf effiziente Weise Daten-Streaming-

und Multiraten-Operationen durchzuführen,

wie sie in nachrichtentechnischen

Geräten, bei der Sprach-/Audio-/Video-Verarbeitung,

in digitalen Steuerungen, in Radar-

und Sonargeräten, in Computer-Peripheriegeräten

und in medizintechnischen

Anwendungen vorkommen.

Das DSP Blockset umfasst über 150 effiziente,

validierte Blöcke für die Filterung,

Schätzung, für Transformationen, Matrizenmathematik

und die Signalstatistik. Alle Algorithmenblöcke

unterstützen polymorphe Datentypen.

Sie können Fließkomma-Simulationen

mit doppelter oder auch einfacher Genauigkeit

durchführen. Zusammen mit dem

Fixed-Point Blockset (optionales Produkt)

unterstützen viele Blöcke zudem Festkomma-

Datentypen mit beliebiger Wortlänge.

MATLAB

38 select 2/03


Gemeinsam mit dem Real-Time Workshop

erzeugen sämtliche Blöcke effizienten

Programmcode, der auch für Embedded-

Anwendungen genutzt werden kann. Daneben

gehören zu diesem Blockset Signalquellen

und interaktive Scope-Anzeigeblöcke,

Spektral-Analysatoren und weitere Werkzeuge

zur Visualisierung von Signalen und

zur Erzeugung validierter Simulationsergebnisse.

Die neuen Funktionen sind u. a.:

– Festkomma-Unterstützung für wichtige

Signalverarbeitungs-Blöcke: Autocorrelation,

Convolution, Correlation, Digital

Filter, Event-Count Comparator, FFT,

FIR Decimation, FIR Interpolation, IFFT,

Matrix Product, Matrix Scaling, Matrix

Sum, Window Function

– Erweiterte adaptive Filter: Frame-basierte

LMS, RLS, Block-LMS und Fast Block-

LMS Filter-Blöcke

– Erweiterte Unterstützung für getriggerte

Subsysteme; vereinfacht die Integration

in Logik-Entwürfe in Stateflow

– Neue Blöcke: DSP Fixed-Point Attributes,

DSP Gain, DSP Product, DSP Sum, LPC

to/from RC, LPC/RC to Autocorrelation,

Matrix Exponential, Scalar Quantizer,

Scalar Quantizer Design.

Aerospace Blockset 1.5

Das Aerospace Blockset 1.5 enthält spezialisierte

Werkzeuge für die Modellierung, Integration

und Simulation von

Systemen/Subsystemen für Flugzeuge,

Raumfahrzeuge, Flugkörper und Antriebssysteme

in Simulink.

Neue Eigenschaften:

– Zusätzliche Bewegungsgleichungs-Modelle

mit drei oder sechs Freiheitsgraden

sowie mit einfacher und einstellbarer variabler

Masse

– Neue Umgebungsmodelle zur Simulation

von Störungen durch Wind, darunter horizontaler

Wind sowie Discrete Drydenund

Von Kármán-Turbulenzmodelle

– Neue Gravitations- und Atmosphären-

Blöcke zur Berechnung des Erdmagnetfelds,

für militärische Standard-/Nichtstandard-Atmosphäre,

zur Implementierung

von Modellen unter Berücksichti-

MATLAB

select 2/03

Produkte

gung des Atmosphärengradienten sowie

zur Berechnung der Druckhöhe

– Neue Bauteil-Blöcke für Raumfahrzeuge

zur Abschätzung von Masse-Eigenschaften

wie etwa Trägheitstensoren oder

Schwerpunkte sowie zur Berechnung von

Drehmomenten

– Neue Bibliotheken mit aerodynamischen

Parametern oder Flug-Parametern zur

Berechnung von Kräften und Momenten,

dynamischen Drücken, Machzahlen, relativen

Verhältnissen sowie von Anströmwinkel,

Abdrift und Eigengeschwindigkeit.

MATLAB 6.5.1

Ein Beispiel aus dem Bereich der Verbesserungen

für MATLAB:

MATLAB unterstützt jetzt das Lesen und

Schreiben von Daten, die mit verlustfreier

JPEG-Kompression komprimiert wurden.

Mit verlustfreier Kompression lässt sich das

Ursprungsbild aus seiner komprimierten

Form vollständig wiederherstellen. Allerdings

erzielt die verlustfreie Kompression

geringere Verkleinerungsverhältnisse als ihr

Gegenstück, die verlustbehaftete Kompression.

Mit der imread-Funktion lassen sich

Daten lesen, die mit Hilfe der verlustfreien

JPEG-Kompression komprimiert wurden.

Die imwrite-Funktion erlaubt es, verlustfrei

komprimierte Daten in eine JPEG-Datei zu

schreiben. Bei der imwrite-Funktion geben

Sie dazu dem Modus-Parameter den Wert

„lossless“.

Filter Design Toolbox 2.5

Die Filter Design Toolbox bietet modernste

Techniken für den Entwurf, die Simulation

und die Analyse digitaler Filter. Die

neuen Funktionen umfassen:

– 29 neue objekt-basierte adaptive Filter-

Algorithmen, darunter Kleinste Mittlere

Quadrate (Least Mean-Squares, LMS),

Block-LMS (BLMS), Rekursive Kleinste

Quadrate (RLS), Frequenzdomäne (FD),

Affine Projektion (AP) und Gitter-basiert

(Lattice Based, L)

– Neue Analysefunktionen für adaptive Filter

wie die Berechnung des mittleren

quadratischen Fehlers (Mean-Square Er-

ror, MSE), Excess MSE (EMSE), kleinstem

MSE (MMSE) sowie der maximalen

Schrittgröße, die noch zur Konvergenz

führt

– 13 neue Objekt-basierte Multiraten-Filter,

darunter Mehrphasen-FIR-Interpolierer

und -Dezimierer, CIC-Interpolierer

und -Dezimierer, gebrochene Dezimierer

und Interpolierer sowie Strukturen für

die Umwandlung in beliebige Abtastraten

– Verbesserungen am Filter Visualization

Tool (FVTool), so dass jetzt Multiratenund

adaptive Filter unterstützt werden

– Neuer Algorithmus für 2-Kanal Perfect-

Reconstruction FIR-Filter

– Neuer Algorithmus für den Entwurf von

Equiripple-Interpolations-Filtern.

Image Processing Toolbox 4.1

Die Image Processing Toolbox stellt eine

umfassende Sammlung von Werkzeugen für

die Verarbeitung und Analyse digitaler Bilder

unter MATLAB dar. Neu hierin sind:

– Neuer Image Viewer mit Unterstützung

für das Zoomen, Scrollen und die Übersichts-Navigation

in großen Bildern sowie

die Anzeige von Bild-Metadaten

– Neue Methoden zur Bildverbesserung

wie Kontrastbegrenzte Adaptive Histogramm-Egalisierung

(Contrast-Limited

Adaptive Histogram Equalization, CLA-

HE) und Decorrelation-Stretch

– Neue geräteunabhängige Farbraum-Umwandlungen

(XYZ, xyY, uvL, u'v'L,

L*a*b*, Lch, sRGB) und Import von ICC-

Farbprofilen

– Verbesserter DICOM-Export, jetzt mit

Unterstützung für MR- und CT-Bildgebungsverfahren

– Unterstützung von Fächerstrahl-Geometrien

für Radon- und inverse Radon-

Funktionen

– Neue Funktionen zur Bestimmung von

Detailgrenzen

– Verbesserte Geschwindigkeit für bildarithmetische

und Filter-Funktionen, z.B.

für Optimierungen, die spezifisch für die

Intel-Architektur sind

– Verbesserte Geschwindigkeit und geringerer

Speicherbedarf für eine Vielzahl

weiterer Toolbox-Funktionen. AG

39


40

Mit der Image Acquisition Toolbox können

Bild- und Videodaten direkt in MAT-

LAB erfasst werden. Sie enthält eine direkte

Schnittstelle zu üblichen Framegrabbern

und anderer Bilderfassungshardware, die

sich direkt durch MATLAB ansprechen und

konfigurieren lassen. Auf diese Weise können

Sie digitale Bilder und Videos “live” visualisieren

und für Ihre Algorithmen nutzen.

Statt eigene Programme zur Erfassung und

Analyse von Bildern selbst schreiben zu

müssen, können Sie sich auf den Kern der

Arbeit konzentrieren: den Algorithmus. Oft

aufwendiges Wechseln zwischen verschiedenen

hoch spezialisierten Einzellösungen entfällt.

Damit werden Forschungs- und Entwicklungszyklen

drastisch verkürzt und auf

Bilddaten gestützte Ergebnisse können erheblich

schneller generiert werden und in

die Produktentwicklung einfließen.

Eine große Anzahl (ca. 200) moderner

Bildverarbeitungs-Algorithmen stehen in

der Image Processing Toolbox zur Verfügung.

Diese können modifiziert oder auch

um eigene Algorithmen erweitert werden.

Wiederkehrende Aufgaben können mit

der MATLAB Skript Sprache automatisiert

werden und quasi auf Knopfdruck ablaufen.

Darüber hinaus können Applikationen erstellt

werden, die die erstellten Algorithmen

um eine komfortable Bedienoberfläche ergänzen.

Falls weitere Ergänzungen notwendig

sind, lässt sich auch eigener C-Code integrieren.

Produkte

Live Bilddaten in MATLAB:

Image Acquisition Toolbox

Nun reicht die MATLAB-Toolchain

direkt bis zur Bilderfassungshardware.

Die neue Image Acquisition Toolbox

und die Image Processing

Toolbox Version 4 eröffnen neue

Möglichkeiten für die Bilderfassung

und -verarbeitung.

Damit steht eine optimierte

Lösung für bildgebende und

Bildverarbeitungsverfahren zur

Verfügung mit direkten Schnittstellen

zu handelsüblichen

Framegrabbern und

Videogeräten.

Eine Beispielanwendung – der Candy

Counter – ist im Artikel Eine durchgängige

Werkzeugkette – der Weg aus der Entwicklungszeitfalle

auf Seite 33 beschrieben.

Wichtige Funktionen der Image Acquisition

Toolbox:

– Direkte Schnittstellen zu analogen und

digitalen Framegrabbern von Matrox

und Data Translation

– Einbindung MS-Windows kompatibler

Geräte (DirectX 9.0 oder höher, WDM

oder VfW), z.B. Videokameras mit USBoder

FireWire-Anschluss (IEEE-1394)

sowie WebCams, Video-Capture-Boards

und DV-Camcorder

– Live-Vorschau von Videodaten

– Simultane Bilderfassung und Bildverarbeitung.

Der Zugriff auf die Videodatenquelle erfolgt

analog zu den übrigen Produkten im

Umfeld der Datenerfassung (Data Acquisition

Toolbox, Instrument Control Toolbox)

über den MS-Windows Treiber des Herstellers

oder MS-Windows Methoden. Zunächst

wird im Arbeitsspeicher ein Objekt angelegt,

mit den Einstellungen für die Hardware der

Wahl. Das kann wahlweise auf der Kommandozeile

erfolgen oder über eine Eingabemaske.

Die Eingabemaske bietet nur die

Möglichkeiten zur Auswahl, die die Hardware

unterstützt. Dann können Daten von

der Kamera abgeholt und verarbeitet werden.

Im Gegensatz zu üblichen Messdaten

sind Bilddaten zweidimensional. Bei einer

zeitlichen Aneinanderreihung von Bilddaten

ergibt sich anstelle einer eindimensionalen

Messreihe ein Videodatenstrom, quasi eine

Abfolge von Matrizen.

Am Ende einer solchen Sitzung wird die

Verbindung zur Hardware beendet und das

Objekt aus dem Speicher gelöscht.

Abb. 1: Image Acquisition GUI

MATLAB

select 2/03


Produkte

Ein Beispiel:

vidobj = videoinput('winvideo', 1, 'RGB24_320X240'); % Video Objekt anlegen

% vidobj = imaqgui('selectMode'); % Eingabemaske alternativ

preview(vidobj); % Voransicht

% get a snapshot

img = getsnapshot(vidobj); % Einzelbild erfassen

image(img); % Bild anzeigen

... % weitere Verarbeitung des Bildes

delete(vidobj); % Ende der Verbindung

clear vidobj % Löschen des Objektes aus dem Speicher

Highlights der Image Processing Toolbox 4

Die Image Processing Toolbox 4 liefert

wichtige neue Funktionen und erhebliche

Verbesserungen in punkto Geschwindigkeit

und Leistung. Anhand interner Benchmark-

Tests hat The MathWorks eine Beschleunigung

um den Faktor 20 bei einigen optimierten

Bildverarbeitungs-Funktionen ermittelt.

Der Speicherbedarf wurde für einige

dieser Funktionen um 15% bis 100 % verringert.

Eine Auflistung der wichtigsten Neuerungen

finden Sie im Artikel Release 13 Service

Pack 1 auf Seite 39.

Integration in Simulink

MATLAB Funktionalität steht unter

Simulink in Form von M-Function Blöcken

zur Verfügung. Als Standard werden in

Simulink Signale von Block zu Block übergeben.

Das DSP-Blockset erweitert Simulink

um die Möglichkeit Frame-basiert zu arbeiten.

So können auch ganze Matrizen als Signal

von Block zu Block übergeben werden,

was den Weg zur Simulation von Bildverarbeitungsalgorithmen

mit Life Daten unter

Simulink eröffnet.

MATLAB

select 2/03

Abb. 2: SAD-Algorithmus in Simulink

Ein Beispiel zeigt das SAD-Verfahren

(Sum of Absolut Differences) (Abb. 2). Die

Grauwerte zweier aufeinander folgender Bilder

werden pixelweise subtrahiert. Der Betrag

dieser Differenz wird in vier Quadranten

unterteilt und summiert. Ist dieser Betrag

größer als eine vorgegebene Schwelle

kann man auf Bewegung in dem entsprechenden

Quadranten schließen und die nötigen

Schritte einleiten (Abb. 3). Beispielsweise

könnte ein Nachtüberwachungssystem

einen Alarm auslösen.

Abb. 3: Bewegungsdetektion im Videostream

- Bewegung im rechten oberen

Quadranten erkannt

Es handelt sich zugegeben um einen sehr

einfachen Algorithmus, der aber schon beachtliche

Ergebnisse liefert. Mit der Anbindung

an Simulink hat der kreative Entwickler

die Möglichkeit, seine Vorstellungen und

Ideen mit übersichtlichen Blockdiagrammen

umzusetzen und zu testen.

MW

41


42

Die Fixed-Income Toolbox enthält mehr

als 60 eingebaute Funktionen zur Berechnung

von Bondpreisen, Renditen und Kursspannen.

Funktionen für das Arbeiten mit

Derivaten wie etwa Swaps, Wandelanleihen

und Schatzanweisungen, die bisher selbst

entwickelt wurden, werden nun in der Fixed-

Income Toolbox standardmäßig geliefert.

Außerdem unterstützt sie viele Finanzinstrumente

wie die Berechnung von Krediten,

Unternehmensanleihen und Schatzanweisungen.

Mit Hilfe der Fixed-Income Toolbox

spart der Anwender Zeit bei der Entwicklung

komplexer, individueller Modelle für Festsatz-Anlagen,

da umfangreiche eigene Programmentwicklungen

entfallen.

Darüber hinaus finden sich in anderen

finanztechnischen Toolboxen u.a I/O-Werkzeuge,

mit denen der Anwender Daten zwischen

MATLAB und verschiedenen Datenbanken

oder Excel-Dateien austauschen sowie

Echtzeit-Informationen von Finanzdaten-Anbietern

wie etwa Bloomberg beziehen

kann.

Marktforscher im Bereich der Festsatz-

Anlagen investieren viel Zeit in die Entwicklung

eigener Algorithmen zur Analyse von

Marktdaten auf der Grundlage von Excel,

C/C++ oder Visual Basic. Die Fixed-Income

Toolbox bietet zeitsparende Werkzeuge, die

es den Research-Teams ermöglichen, individuell

gestaltete Modelle für Festsatz-Anlagen

zu erzeugen.

Produkte

Fixed-Income Toolbox

für Finanz-Ingenieure

Mit der neuen Fixed-Income, die

das finanzspezifische Portfolio

der MATLAB-Produktfamilie erweitert,

erhalten Finanzexperten

ein Werkzeug zur schnelleren

Entwicklung individueller Modelle

für festverzinsliche Wertpapiere.

Finanzinstitute und Investmentabteilungen

bei Banken und

Versicherungen können so ihre

Geschäftsentscheidungen auf

der Grundlage umfangreicherer

Informationen treffen und auf

die stetig wechselnden Marktbedingungen

schneller reagieren.

Zur Familie der finanztechnischen MAT-

LAB-Produkte gehören außerdem die Financial

Toolbox, die Datafeed Toolbox, die

Financial Derivatives Toolbox, die Garch

Toolbox, Statistics Toolbox und die Optimization

Toolbox.

Zu den ersten Nutzern in Deutschland

zählen Mitarbeiter aus Risikocontrolling

und Risikomanagement verschiedener großer

deutscher Versicherungen sowie den

deutschen Großbanken und einigen Landesbanken.

Die Fixed Income Toolbox kann jederzeit

getestet werden. Weitere Informationen finden

Sie im Web:

www.mathworks.de/products/fixedincome/

KS

Abb. 1: Beispiele unterschiedlicher Berechnungen mit der Fixed-Income Toolbox: Eine nach dem

Bootstrap-Verfahren abgeleitete Zinskurve von Schatzanleihen (links), Tilgungsfunktion (Mitte)

und die Preisabhängigkeit einer Wandelanleihe vom Spread (rechts).

MATLAB

select 2/03


Die Bioinformatics Toolbox unterstützt

verschiedene Geomic- und Proteomic-Datenformate

und stellt unterschiedliche Analyseverfahren,

u.a. Geomic und Proteomic

Sequenz- und Microarray-Analysetechniken,

sowie darauf zugeschnittene, optimierte

Visualisierungstools zur Verfügung. Die

meisten Funktionen liegen in der frei zugänglichen

MATLAB-Programmiersprache

vor. Anwender arbeiten also nicht mit Black-

Box Routinen, sondern können sogar bei Bedarf

einzelne Programme modifizieren oder

mit Hilfe des MATLAB Compilers frei verfügbare

stand-alone Applikationen erzeugen.

Voraussetzung für den Einsatz der Bioinformatics

Toolbox ist MATLAB und die Statistics

Toolbox. Neben den Windows Betriebssystemen,

wie Windows 2000 und XP,

werden auch verschiedene Unix Betriebssysteme

sowie Linux unterstützt.

Viele Standard-Dateiformate für biologische

Daten, Web-basierte Datenbanken und

weitere Online-Datenquellen werden direkt

von der Bioinformatics Toolbox unterstützt;

beispielsweise FASTA, PDB und SCF oder

SPOT, GenePix, GPR und GAL Files für Microarray

Daten. Mit einem einfachen Befehl

wie

< mitochondria = getgenbank(’NC_001807’,’SequenceOnly’,true)

>

greifen Sie z.B. auf die Web-basierte Gen-

Bank zu und laden sich die gewünschten Daten

– hier nur die Sequenz-Informationen –

herunter. Ähnlich einfach kann auf die Datenbanken

EMBL, PIR, PDB oder NCBIs Gene

Expression Omnibus zugegriffen werden.

MATLAB

select 2/03

Produkte

Bioinformatics

Toolbox

Für Anwendungen im biotechnologischen

Umfeld bringt

The MathWorks eine völlig neues

Werkzeug auf den Markt:

Die Bioinformatics Toolbox.

Die Toolbox bietet eine optimale

Unterstützung beispielsweise für

Aufgaben, die auf eine Kartierung

und Sequenzierung von Teilen

oder des gesamten Genoms von

Menschen oder Pflanzen abzielen

oder eine Bearbeitung von

Proteonic Daten erfordern.

Abb. 1: Beispiel einer statistischen Visualisierung: Der Clustergram-Plot

Die Bioinformatics Toolbox bietet standard

lokale und globale Sequence Alignment

Algorithmen wie Needleman-Wunsch,

Smith-Waterman und Hidden Markov Model

Algorithmen sowie grafische Visualisierungswerkzeuge

der Alignment Ergebnisse.

Ebenfalls werden Standard-Scoring Matrizen,

wie die PAM und BLOSUM Matrizenfamilie

bereitgestellt. Sequenzen lassen sich

leicht manipulieren und analysieren, um ein

tieferes Verständnis zu gewinnen. So stehen

beispielsweise Routinen zur Konversion von

DNA oder RNA Sequenzen in Aminosäure-

Sequenzen basierend auf dem genetischen

Code zur Verfügung. Weiterhin erlaubt die

Toolbox statistische Analysen der Sequenzen

und bietet Suchalgorithmen für ausgewählte

Muster innerhalb einer Sequenz an.

43


44

Die Bioinformatics Toolbox umfasst

mehrere Methoden zur Normalisierung von

Microarray-Daten sowie Filterfunktionen

zur Aufbereitung der Rohdaten vor der Analyse

oder Visualisierung. Die grafische Aufbereitung

von Microarray Daten erfolgt mit

speziellen Routinen: Box-Plots, Loglog-

Plots, I-R Plots, Dendogramme, Klassifizierungsbäume

oder Heat Abbildungen des Microarrays.

Abbildung 1 zeigt einen Clustergram

Plot.

Da die Bioinformatics Toolbox auf der

Statistics Toolbox aufbaut, lassen sich die

vielen statistischen Funktionen zusätzlich

nutzen, wie hierarchische oder K-Means

Cluster. Selbstverständlich können die so gewonnenen

Abbildungen in viele unterschiedliche

Datenformate exportiert werden.

Zur Protein Struktur-Analyse werden

verschiedene Verfahren zur Verfügung gestellt

sowie Routinen zur Berechnung der Eigenschaften

von Peptid-Sequenzen, wie atomare

Zusammensetzung und molekulares

Gewicht. Die Aminosäure-Zusammensetzung

einer Protein-Sequenz kann bestimmt

oder ein Ramachandran Plot von PDB Da-

xPC Target Embedded Option mit COM Schnittstelle

Grafische Benutzeroberfläche zur Bedienung

von xPC Target basierten Anwendungen.

Mit einer stand-alone Benutzeroberfläche

lassen sich xPC Target generierte Echtzeit-Applikationen

herunterladen, ohne dass

jedes Mal MATLAB gestartet werden muss.

Produkte

ten kann erzeugt werden. Weiterhin wird eine

grafische Benutzeroberfläche bereitgestellt,

die die Eigenschaften entlang der betrachteten

Sequenz visualisiert.

Dies ist nur ein kleiner Ausschnitt der

Möglichkeiten, die die rund 100 Befehle der

Bioinformatics Toolbox beinhalten. Er-

Produkte

Neues zu

xPC Target

weitert wird diese Funktionalität noch durch

die umfangreichen Möglichkeiten der Statistics

Toolbox und durch MATLAB selbst.

Was bleibt: Herunterladen und Testen

und sich selbst von der hohen Qualität überzeugen.

Das geplante Release-Datum ist Anfang

Oktober. WS

Abb. 2: Beispiel einer Cluster Analyse. Die verwendeten DNA Microarray Daten

stammen von der Datenbank Gene Expression Omnibus. Die Rohdaten wurden

zunächst mit einem Algorithmus gefiltert, der Gene deren Profil niedrige Entropie

haben ausfiltert und dann einer Cluster Analyse unterzogen.

Die xPC Target Embedded Option ist eine

Erweiterung zu xPC Target und eröffnet

zusätzlich folgende Möglichkeiten:

– Das Laden des Echtzeit-Betriebssytems

muss nicht mehr von Diskette erfolgen

sondern kann über eine im Target gespeicherte

RTOS-Datei, den so genannten

„DOSLoader“, geschehen, was oft schneller

und manchmal sogar Platz sparender

ist.

– Aus xPC Target Modellen lässt sich eine

selbstständige, auslieferbare Echtzeit-Applikation

erzeugen. Die Anzahl der Appli-

kationen, die weitergeben werden, ist The

MathWorks gegenüber kostenlos und unbegrenzt.

– Zusätzlich bietet die xPC Target Embedded

Option ein API, über das man mittels

verschiedener Bedienerschnittstellen das

Target bedienen und ansprechen kann.

Das vereinfacht Aufgaben wie das Visualisieren

von Signalen, Parameter-Änderungen,

einen Re-Boot des Target-Systems

(falls vom Target unterstützt)

u.v.m.

MATLAB

select 2/03


Eine der möglichen Bedienerschnittstellen

ist die hier vorgestellte Benutzeroberfläche.

Es ist eine Visual Basic GUI (Graphical

User Interface) mit Zugriff auf die COM basierte

xPC Target API. Diese Oberfläche

unterstützt wiederkehrende Aufgaben wie

die Verbindung zum Target über TCP/IP erstellen,

eine bereits generierten xPC Target

Applikation (Datei mit DLM-Endung) herunterladen

oder eine auf dem Target befindliche

Echtzeit-Applikation vom Target entfernen,

starten und stoppen. Falls sich eine

Echtzeit-Applikation auf dem Target befindet,

wird dessen Zustand und Namen sowie

die Laufzeit angezeigt. Über gespeicherte IP-

Adressen kann man sich bequem von einem

Target ab- und beim nächsten Target anmelden

und dort eine weitere Aktion vornehmen.

Das von xPC Target bei der Erzeugung

der DLM-Datei mitgelieferte Web-Interface

gibt Ihnen zusätzlich zum GUI die Möglichkeit,

auf jede auf dem Target befindliche

Echtzeit-Applikation Einfluss zu nehmen:

Beispielsweise aktuelle Parameter einsehen

und ändern; den aktuellen Bildschirm passiv

darstellen; weitere Target-Scopes erzeugen,

entfernen, starten und anhalten; Abtastzeiten

verändern; abgespeicherte Signal, die

während der Laufzeit erstellt wurden, zur

nachträglichen Verarbeitung auf das Hostsystem

hochladen.

Das Web-Interface wird einfach mittels

Internet Browser aufgerufen, indem die IP-

Adresse des Targets sowie die Port-Nummer,

z.B. http://192.165.11.110:22222, angegeben

wird.

Die hier vorgestellte Visual Basic Oberfläche

bekommen Sie von uns kostenlos, falls

Sie die xPC Target Embedded Option im

Rahmen Ihrer MathWorks Lizenz besitzen!

Richten Sie Ihre Anfrage an support.matlab@mathworks.de

mit „VB-Gui“ als Betreff.

Wenn Sie zudem an einer Click-and-

Drop Bedienfunktionalität interessiert sind,

die sich aktiv anpassen lässt, um Ihre xPC

Target basierte Anwendungen bequem, einfach,

anpassbar und schnell zu erstellen –

dann können Sie sich ebenfalls an obige

Adresse mit dem Betreff „Click-and-Drop

Funktionalität“ wenden. FG

MATLAB

select 2/03

Abb. 1: xPC Applikations-Downloader

Produkte

Produktvorankündigung - xPC Target 2.5

- Zugriff auf das Target File-System -

Testprüfstände sind heute eine sehr

wichtige Methode kostengünstig und ohne

kostspieligen Materialverschleiß ein

zukünftiges Produkt oder eine Funktionalität

zu validieren, kalibrieren oder sogar

automatisch zu testen. Solche Hardware-in-the-Loop

Systeme sind mit xPC

Target realisierbar.

Die nächste Version 2.5 von xPC Target

wird eine bereits oft gewünschte

Funktionalität enthalten: Den Zugriff auf

das Target File-System. Was bedeutet das?

Es bietet die Möglichkeit, Signalwerte in

so genannte File-Scopes während der

Ausführung der Echtzeit-Applikation im

Speichermedium (IDE HD, IDE Flashdisk)

des Targets abzuspeichern. Nach

Anhalten der Echtzeit-Applikation kann

Abb. 2: Zugriff auf das Target File-System

man diese Dateien zum Host-System

transferieren und verarbeiten. Auch der

umgekehrte Weg ist möglich.

Für die Übertragung der Dateien in

beide Richtungen stehen das File-System-

Objekt und das FTP-Objekt von xPC Target

zu Verfügung – alles direkt aus MAT-

LAB, man benötigt kein Extra-Werkzeug.

Sogar das Speichern der zuletzt benutzten

Werte eines Models in einer Datei

ist möglich. Bei einem Neustart werden

diese Werte automatisch erneut geladen.

Ebenso lässt sich der Zugriff auf Initialisierungswerte,

die in der entsprechenden

Datei abgespeichert wurden, realisieren.

Eine mühselige Neueingabe der eventuell

empirischen herausgefundenen Optimalwerte

ist nicht mehr erforderlich.

45


46

Optimization TB

Optimierungs-Algorithmen; Minimierung,

nichtlineare Gleichungslöser,

kleinste Fehlerquadrate

Statistics TB

Wahrscheinlichkeitsrechnung,

Regressionsanalyse, Hypothesentests

Bioinformatics Toolbox TB

Lesen, Analysieren und

Visualisieren von Genomic-,

Proteomic- und Microarray-Daten

Neural Network TB

Entwicklungstool für Neuronale

Netze; Schnittstelle zu Simulink

Mapping TB

TB für Kartographie und

geografische Darstellung

Instrument Control TB

Kommunikation mit Messgeräten/instrumenten;

Unterstützung von

GPIB, VXI und VISA, RS232

Database TB

Schnittstelle zu verschiedenen

Datenbanksystemen

Excel Link

Schnittstelle von MATLAB zu

Microsoft Excel (Win)

Financial TB

Finanzmathematik, Entwicklung

finanzanalytischer Algorithmen

Fixed Income TB

Modellierung und Analyse von

festverzinslichen Wertpapieren

GARCH TB

Finanzmathematik; GARCH,

Volatilitäts-/Zeitreihen-Modellierung,

Monte Carlo Simulation

FINANCE & ECONOMICS

MATH & ANALYSIS

Spline TB

Fortgeschrittene Verfahren zur

Berechnung von Splines

Partial Differential

Equation (PDE) TB

Entwicklungsumgebung zum Lösen

von partiellen DGLs

Financial Derivatives TB

Spezielle Funktionalität zur

Behandlung von Derivaten

Financial Time Series TB

Tool-Sammlung zur Zeitreihenanalyse

bei Finanz-Anwendungen

Datafeed TB

Verarbeitung/Visualisierung von

Finanzdaten von Datendienst-

Anbietern (Bloomberg),

Nachrichten-/Fernsehdienste

Produktübersicht

Curve Fitting TB

Fitten von Signalen unter Einsatz

diverser Methoden; u.a. Polynome,

Splines, user-defined u.v.m.

(Extended)

Symbolic Math TB

Computer-Algebra - Maple-Kernel;

(normale oder erweiterte Version)

DATA ACQUISITION & IMPORT

Data Acquisition TB

Akquisition von Daten über

I/O-Boards/T&M-Hardware; Aufruf

von der MATLAB-Kommandozeile

Image Acquisition TB

Erfassung von Bild-/Videodaten

über Framegrabber/Industrie-

Hardware/USB/FireWire in MATLAB

MATLAB

4GL Programmiersprache,

Umgebung für technische

Berechnungen und Visualisierungen,

Anwendungsentwicklung

Control System TB

Grundlegende TB der Regelungstechnik;

für lineare Systeme

Model Predictive

Control TB

Fortgeschrittene Regelungstechnik

für den Verfahrensbereich

(Mehrgrößenregelung)

Fuzzy Logic TB

Umfassende Entwicklungsumgebung

zum Entwurf von

Fuzzy-Systemen; Schnittstelle zu

Simulink vorhanden

Signal Processing TB

Grundlegende TB für die

Signalverarbeitung

System Identification TB

Identifikation von zeitdiskreten

Systemen

Image Processing TB

Bildverarbeitung und -auswertung;

Rekonstruktion von Bildern,

Konturerkennung; FFT, DCT und

Radon Transformation, etc.

MATLAB Compiler

Übersetzt MATLAB-Code nach C,

bzw. von C in MATLAB

ausführbaren Code

MATLAB Runtime Server

Einsatz von MATLAB-Anwendungen

als geschützte, eigenständige

Laufzeit-Anwendungen

MATLAB Report Generator

Automatische Dokumentationserstellung

(RTF, HTML, SGML, XML)

für MATLAB-Programme

CONTOL DESIGN & ANALYSIS

Robust Control TB

Robuster Reglerentwurf

µ-Analysis & Synthesis TB

Robuster Reglerentwurf

LMI Control TB

Lösen von Matrizenungleichungen

(Linear Matrix Inequalities)

Model-Based Calibration TB

Modellieren, Testen und Kalibrieren

von Antriebsstrang-Systemen;

Design of Experiments Techniken

SIGNAL & IMAGE PROCESSING

Filter Design TB

Bitgenaues Filterdesign für anwenderspezifische

Festkomma- und

Gleitkomma-Formate in der

Digigitalen Signalverarbeitung

MATLAB Link for Code

Composer Studio

Analyse und Tests von Software für

TI-DSPs; Kommunikation von

MATLAB mit TIs CCS-Umgebung

Wavelet TB

Signalverarbeitung, Wavelet-Analyse

APPLICATION DEVELOPEMENT

MATLAB Excel Builder

Konvertieren von MATLAB-Algorithmen

in stand-alone Exel Add-Ins

MATLAB Com Builder

Umwandlung von MATLAB-Algorithmen

in COM-Objekte zum Aufruf

aus COM-basierten Anwendungen

MATLAB

select 2/03


Requirements

Management Interface

Verknüpfung, Koordinierung und

Nachverfolgung über Requirement-

Management Tools

Virtual Reality TB

Steuerung/Interaktion von

3D-Virtual-Reality-Modellen

(VRML) mit MATLAB/Simulink

Communications TB

Kommunikationstechnik

CDMA Reference BS

Simulation des ISA-95A Standards

bei drahtloser Kommunikation

Legende

MATLAB

select 2/03

DSP & COMMUNICATIONS

Produkt A

vorausgesetzt

für

Produkt B

Produkt A

empfohlen

für

Produkt B

TB: Toolbox

BS: Blockset

Simulink Report

Generator

Automatische Dokumentationserstellung

(RTF, HTML, SGML, XML)

für Simulink/Stateflow

Fixed-Point BS

Simulation von Systemen mit

Festkomma-Arithmetik

Aerospace BS

Modellieren, Integrieren und

Simulieren von Luft-/Raumfahrt-,

Raketen- und Antrieb-Systemen

DSP BS

Erweiterung von Simulink auf

dem Gebiet der digitalen

Signalverarbeitung

Communications BS

Erweiterung der Communications

TB um Simulink-Blöcke auf dem

Gebiet der Kommunikationstechnik

CONTROL DESIGN

Embedded Target for

Motorola MPC555

Code-Gen. für µC MPC555

Embedded Target for

Infineon C166 Microcontr.

Code-Gen. für µC mit C166 Core

Embedded Target for

Motorola HC 12

Code-Gen. für µC HC 12

Embedded Target for

OSEK/VDX

Code-Gen. in der OSEK-Umbegung

Embedded Target for

C6000 DSP Platform

Code-Gen. für TI C6000-DSPs

Produktübersicht

Simulink Performance

Tools

3 Tools: Simulationsbeschleuniger,

Simulink-Profiler und

Modellabdeckung

Nonlinear Control

Design (NCD) BS

Automatische Parameteroptimierung

für nichtlineare

Simulink Modelle.

Simulink

Modellierung und Simulation

dynamischer, nichtlinearer

Systeme

Real-Time Workshop

Automatische Generierung von

portablem C-Code aus Simulink;

Echtzeitsimulation

Stateflow Coder

Codegenerierungsmodul für

Stateflow

Real-Time Workshop

Embedded Coder

Code-Generierung von hocheffizientem

C-Code für Embedded Systems

Real-Time Windows Target

Ausführung von Simulink- und

Stateflow-Modellen unter Windows

in Echtzeit

Stateflow

Grafische Oberfläche zur Modellierung

von Zustandsautomaten,

Abbildung logischer Abfolgen,

ereignissorientierte Simulation

Dials & Gauges BS

Bedienelemente für Simulink-

Modelle aus ActiveX Control

Elementen

MULTI DOMAIN

MODELLING

SimMechanics

Direkte Modellierung von

mechanischen Systemen

ohne Aufstellen von

Bewegungsgleichungen

SimPowerSystems

Simulink-Blöcke zur Modellierung

von Leistungselektronik und

Antriebstechnik

xPC Target

Rapid Prototyping und Hardwarein-the-Loop

Anwendungen in

Echtzeit auf Standard-PC Hardware

xPC Target

Embedded Option

Vertrieb von Embedded Stand-

Alone-Echzeitsystemen auf PCs

xPC Target Box

Robustes Industrie PC-System

mit vielen I/O-Optionen;

integrierter Echzeit-Kernel

CODEGENERATION & PROTOTYPING

47


TIPPS&TRICKS

■ TIPPS&TRICKS

1. (Halb-) Automatische Benennung von Simulink-Signalen

Aufgabenstellung: In einem Simulink-Modell sollen die Ausgangssignale aller “Constant”-

Blöcke automatisch benannt werden – und zwar sollen diese den gleichen Namen wie der Constant-Block

selber erhalten (Abb. 1).

Abb. 1: Automatic Signal Naming

Der erste Versuch wird vermutlich so aussehen:

automatic_signal_naming % example mdl-file

all_blocks=find_system(gcs,'BlockType','Constant');

set_param(all_blocks{1},'OutputSignalNames','abc')

??? Error using ==> set_param

Constant block parameter 'OutputSignalNames' is read-only.

Die Fehlermeldung ergibt sich, weil die Eigenschaft 'OutputSignalNames' dem Signal zugeordnet

ist und an den Block nur weitergegeben wird.

Hier die Lösung:

automatic_signal_naming % example mdl-file

all_blocks=find_system(gcs,'BlockType','Constant');

all_ports=get_param(all_blocks,'PortHandles');

for k=1:length(all_blocks)

port_handle=get_param(all_blocks{k},'PortHandles');

line_handle=get_param(all_ports{k}.Outport,'line');

block_name=get_param(all_blocks{k},'name');

set_param(line_handle,'name',block_name);

end

Dieser Code muss für andere Auswahlkriterien bezüglich der Blöcke angepasst werden,

gegebenenfalls auch bei Blöcken mit mehreren Ausgangssignalen. Den umgekehrten Anwendungsfall

– überall, wo Signalnamen vorhanden sind, soll der Quellblock entsprechend

benannt werden – kann man folgendermaßen lösen:

all_lines=find_system(gcs,'FindAll','on','type','line');

for k=1:length(all_lines)

line_name=get_param(all_lines(k),'name');

block_handle=get_param(all_lines(k),'SrcBlockHandle');

set_param(block_handle,'name',line_name);

set_param(block_handle,'ShowName','on')

end

2. Easter Eggs

Easter Eggs? Ostereier? So heißen nicht

dokumentierte, überraschende Eigenschaften

von Befehlen! Probieren Sie es doch einmal

mit:

why % bitte mehrfach ausführen

reshape(1, 1, -1)% bitte

mehrfach ausführen

MATLAB

48 select 2/03

spy

3. Webinare

Sie möchten sich über ein Produkt oder

einer Produktgruppe von The MathWorks

informieren? Der Infotag oder der Thementag

findet aber nicht (schnell genug) in Ihrer

Umgebung statt? Sie scheuen die weite Anreise

oder bekommen keine Freigabe für eine

Dienstreise, weil die Projektabgabe naht?

Bitte nutzen Sie die Online-Webinare –

direkt an Ihrem Arbeitplatz:

www.mathworks.com/webinar

Falls das „live webinar“ vom Zeitpunkt

nicht günstig liegt: Alle Webinare werden

auch in einer archivierten Form zur Verfügung

gestellt:

www.mathworks.com/company/events/

archived_webinars.jsp

Einige Webinare gibt es jetzt auch in

deutscher Sprache!


TIPPS&TRICKS ■

4. File Exchange Highlights - moveplot

Wie in dieser Rubrik schon mehrfach erwähnt,

stellen Anwender unter

www.mathworks.com/matlabcentral/file

exchange

anderen Andwendern nützliche Tools für

MATLAB und Simulink kostenlos zur Verfügung.

Abb. 2: Moveplot

Numerical Methods in Finance

A MATLAB-based Introduction

Autor: P. Brandimarte

Verlag: Wiley Series in Probability

and Statistics

Numerical Methods in Finance ist – wie

der Titel bereits vermuten lässt – in Englisch

geschrieben und zeigt, wie mit Hilfe von

MATLAB und der Financial Toolbox typische

finanznumerische Aufgaben erfüllt werden

können. Nach einer knappen Einführung

in MATLAB erhält man einen Überblick

über Fixed-Income Securities, Portfolio-Optimierung

und das Black-Schools Modell.

Der zweite Teil des Buches wendet sich

MATLAB

select 2/03

„moveplot.m“ ermöglicht Ihnen durch

einfaches Anklicken und Bewegen einzelne

Punkte einer MATLAB Figure zu verschieben

(Abb. 2). Link:

www.mathworks.com/matlabcentral/file

exchange/loadFile.do?objectId=747&

objectType=file

Beispielcode (R13):

x=1:0.2:10;

h=plot(x, sin(x));

moveplot(h,'xy')

BUCHTIPPS ■

den numerischen Verfahren zu. Gegenstand

sind grundlegende numerische Analysis,

Optimierungsaufgaben, Monte-Carlo Simulationen

und Finite Differenzen Methoden

zur Lösung partieller Differentialgleichungen.

Der dritte Teil des Buches ist schließlich

den finanzmathematischen Anwendungen

gewidmet, insbesondere Portfolio Management

und der Analyse von Optionen mittels

Monte-Carlo Verfahren. Zwei kurze Anhänge

zur MATLAB-Programmierung und

Wahrscheinlichkeitstheorie beschließen dieses

gelungene Buch. Interessant ist dieses

Buch für alle angehenden Aktuare und alle

an finanznumerischen Methoden Interessierte,

gleichgültig ob an einer Universität

oder im Bank- und Versicherungsumfeld.

5. File Exchange Highlights - datalabel

Mit “datalabel.m” können Sie einzelne

Punkte einer Linie einer MATLAB Figure

interaktiv mit dem jeweiligen x- und y-Wert

beschriften (Abb. 3). Link:

www.mathworks.com/matlabcentral/file

exchange/loadFile.do?objectId=1542&object

Type=file

Beispielcode (R13):

x=1:0.2:10;

h=plot(x, sin(x));

datalabel on

AG

Abb. 3: Datalabel

Matlab – Simulink – Stateflow

Grundlagen, Toolboxen, Beispiele

Autoren: A. Angermann, M. Beuschel,

M. Rau und U. Wohlfarth

Verlag: Oldenbourg Verlag

Dieses Buch ist in zweiter überarbeiteter

Auflage erschienen und basiert nun auf dem

aktuellen Release 13. Wie in der ersten Auflage

werden neben MATLAB, Simulink und

Stateflow auch die Toolboxen Control System

TB, Signal Processing TB und Optimization

TB vorgestellt. Eine ausführliche Besprechung

findet sich in MATLAB select

Ausgabe 2/02.

49


BUCHTIPPS

■ BUCHTIPPS

Modellbildung und Simulation dynamischer

Systeme

Mit MATLAB- und Simulink-Beispielen.

Autor: H. E. Scherf

Verlag: Oldenbourg Verlag

Das vorliegende Buch wendet sich insbesondere

an Studenten der Ingenieurswissenschaften.

Im Vordergrund stehen mechatronische

Systeme. Dabei zeigt der Autor konsequent

den Weg von der Modellbeschreibung über die

Umsetzung in ein geeignetes Differentialgleichungssystem

bis hin zur Simulation mittels Simulink

und MATLAB. Pädagogisch geschickt

wird dieser Simulationsprozess an einzelnen,

praktischen Beispielen durchgespielt. Die praxisnah

gewählten Beispiele stammen dabei aus

den Gebieten der Mechanik, Hydrodynamik,

Thermodynamik und Elektrotechnik. Ein Buch,

das sicherlich nicht nur Studenten empfohlen

werden kann, sondern auch für den Simulationsinteressierten

ein Gewinn darstellt.

Matlab for Engineers Explained

Autoren: F. Gustafsson und N. Bergman

Verlag: Springer Verlag

Dieses in englischer Sprache geschriebene

Buch wendet sich insbesondere an Studenten

der Ingenieurswissenschaften, kann aber auch

von jedem MATLAB-Anfänger gewinnbringend

eingesetzt werden, und auch der fortgeschrittene

MATLAB-Anwender wird durchaus

noch das eine oder andere lernen. Die einzelnen

Kapitel des Buches sind in so genannte

„Guided Tours“ aufgespalten. Jede dieser

„MATLAB-Führungen“ widmet sich einem bestimmten

Thema und führt an konkreten Beispielen

durch einen Themenbereich. In über 60

„Guided Tours“ wird der Leser mit grundlegenden

Eigenschaften von MATLAB vertraut

gemacht, wie dem Erstellen von Graphiken

oder dem Schreiben von MATLAB-Funktionen.

Neben diesen grundlegenderen Themen

werden auch fortgeschrittenere Themen aufgegriffen,

wie beispielsweise dünn besetzte Matrizen

oder die Kommunikation mit einem C-

Programm aus MATLAB sowie statistische

Funktionen unter MATLAB, um nur einige zu

nennen. Im Vordergrund steht zwar MATLAB,

einige Abschnitte nutzen jedoch auch Funktionalitäten

aus der Optimization, der Signal Processing,

der Control System und der System

Identification Toolbox. Zusammenfassend

kann ich nur sagen, es macht Spaß durch die

„Guided Tours“ MATLAB zu erproben und

theoretischen Aussagen stets am konkreten Beispiel

zu folgen.

Scientific Computing with Matlab

Autoren: A. Quarteroni und F. Saleri

Verlag: Springer Verlag

Dieses Lehrbuch ist eine Einführung in das

wissenschaftliche Rechnen und diskutiert Algorithmen

und deren mathematischen Hintergrund.

Angesprochen werden im Detail Nichtlineare

Gleichungen, Approximationsverfahren,

numerische Integration und Differentiation,

Lineare Algebra, gewöhnliche Differentialgleichungen

und Randwertprobleme. Zu den

einzelnen Themen werden viele Beispiele und

Übungsaufgaben sowie deren Lösung präsentiert,

die durchweg in MATLAB formuliert

sind. Der Leser findet daher nicht nur die graue

Theorie sondern die Umsetzung in numerischen,

in MATLAB formulierten Code.

Computational Statistics Handbook with

Matlab

Autoren: W. L. Martinez und

A. R. Martinez

Verlag: Springer Verlag

Dieses in Englisch geschriebene Buch wendet

sich an alle – gleichgültig ob Ingenieur, Natur-

oder Wirtschaftswissenschaftler, die an statistischen

oder Wahrscheinlichkeitsberechnungen

interessiert sind.

In 12 Kapiteln werden beispielsweise numerische

Fragen der Wahrscheinlichkeitsrechnung,

das Erzeugen von Zufallsvariablen, statistische

Datenanalyse, Monte Carlo Verfahren

und nicht-parametrische Regressionen diskutiert.

Konsequent werden dabei Lösungsverfahren

mit MATLAB und der Statistics Toolbox

aufgezeigt. Die dabei diskutierten in MATLAB

geschriebenen statistischen Algorithmen stehen

dem Leser als Web-Download zur Verfügung.

Eine knappe Einführung in MATLAB

und die Statistics Toolbox findet sich in den

Anhängen. Sicherlich ein lohnenswertes Buch

für alle an statistischen Fragestellungen und ihrer

numerischen Umsetzung Interessierte.

Graphics and GUIs with Matlab

Autoren: P. Marchand und O. T. Holland

Verlag: Chapman & Hall/CRC

Bekanntlich sagt ein Bild mehr als tausend

Worte. Visualisierung setzt dieses Sprichwort

angewandt auf Daten um. MATLAB bietet eine

Vielzahl von Möglichkeiten eigene Daten oder

wissenschaftlich-technische Aussagen grafisch

zu gestalten – zu visualisieren. Dies kann ein

einfacher Plot, eine umfangreiche Grafik oder

auch eine kleiner Film (Animation) sein. Dateneingaben

können Kommandozeilen orientiert

erfolgen. Sehr viel klarer und für den Benutzer

eingängiger und letztlich sicherer können

solche Aufgaben auch über ein Graphical

User Interface (GUI) erfolgen, um nur ein Beispiel

für die nutzerfreundliche Anwendung eines

GUIs aufzuzeigen. Ein umfangreiches Thema

und MATLAB bietet eine Vielzahl grafischer

Anwendungsmöglichkeiten. Dieses bereits in

dritter Auflage erschienene Buch diskutiert auf

über 500 Seiten die grafischen Fähigkeiten von

MATLAB 6. Dem Leser werden nützliche Tipps

für die Lösung seines grafischen Problems an

die Hand gegeben und detailliert die Möglichkeiten

zur Visualisierung und dem Erstellen von

GUIs unter MATLAB erläutert. Dieses Buch ist

für alle empfehlenswert, die mit MATLAB Grafiken

oder GUIs erstellen wollen und dabei einen

etwas tieferen Einblick in die umfangreichen

Fähigkeiten von MATLAB gewinnen

möchten.

MATLAB

50 select 2/03

WS


Terminkalender

Messen, Thementage,

Webinare & Schulungen

Schulungen Mehr Infos: www.mathworks.de/schulung

Thema Ort Datum

ML01 Einführung in MATLAB Aachen 11.-12.11.03 20.-21.01.04 11.-12.05.04 13.-14.07.04

09.-10.11.04

Berlin 22.-23.03.04 20.-21.09.04

München 08.-09.12.03 16.-17.02.04 19.-20.04.04 26.-27.04.04

21.-22.06.04 16.-17.08.04 11.-12.10.04 18.-19.10.04

06.-07.12.04

Wien 04.-05.11.03 10.-11.02.04 25.-26.05.04 14.-15.09.04

ML04 MATLAB für Fortgeschrittene Aachen

30.11.-01.12.04

16.-17.03.04 23.-24.11.04

München 17.-18.11.03 12.-13.07.04

SL01 Einführung in Simulink Aachen 18.-19.11.03 03.-04.02.04 13.-14.05.04 15.-16.07.04

16.-17.11.04

Berlin 29.-30.03.04 27.-28.09.04

München 15.-16.12.03 18.-19.02.04 03.-04.05.04 28.-29.06.04

25.-26.10.04 13.-14.12.04

Wien 06.-07.11.03 12.-13.02.04 27.-28.05.04 16.-17.09.04

02.-03.12.04

SL03 Simulink für Fortgeschrittene Aachen 18.03.04 25.11.04

München 19.11.03 14.07.04

SL04 Programmierung von Simulink S-functions Aachen 19.03.04 04.05.04 05.10.04 26.11.04

München 20.11.03 15.07.04

DSP01 MATLAB & Simulink in der Signalverarbeitung Aachen 02.-03.12.03 26.-30.04.04* 15.-16.06.04 25.-29.10.04*

Freiburg 28.06.-2.07.04*

*In Kooperation mit PLC2:

München 29.-30.11.04

DSP-Seminar für FPGA-Entwickler

CD01 MATLAB & Simulink in der Automatisierungstechnik Aachen 04.-05.11.03 12.-13.10.04

München 22.-23.03.04

SF01 Simulation u. Progr. von Steuerungen mit Stateflow Aachen 20.-21.07.04

München 24.-25.11.03 29.-30.03.04 22.-23.11.04

RT01 Einführung in Real-Time Workshop Aachen 06.11.03 03.05.04 04.10.04 14.10.04

München 24.03.04

RT02 Entwicklung von Custom Targets für RTW Aachen 05.-07.05.04 06.-08.10.04

MF01 MATLAB für Finanz-Applikationen Aachen 04.-05.12.03 03.-04.11.04

München 05.-06.05.04

Webinare Mehr infos: www.mathworks.de/webinar

Thema Datum

MATLAB in der Finanzindustrie 26.11.03

Automatische Erzeugung von Programmcode in der Luft- und Raumfahrt

Thementage Mehr Infos: www.mathworks.de/thementag

27.11.03

Thema Ort Datum

Modellbasierte Entwicklung München 11.11.03 09:30-12:30 Uhr

Automatische Erzeugung von Programmcode München 11.11.03 14:00-17:00 Uhr

Finanzmathematik Frankfurt 12.11.03 10:00-15:00 Uhr

Messen/Konferenzen

Thema Ort Datum Halle/Stand

European Banking & Insurance Fair Frankfurt 27.-29.10.03 Halle 12/Stand 239

Embedded World Nürnberg 17.-19.02.04 Halle 3/Stand E09

MATLAB

select 2/03

Die aktuellen deutschen Termine finden Sie unter http://www.mathworks.de/company/events/

Die aktuellen schweizer Termine finden Sie unter http://www.mathworks.ch/company/events/

51


Deutschland

The MathWorks GmbH

MATLAB select 2/03

Friedlandstr. 18, 52064 Aachen

kontakt@mathworks.de

Fax: 02 41 – 4 70 75-12

FAXANTWORT

Weitere Informationen

erhalten Sie hier!

Einfach ausfüllen und faxen.

Wir senden Ihnen dann

das gewünschte Material zu.

Ihre Meinung ist uns wichtig. Teilen Sie uns Ihre

Kritik oder Anregung zu unserem Kundenmagazin

MATLAB select mit. Wir möchten es auch in Zukunft

informativ und interessant für Sie gestalten.

Schweiz

The MathWorks GmbH

MATLAB select 2/03

Schürmattstr. 6+8, CH-3073 Gümlingen

info@mathworks.ch

Fax: 00 41–31–95 420-22

Bitte schicken Sie mir Informationen zu folgenden ■ Artikeln (Seite/Titel) ■ Produkten/Anwendungen ■ Schulungen/Veranstaltungen

Mein Kommentar/Anregung

■ Meine Adresse hat sich geändert. Neue Adress-Info s.u. ■ Ich möchte MATLAB select nicht mehr beziehen.

Name

Firma / Hochschule

Straße

Telefon / E-Mail

Abteilung / Institut

PLZ / Ort

MATLAB

select 2/03

Weitere Magazine dieses Users
Ähnliche Magazine