Master, Vollzeit
- Campus Hagenberg
- E-Mail esd@fh-hagenberg.at
- Telefon +43 5 0804 22400
- Infoblatt downloaden Anfrage stellen
Studienplan
Module
Embedded Computing (Wahlmöglichkeiten im 2. und 3. Semester)
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Realtime Operating Systems (Pflicht) |
6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Realtime Operating Systems (Pflicht)In sicherheitskritischen Bereichen wie der Personenbeförderung mit Flugzeug, Auto und Bahn, oder in der Steuerung von Produktions- und Fertigungsanlagen sind konventionelle Computersysteme nicht anwendbar. Denn diese Anwendungs- gebiete erfordern sog. Echtzeitsysteme, damit sie ein bestimmtes Ergebnis innerhalb eines spezifizierten Zeitintervalls zur Verfügung stellen. Passiert das nicht, sind die Folgen unabsehbar. In der Echtzeitdatenverarbeitung muss die Antwort in endlicher Zeit vorliegen (Rechtzeitigkeit), der korrekte Wert allein genügt nicht. Größere Systeme verwenden Echtzeitbetriessysteme. Hier kommt es besonders auf eine faire Zuteilung der notwendigen Hardware- und Software-Ressourcen an, damit die Prozesse noch vor ihrer festgelegten Zeitschranke (Deadline) die Ergebnisse bereistellen können. Es ist also eine geschickte dynamische Ablaufplanung der Prozesse (Scheduling) erforderlich. Das Modul widmet sich den fortgeschrittenen Techniken für die Entwicklung von Echtzeitsystemen sowie der methodischen Vorgangsweise im gesamten Entwicklungsprozess von embedded Betriebssystemen und verteilten Echtzeitsystemen. Weiters steht die besondere Software-Entwicklung für diese Systeme inkl. Treiberentwicklung im Mittelpunkt, wobei auf die gängigsten Echtzeitbetriebssysteme eingegangen wird. Realtime Operating Systems
Einführung, Grundlagen (Grundbegriffe, Klassifizierung von em-bedded OS), Definition von Echtzeit, Rechtzeitigkeit, Gleichzeitigkeit, Determiniertheit, Harte und weiche Echtzeit, Echtzeitprogrammierung (Asynchron, Synchron) Architektur von Echtzeitbetriebssystemen (nicht-funktionale Eigenschaften, Klassifizierung von embedded Betriebssystemen, Standards, grundlegende BS-Kernabläufe, BS-Organisationsformen, I/O und Treiber); Scheduling, Prioritätsvererbung, Merkmale von Echtzeitbetriebssystemen, Stack, Interrupts, Deadlocks, HW-Stack, SW-Stack, Interrupts vs. Tasks vs. DMA, Nested Interrupts, Deadlockerken-nung und –vermeidung; Grundlagen für die Erstellung von Treiber für Betriebssysteme. Entwicklungsumgebungen für Treiberentwicklung Methoden für Debugging bei Treiberentwicklung Realtime Operating Sytems
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Industrielle Software-Entwicklung (Pflicht) |
6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Industrielle Software-Entwicklung (Pflicht)Die Applikationsentwicklung in einem (internationalen) Industrieprojekt unterscheidet sich in manchen Punkten erheblich von der "akademischen" Vorgangsweise. Das betrifft den deutlich größeren Umfang, die beteiligte Personenanzahl und den damit verbundenen (technischen) Abstimmungsbedarf, den Dokumentationsbedarf, die Notwendigkeit konkreter interner Schnittstellen, den Umgang mit Änderungen (Change-Management), dem Testprozess, und noch viele weitere Punkte. In der Lehrveranstaltung wird gezeigt, wie man aus technischer Sicht an solche Projekte herangeht. Dabei steht der komponentenorientierte Software- Entwurf für mehr Autonomie, ein versierter Architekturentwurf für mehr Design-Qualität, ein defensiver Programmierstil für mehr Stabilität, und die Anwendung moderner Prozessmodelle für mehr Planungssicherheit im Vordergrund. Im zweiten Teil wird auf das Thema Prozessorarchitektur und Codeoptimierung eingegangen und eingehend aus praktischer Sicht gezeigt, wie man auf Ebene der Hochsprache auf moderne Prozessorarchitekturen (Mehrkernprozessoren mit Vektoreinheiten) Rücksicht nehmen kann und beachtlich mehr Performance in den Applikationen erzielen kann. Industrielle Software-Entwicklung
SW-Architektur, Komponenten und Funktionsbibliotheken (DLLs), Client/Server-Systeme, Schnittstellen-Entwurf, Dokumentation, defensives Programmieren, Code-Optimierung. Praktische Abwicklung eines umfangreicheren (Software-) Projek-tes unter Anwendung von modernen Prozessmodellen (XP, SCRUM, Kanban, …) und technischem Projektmanagement unter Beachtung des organisatorischen Umfeldes. Begleitender Werkzeugeinsatz, Review- und Schätztechniken, statische Programmanalyse, Build-Mangement, Defect Tracking. Industrielle Software-Entwicklung
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Smart Systems Lab (Pflicht) |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Smart Systems Lab (Pflicht)Dieses Modul gibt einen umfassenden Einblick in die Entwicklung eines Gesamtsystems (Hardware, Firmware, Cloud-Applikation) im Kontext von IoT-Anwendungen. Der durchgängige Datenfluss ausgehend von Sensoren (off-chip), über Signal- und Datenverarbeitung in Hardware, bis zu einem Cloud-Speicher wird gezeigt. Die Absolvent:innen beherrschen die Entwicklung einer Systemplattform bestehend aus Sensoren, Datenverarbeitungsblöcken, Treiber, Firmware und Protokollsoftware, einschließlich Datenbank. Sie/er kennt die notwendigen Schnittstellen zwischen den einzelnen Komponenten und wie diese miteinander interagieren. Dieses Modul vermittelt Methoden des agilen Managements von Projekten in denen Hardware und Software gleichermaßen entwickelt werden. Smart Systems Lab
Dieser Kurs gibt einen umfassenden Einblick in die Entwicklung eines Gesamtsystems (Hardware, Firmware, Cloud-Applikation) im Kontext von IoT-Anwendungen. Der durchgängige Datenfluss ausgehend von Sensoren (off-chip), über Signal- und Datenverarbeitung in Hardware, bis zu einem Cloud-Speicher wird gezeigt. Neben der technischen Umsetzung der einzelnen Komponenten verfolgt der Kurs drei wesentliche Ziele: (1) Entwurf und Debugging komplexer, verteilter Systeme. (2) Konzepte zur Schnittstellendefinition und dem gemein-samen Entwurf von Hardware- und Softwareteilen. (3) Agile Entwurfs- und Projektmanagementmethoden für die Umsetzung heterogener Systeme. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware/Software Codesign |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware/Software CodesignDie Komplexität moderner Systeme steigt ständig an und immer mehr Funktionen werden in einem Chip, zu einem sogenannten System-on-a-Chip, zusammengefasst. So beherbergen moderne Controller nicht nur Prozessoren, sondern auch Kommunikationsschnittstellen (Ethernet, PCI-E, WLAN) und spezielle Co-Prozessoren für Audio- oder Videokompression (MP3, MPEG4, H.264) oder Verschlüsselung (AES). Durch die hohe Integrationsdichte erreicht man eine engere Zusammenarbeit und schnellere Kommunikation zwischen den einzelnen Komponenten und kann bei sinkenden Herstellungskosten die Energieeffizienz und Leistungsfähigkeit des Systems steigern. Durch diese rasante Entwicklung und die immer steigende Anzahl von Funktionen die moderne eingebettete Systeme bieten verkürzt sich nicht nur der Lebenszyklus dieser Produkte, sondern auch die Zeit, die für die Entwicklung zur Verfügung steht. Mit konventionellen Entwicklungsmethoden stößt man hier schnell an die Grenzen, da Hardware und Software getrennt von einander entwickelt werden. Erst nach der Verifikation werden alle Teile des Systems zusammengeführt und validiert. Die Lehrveranstaltung HSC2 widmet sich daher den Problemstellungen die bei Codesign, dem gleichzeitigen Entwickeln von Hardware und Software auftreten und bietet eine Übersicht über die wichtigsten Lösungsansätze. Dabei werden fortgeschrittene Techniken für Rapid-Prototyping, wie z. B. SystemC oder FPGA basierter Systementwurf, sowie der methodische Vorgehensweise beim gemeinsamen Entwurf von Hardware- und Softwareteile eines Systems gezeigt. Dabei wird auch auf abstrakte Systemmodellierung, Partitionierung von Systemen und High-Level Synthese eingegangen. Hardware/Software Codesign
Überblick über verschiedene Hardware/Software-Co-Design-Problemstellungen und die wichtigsten Lösungsansätze. Entwurfsablauf und System-modellierung von eingebetteten Systems-on-a-Chip. Grundlagen für die gemeinsame Modellierung von Hardware/Software-Systemen mit SystemC und C++. Einsatz von Transaction-Level-Modeling für die schnelle Implementierung funktionaler virtueller Prototypen zur Systemevaluierung und parallelen Entwicklung von Firmware und Hardware-Komponenten. Methoden und Konzepte für High-Level-Synthese, die Generierung von Busschnittstellen und Treibern, und Co-Simulation. Hardware/Software Partitionierung und Optimierungsverfahren und die Abschätzung von Entwurfsqualität bzw. Metriken (Fläche, Energie, Performance, WCET, etc.) für die Bewertung Hardware- und Softwarekomponenten. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Softwarekonzepte u. angewandte Visualisierung |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Softwarekonzepte u. angewandte VisualisierungNach der Auftragsvergabe möchten Kunden heute immer früher eine erste Version ihrer künftigen Software-Applikation sehen. So kann der Kunde überprüfen, ob er richtig verstanden wurde (Risikomanagement) und erhält gleichzeitig einen ersten Eindruck von der Bedienoberfläche (Akzeptanzprüfung des Look & Feel der Mensch-Maschine-Schnittstelle). Modernes Software-Prototyping hilft dem Auftragnehmer, diesen Anforderungen gerecht zu werden. Dabei werden typische Client-Server-Systeme mit einer (extern) angebundenen Remote-Visualisierung betrachtet, wie sie in der Welt der Embedded Systems häufig anzutreffen sind. Neben den Monitoring-Konzepten für Embedded Systems wird auf weiterführende Themen wie den Service-orientierte Architekturen, dem Cloud-Computing und den aktuellen Visualisierungs- und Kommunikationskonzepten eingegangen. Softwarekonzepte und angewandte Visualisierung
Die LVA startet mit einem Überblick über moderne Softwarekonzepte, Trends & Technologien im Digitalen Umfeld und zeigt die Bedeutung und Innovationskraft der Embedded Systems im Be-reich Internet of Things, Industrie 4.0, verteilter und service-orientierter Architekturen und Smart Systems auf. Weiters wird gezeigt, wie der Prototyping-Prozess in der Wirtschaft gelebt wird. Die einzelnen Phasen werden beschrieben und mit Beispielen greifbar gemacht. Als Tool zur Umsetzung von High-Level Proto-typen wird C# mit dem Fokus auf WPF zur GUI-Programmierung vorgestellt. Einführung im C# / .NET, Unterschiede zu C++, Basiskompetenz der Entwicklung in C#, Inter¬operabilität zu nativem C/C++-Code. Oberflächenprogrammierung mit WPF, Einbindung von Grafiken, Videos, projektübergreifende Styles. Trennung von UI und Busi-nesslogik mit Hilfe von Designpatterns (Model-View-ViewModel), als auch das Grundkonzept von WPF mit XML Beschreibungs-sprache für GUIs. Zudem werden weitere externe Quellen (wie NUGET) für schnelles Prototyping gezeigt. Ergänzende praktische Projektumsetzung in interdisziplinärer Form zur Steuerung und Visualisierung von Embedded Systems. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Distributed Realtime Systems |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Distributed Realtime SystemsSystemausfälle sind nicht nur unangenehm und oftmals sehr teuer, sie können auch gefährlich sein. Der kompetenten und versierten Entwicklung von Hochverfügbarkeitssystemen bzw. hochzuverlässigen Systemen kommt deshalb eine wesentliche Bedeutung zu. Aus technischer Sicht handelt es sich hier meist um verteilte Echtzeitsysteme, wobei entweder zeit- oder ereignisgesteuerte Architekturen verwendet werden. Weiters müssen diese mit Fehlerzuständen geeignet umgehen bzw. darauf reagieren können, um einen Komplettausfall zu vermeiden. Systeme, wo zuverlässige Kommunikation erforderlich ist, findet man etwa im Auto (Drive-by-wire). Typische Vertreter von Echtzeit-Kommunikations- protokollen sind TTP, das Time-Triggered Protocol zur fehlertoleranten Kommunikation oder das Flexray-Bussystem, welches hohe Datenraten bei hoher Sicherheit unterstützt. Distributed Realtime Systems
Distributed Systems (verteilte Systeme): System Architektur, System Design, Zeitsteuerung / Eventsteuerung, Echtzeittransaktionen, Composability, Scalability, Real-Time Communication, Real-Time Scheduling, Statisches Scheduling, Dynamisches Scheduling. Dependable Systems (hochzuverlässige Systeme): Fehlertoleranz, RAMSS (Reliability Availability Maintainability Safety Security), Error / Fault / Failure. Beispiele aus der Praxis: Verteilte Uhren-synchronisation. Distributed Realtime Systems
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software Quality Engineering |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software Quality EngineeringStabile und zuverlässige Software-Applikationen sind für den Endanwender auf seinem Notebook oder Smartphone wünschenswert, für den harten Industrie-Einsatz hingegen eine obligatorische Notwendigkeit. Embedded Systems verfügen über einen wesentlichen Teil an Software, die oft unter zeitkritschen Bedingungen zuverlässig arbeiten muss. Die Anforderungen sind hier deutlich höher als bei Desktop-Applikationen. Fehlfunktionen in der Software einer Motorsteuerung im PKW, oder dem Elektronischen Stabilitätsprogramm oder in der Airbag-Steuerung können fatale Folgen haben. Qualität lässt sich nicht nachträglich in ein Produkt "hineintesten" - hier braucht es besondere Strategien, Konzepte und Vorgangsweisen im Vorfeld, um hochwertige Softwaresysteme zu erstellen. Hier wird auf diese Methoden und Prinzipien eingegangen, von der technischen Umsetzung bis hin zum Projekt- und Qualitätsmanagement, wo die Einführung, Steuerung und Kontrolle von Maßnahmen zur Qualitätssicherung übergreifend über alle Bereiche eines Projekts beleuchtet werden. Software Quality Engineering
Unit-Testen mittels moderner Test-Frameworks für Java, C# und C/C++. Testgetriebene Entwicklung: Stubs, Mocks und testbares Software-Design. Werkzeuggestützte, statische Analyse sowie Refactoring von Code und Design. Methoden und Werkzeuge für die Durchführung von Reviews und Inspektionen. Testtechniken und -methoden zur Entwicklung effektiver und repräsentativer Testfälle. White-box Testen basierend auf ver-schiedenen Kriterien für Testüberdeckung, Werkzeuge für Coverage- und Mutationsanalyse. Blackbox Testen basierend auf Spezifikationen, Systemdesign und Modellen. Testautomatisierung auf Komponenten-, Integrations- und Systemebene. Methoden und Werkzeuge zur Generierung von Test-fällen sowie modellbasiertes Testen auf Basis von Zustandsmo-dellen. Werkzeuge und Frameworks für die Spezifikation von anforderungsbasierten Tests sowie automatisierten Abnahmetests. Nicht-funktionale Qualität: Ausgewählte Themen, Lösungen und Werkzeuge für das Testen von Performance, Concurrency, Ro-bustheit und Sicherheit. Build, Continuous Integration und Continuous Delivery als Feed-back-System für iterative und inkrementelle Entwicklung. Prozes-se, Methoden und Techniken für Qualitäts- und Testmanagement. Qualitäts- und Prozessmodelle: Qualität planen und steuern. |
System-on-Chip Design (Wahlmöglichkeiten im 2. und 3. Semester)
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Advanced Methods of Verification |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Methods of VerificationDer Phantasie zukünftiger Chip-Designer und Desingerinnen sind offenbar keine Grenzen gesetzt: Die Anzahl der logischen Funktionen, die sich auf einem Chip gleicher Fläche unterbringen lassen, verdoppelt sich etwa alle 18 Monate. Auf der Fläche, die 1980 einen Transistor beherbergen konnte, tummeln sich heute also mehr als 81000 von ihnen - genug beispielsweise für einen 16-Bit-Rechenkern. Das ein moderner Prozessor mehrere Rechenkerne vereint ist längst Selbstverständlichkeit. Mit dem exponentiellen Wachstum der Komplexität rücken die Methoden der Verifikation mehr und mehr in den Fokus und beginnen das Design aufwandsmäßig in den Schatten zu stellen: Es gilt, sicherzustellen, dass auch das komplexeste Chip-Design unter allen Bedingungen zuverlässig arbeitet. AMV2 vermittelt einen umfassenden Überblick der modernster Verifikationsmethoden und vertieft ausgewählte Techniken soweit, dass ein unmittelbarer Projekteinsatz im industriellen Umfeld ebenso wie als Basis von Forschungsaktivitäten möglich ist. Dabei werden sowohl dynamische als auch statische Verifikationsmethoden auf der Basis aktueller Industrie-CAE-Werkzeuge verwendet. Advanced Methods of Verification
Motivation: Notwendigkeit der Verifikation, Problematik der Verifikation, Position der Verifikation im Entwurfsablauf, Ziele der Veri-fikation, Management-Sicht des Verifikationszyklus. Verifikationszyklus; Simulationsbasierte Verifikation; Testbenches; Black-/Grey-/White-Box-Verfahren; Assertion-Based-Verification; Coverage; Event-Driven-Simulation; Cycle-Based-Simulation; Stimuluserzeugung; Managementmethoden für die Verifikation: Versionierung, Bugtracking, Automation; Hardware-Accelleration; Emulation; Hardware/Software-Coverifikation; Cosimulation unterschiedlicher Simulatoren; Formale Verifikation; Unterschiede im Einsatz von formaler und funktionaler Verifikation; Equivalence Checking; Property Check-ing; Temporale Logiken (LTL, CTL, PSL), Model Checking für LTL; Model Checking für CTL; Bounded Model Checking; Äquiva-lenzen/Abstraktionen; Simulation; Bisimulation; Verifikationssprachen: OVL, PSL, SystemVerilog. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Metrikorientierter Hardwareentwurf |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Metrikorientierter HardwareentwurfDas Chip-Design verfolgt zunächst ein -- allerdings nur scheinbar -- leicht erfassbares Ziel: Die Umsetzung der gewünschten Funktion. Das Erreichen dieser Zielvorgabe wird mit den Methoden der Verifikation geprüft, die in der LVA AMV2 vermittelt werden. Dies allein aber reicht nicht aus. Zusätzlich kommen Nebenbedingungen ins Spiel (engl. Constraints), wie beispielsweise eine gewünschte Taktfrequenz (Speed) oder eine maximal tolerierbare Chipfläche (Area). Diese beiden Bedingungen wurden bereits grundlegend in der Bachelorausbildung beleuchtet, mit speziellen Designtechniken lässt sich jedoch noch weiter optimieren. Neben diesen Techniken sind heute auch Methoden zur Optimierung hinsichlich weiterer Design-Parameter -- genannt Metriken -- nötig, die durch diese Lehrveranstaltung beleuchtet werden. Hierbei geht es um den Energieumsatz (z.B. durch umschaltbare Taktfrequenzen), die elektromagnetische Verträglichkeit, eine leichte Verifizierbarkeit (Design for Verification), den wichtigen Parameter der Testbarkeit (Design for Testability) und weitere mehr. Auch Grundlagen zu sogenannten Mixed-Signal-Designs, bei denen analaoge Schaltungsteile gleichzeitig mit digitalen eingesetzt werden, werden vermittelt. Metrikorientierter Hardwareentwurf
Ausgangspunkt: Die Metriken Speed und Area stellen die Richtschnur der klassischen Designoptimierung dar. Zunehmend treten jedoch andere Metriken in den Vordergrund. Hinzu kommen außerdem die Anforderungen des Mixed-Signal-Designs. Speed: Kritischer Pfad; Area; Abtausch von Zeit und Fläche; Time-to-Market, EMV-orientiertes Design und Low-Power-Design: Technologieebene, Register-Transfer-Ebene, Asynchroner Schaltungsentwurf; Design-for-Test: Fehlermodelle, ATPG, Scan-Test, Boundary-Scan-Test, Memory-Test, BIST; Fault-Tolerant Sys-tems: Wahrscheinlichkeit eines Ausfalls, Error-Detection, Self-Checking Design, Fault-Tolerant Design. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Transmission Laboratory |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Transmission LaboratoryDie Absolvent:innen des Moduls verfügen über einen Überblick der Methoden zur optimalen Gestaltung von digitalen und Mixed-Signal-Hardwareentwürfen hinsichtlich Parameter, wie Geschwindigkeit, Fläche, Energieumsatz, elektromagnetischer Verträglichkeit, Testbarkeit und Fehlertoleranz. Exemplarisch sind ausgewählt wichtige und verbreitete Methoden soweit vertieft, dass sie unmittelbar in der industriellen Praxis Verwendung finden können. An den vermittelten Kenntnisstand kann auch im Forschungsbereich unmittelbar angeknüpft werden. Digital Transmission Laboratory
Einführung in den 3GPP-LTE-Standard (physical layer), Syste-mentwurf von Transmitter (Tx) und Receiver (Rx). Proof of Con-cept mittels Matlab (floatingpoint toolbox, Quantisierung), Sys-tementwurf von Transmitter (Tx) und Receiver (Rx). Proof of Con-cept mittels Matlab (floating point toolbox, Quantisierung). Implementierung auf einer Software-Defined-Radio Plattform, Initialisierung des Tx und Datentransfers, sendeseitige IFFT, Digitaler Filterentwurf (sende und empfangsseitige Filter), Rx: Verwendung des FFT, Oversampling-Verfahren zur Reduktion von Out-of-Band Abstrahlung. Verwendung eines Bit-kompatiblen Altera-Matlab Modells, Takt- Frequenz- und Phasensynchronisation im Rx (Pilotsymbole, Tracking), Messung des sendeseitigen Spektrums mittels Spektrum-Analyzer. Vergleich Simulation vs. Messungen. |
Systems & Signals (Wahlmöglichkeiten im 2. und 3. Semester)
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Digitale Nachrichtenübertragung (Pflicht) |
4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digitale Nachrichtenübertragung (Pflicht)Die drahtlose Vernetzung unterschiedlichster Geräte, sei es zu Steuer- oder Kommunikationszwecken stellt das Rückgrat der Kommunikationsgesellschaft dar. Die Anzahl der Verbindungen steigt mit der Zahl der vernetzten Geräte rapide an. Gleichzeitig wachsen die Ansprüche an die Datenrate auf diesen Verbindungen ebenfalls. Ermöglicht wird dieser Fortschritt einerseits von der dahinterstehenden Gerätetechnoligie, mehr aber noch von der laufenden Optimierung der digitalen Datenübertragung. Das in dieser Veranstaltung vermittelte Wissen ermöglicht ein umfassendes Verständnis der zu Grunde liegenden Prinzipien und schafft die Basis für die erfolgreiche Weiterentwicklung der vorgestellten Techniken in Forschung und Entwicklung. Digitale Nachrichtenübertragung
Grundlagen: System- und Signaltheoretische Grundlagen, Komponenten eines nachrichtentechnischen Systems, äquivalente Basisbanddarstellung, Kanalmodelle (AWGN, Mehrwegeausbrei-tung), Mobilfunkkanal, Kanalkapazität Modulationsverfahren: Digitale Pulsamplitudenmodulation (PAM): ASK, QAM, PSK, QPSK; Digitale Frequenzmodulation (FSK): Binäre und mehrstufige FSK, CPM; Demodulationsverfahren: Kohärente- und inkohärente Demodulation, Bitfeherraten Synchronisation: Frequenz- und Phasensynchronisation, Rahmen- und Taktsynchronisation; Multiplexverfahren, Vielfachzugriffsverfahren Diskrete Mehrträger-Übertragung: OFDM, DMT, CDMA; Diversity-Methoden, MIMO-Systeme, Entzerrung. Digitale Nachrichtenübertragung
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systemmodellierung (Pflicht) |
4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systemmodellierung (Pflicht)Navigationssysteme in Fahrzeugen verwenden für die Berechnung von Verkehrsrouten im Hintergrund mathematisch-formale Modelle. Die realen Autobahnen, Straßen und Wege werden dazu auf dieses Modell geeignet abgebildet, wodurch sie nun für die Berechnung herangezogen werden können. So sind nun schnellste oder kürzeste Routen nach verschiedenen Kriterien relativ einfach bestimmbar. Das Modell ist eine Abstraktion der Realität. Im Modell kann man - sofern richtig entworfen - Operationen einfach durchführen und die Ergebnisse in der Realität anwenden. Der Umweg über das Modell vereinfacht damit die Situation, was entscheidende Vorteile bringt. Die Lehrveranstaltung zeigt die Bedeutung und die Mächtigkeit dieser formalen Grundlagen und Methoden zur Systemmodellierung und behandelt praktische Werkzeuge zur Modellierung von Embedded Systems. Systemmodellierung
Formale Grundlagen (endliche und unendliche Körper, lineare Systeme, Zeit-Varianz/-Invarianz). Modellbildung und -Anlyse statischer Systeme mit Graphen, Bäumen, Decision Diagrams/BDDs, u.a. System-Modellbildung und -Analyse dynamischer Systeme mit Automaten und Petrinetzen. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Signal Processing for Digital Communications |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Signal Processing for Digital CommunicationsSignale, gemeint sind zeitliche Verläufe physikalischer Größen, wie Spannung, Temperatur, Helligkeit,... sind die Träger und Überbringer von Information. So überragend die Bedeutung von Signalen ist, so vielfältig sind ihre Formen. Die Bandbreite reicht vom Ausgangswert eines Temperatursensors, über die elektromagnetischen Wellen einer Funkverbindung bis zum Audiosignal, dass ein Orchester "erzeugt". Die Verarbeitung solcher Signale kann ganz unterschiedliche Ziele haben, beispielsweise die Erkennung des Gesichts einer Person auf einem Foto oder die MP3-Komprimierung eines Musiksignals um mehr Musikstücke im Speicher unterzubringen. Bei der Verarbeitung von Signalen, hat sich wie in vielen anderen Bereichen auch, längst das digitale Funktionsprinzip durchgesetzt. Die Beherrschung der hierbei engesetzten Verfahren wird von den beiden Lehrveranstalungen DSV2 und AVS3 detailliert vermittelt. Signal Processing for Digital Communications
Grundlagen: Grundlagen der linearen Algebra, Wahrscheinlichkeitstheorie und der Theorie stochastischer Prozesse, ML und MAP Schätzverfahren, Spektralschätzung Multiraten-Signalverarbeitung, Polyphasen-Filter Zero-Forcing Equalizer, Decision Feedback Equalizer Optimalfilter: Wiener-Kolmogoroff- und Kalman-Bucy-Filter Adaptive Filter: Lineare Prädiktion, LMS, RLS- Schätzverfahren; Optimalempfänger nach Ungerböck und Forney, Viterbi- und BCJR-Algorithmus; Anwendungen: Kanalschätzung, MAP- und ML-Decodierung, Synchronisation. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Regelungstechnik |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RegelungstechnikDie Beherrschung der Grundlagen und grundlegenden Werkzeuge sowie die aktuellen Methoden und Algorithmen der Regelungstechnik werden den Studierenden in diesem Modul vermittelt. Ausgewählt wurden solche Methoden die tatsächlich im industriellen Einsatz sind, so dass die Lehrveranstaltung in die Lage versetzt, ein Gesamtsystem unter Einbeziehung regelungstechnischer Anteile zu konzeptionieren und zu realisieren. Regelungstechnik
Zustandsraumbeschreibung, Beobachtbarkeit, Steuerbarkeit, Modellidentifikation durch Parameterschätzung, Grundprinzip der prädiktiven Regelung, Adaptive Regelung auf der Basis deterministischer adaptiver Regler, Grundprinzip der Fuzzy Regler, Dead-Beat-Regler, nichtlineare Regelverfahren. Regelungstechnik
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Audio Signalverarbeitung |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Audio SignalverarbeitungSignale, gemeint sind zeitliche Verläufe physikalischer Größen, wie Spannung, Temperatur, Helligkeit,... sind die Träger und Überbringer von Information. So überragend die Bedeutung von Signalen ist, so vielfältig sind ihre Formen. Die Bandbreite reicht vom Ausgangswert eines Temperatursensors, über die elektromagnetischen Wellen einer Funkverbindung bis zum Audiosignal, dass ein Orchester "erzeugt". Die Verarbeitung solcher Signale kann ganz unterschiedliche Ziele haben, beispielsweise die Erkennung des Gesichts einer Person auf einem Foto oder die MP3-Komprimierung eines Musiksignals um mehr Musikstücke im Speicher unterzubringen. Bei der Verarbeitung von Signalen, hat sich wie in vielen anderen Bereichen auch, längst das digitale Funktionsprinzip durchgesetzt. Audio-Signalverarbeitung
Psychoakustische und raumakustische Modelle; Quantisierung und AD/DA Wandlung von Signalen: Lineare- und nichtlineare Quantisierung, Spektralformung und Dithering, Zah-lendarstellung, Nyquist-Abtastung und Delta-Sigma Modulation; Audio-Codierung: Entropie-Codierung (Huffman-Codierung), Lempel-Ziv-Codierung, MP3 (MPEG-1 Layer 3), AAC, DAB; Rekursive und nicht-rekursive Audio-Filter: Quantisierungseffekte, schnelle Faltung, overlap-add und overlap-save Verfahren; diskrete Transformationen: DFT, DCT, Wavelets und ihre schnellen Realisierungen; Hardware-Realisierungen von Audio-Algorithmen. |
Projekte
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Projekt I |
6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Projekt IStudienprojekt 1
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Projekt II |
6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Projekt IIStudienprojekt 2
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vorprojekt zur Masterarbeit |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vorprojekt zur MasterarbeitDiese Projektarbeit im 3. Semester ist als Vorbereitung auf die Masterarbeit vorgesehen. Durch das Projekt wird die wissenschaftlich fundierte Konkretisierung des Masterarbeitsthemas unterstützt, sodass am Ende des Semesters ein klares Konzept für die Masterarbeit vorliegt. Dies betrifft in der Hauptsache die inhaltliche Einengung der Themenstellung und gründliche Recherche bestehender Arbeiten. Dieses Projekt ist im Regelfall ein Einzelprojekt und sollte nach Möglichkeit bereits zusammen mit dem/der künftigen Betreuer:in durchgeführt werden. Vorprojekt Masterarbeit
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Masterarbeit |
25 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MasterarbeitMasterarbeit
|
Seminare
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Wissenschaftliches Arbeiten |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wissenschaftliches ArbeitenEs werden die Techniken des wissenschaftlichen Arbeitens vermittelt und die Studierenden werden in die Lage versetzt, problemspezifisch die relevanten Wissensquellen auszuwählen und inhaltlich zu nützen. Die Lehrveranstaltung vermittelt die Kenntnisse, um eigenständig eine formal korrekte wissenschaftliche Arbeit zu erstellen und diese Arbeit in den Kontext zum Stand der Technik zu setzen. Wissenschaftliches Arbeiten
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Seminar zur Masterarbeit |
4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Seminar zur MasterarbeitDie AbsolventInnen lernen Techniken des Schreibens einer wissenschaftlichen Arbeit kennen und setzen diese anhand der eigenen Arbeit um. Durch Unterstützung und Feedback seitens des/der Betreuers/ Betreuerin vom FH-Studiengang ist ein schrittweises Vorgehen mit kontinuierlicher Qualitätsverbesserung gesichert. Seminar zur Masterarbeit
|
Technische Wahl- und Vertiefungsfächer (Wahlmöglichkeiten)
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AI for Resource Limited Devices |
1 | 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AI for Resource Limited DevicesDiese Modul vermittelt Kenntnisse und Fähigkeiten, um eigene Anwendungen mit neuronalen Netzwerken (KI) und Deep-Learning für Embedded Systems, umsetzen zu können. Der Fokus liegt dabei vor allem auf Anwendungen aus dem Bereich der Bilderverarbeitung (Erkennung und Lokalisierung von Objekten im 2D- und 3D-Raum mittels KI). Um einen nahen Bezug zu einer realen Anwendung aus der Industrie ermöglichen zu können, wird im Übungsteil der Lehrveranstaltung eine Robotik-Applikation entwickelt. Am Ende des Wintersemesters werden alle Gruppen ein System implementiert haben, welches einen Roboterarm mittels KI automatisch Objekte erkennen und greifen lässt. Die gesamte Verarbeitung der Daten, sowie der KI, wird auf dem Embedded System umgesetzt. AI for Resource Limited Devices
Klassische Bildverarbeitungsmethoden mittels OpenCV, Neuronale Netzwerke, Künstliche Intelligenz, Deep-Learning und Convolution Neural Networks; Verwendung einer Virtualisierung auf einem Embedded System (Docker); Verfügbare Software-Frameworks zur Ausführung von neuronalen Netzwerken auf einem Embedded System, Besonderheiten bei der Verwendung von KI auf einem Embedded System, Einführung in die Verwendung und Programmierung von 6-Achs-Robotern. Erarbeitung einer praxisnahen Robotik-KI-Anwendung: Implementierung der High-Level-Applikation (Ablaufsteuerung), Auswahl und Training des KI-Modells, Optimierung und Portierung des KI-Models für das Embedded System, Integration in das Gesamtsystem und Praxistest am Roboter, Methoden zur Fehlersuche in komplexen Industriesystemen. AI for Resource Limited Devices
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Smart Sensors |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Smart SensorsDiese Modul behandelt die wichtigsten Schnittstellen der analogen Außenwelt der Eingabeseite (Sensorik) zu den digitalen Verarbeitungssystemen. Die Absolvent:innen kennen die Grenzen der digitalen Modellierung elektronischer Schaltungen, welche die Beherrschung analoger Analyse- und Entwurfs-Methoden erfordert. Smart Sensors
Überblick der Sensortechnologie: Sensoren und Ersatzschaltbilder für physikalischen Größen (z.B. der Optik, Wärmelehre, Mechanik, Elektrodynamik,...); Schaltungstechnik zur Anbindung dieser Sensoren an Embedded Systems; Auswertung von Messergebnissen im digitalen Bereich; Auswahl der passenden Sensoren. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GPU-Programmierung mit CUDA |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GPU-Programmierung mit CUDADie Absolvent:innen des Moduls beherrschen die fortgeschrittene Programmierung von GPUs mit NVIDIA CUDA und C++17. Sie sind in der Lage, GPGPU-Programme unter Verwendung von Performance- und Profiling-Tools hinsichtlich Laufzeit zu optimieren. Sie können in industriellem (Problem-)Umfeld abschätzen, welche massiv-parallele Algorithmen, Programme und Systeme zum Einsatz kommen sollen. GPU-Programmierung mit CUDA
Die Architektur und der Aufbau von GPU-Systemen (Manycore-Hardware) sowie der spezifische Unterschied zu CPU-Systemen (Multicore-Hardware). Grundlagen der Programmierung von GPGPUs mit NVIDIA CUDA und C++17 unter Ubuntu bzw. Windows. Zentral dabei: Das Pa-rallelisierungsmodell sowie der Umgang mit Host- und Device-Speicher, Bus-Systemen etc. Fortgeschrittene Programmierung von GPGPUs mit NVIDIA CU-DA und C++17 mit einem ausführlichen Schwerpunkt auf Perfor-macetuning unter Verwendung von graphischen Profilern. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Functional Safety in Embed. Systems |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Functional Safety in Embed. SystemsDie Absolvent:innen des Moduls besitzen Kenntnisse in den Methoden und Maßnahmen bei der Entwicklung und Verifikation von sicherheitsrelevanten elektronischen Systemen am Beispiel des Entwicklungsstandards ISO 26262. Sie wissen welche Gefahren und Risiken von elektronischen Systemen entstehen können, wie diese klassifiziert werden, und welche Anforderungen bei der Entwicklung dieser Systeme berücksichtigt werden müssen. Functional Safety in Embedded Systems
Management der Funktionalen Sicherheit: Confirmation Measures, Review Methoden, V-Modell als Lifecycle. Anforderungsbasierte Entwicklung. Konzeptphase, Produktentwicklung auf Systemebene: Hazard Analysis and Risk Assessment, Funktionales/technisches Sicherheitskonzept, Sicherheitsziele / Sicherer Zustand. Hardware-Entwicklung: Arten von Redundanz, Random HW-Fehler, MTTR, MTTF, MTBF. Analyse-Methoden (Failure Modes Effects and Diagnostic Analysis (FMEDA), Fault Tree Analysis (FTA), Dependent Failure Analysis (DFA)), Availability vs. Reliability. Software-Entwicklung: Systematische Fehler vs. zufällige Fehler, Spezifikation der SW-Anforderungen, SW-Architektur, MISRA-C Standard, Software Testing, Verification, Software Metriken (Statement-/ Branch-/ Decision-/ MCDC-Coverage), Freedom from Interference, Criteria of Coexistence. Unterstützende Prozesse: Sicherheitsorientierte Analysen, Tool Evaluierung, Tool-Qualifizierung Erarbeitung der theoretischen Hintergründe und praktische Um-setzung anhand konkreter Anwendungsbeispiele |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Predictive Analytics for IoT |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Predictive Analytics for IoTDie Absolvent:innen des Moduls besitzen Know-how, welches für die Praxis der Analyse von Daten im Umfeld von IoT (Internet-of-Things) und Sensornetzwerken von hohem Nutzen ist. Ein wesentliches Ziel ist es, die Fähigkeit zum Entwurf und Deployment von Datenanalyse-Algorithmen in cloud-basierten IoT-Systemen zu vermitteln. Nach Abschluss dieses Moduls können Konzepte aus dem Bereich des maschinellen Lernen für Predictive-Analytics Fragenstellungen im IoT Umfeld angewandt werden Predictive Analytics for Internet-of-Things
IoT Connectivity (MQTT) – IoT Plattform (IBM IoT Foundation), NoSQL (Cloudant DB) zur Datenspeicherung in IoT Systemen / DashDB (inMemory DB), Timeseries Databases, Stream Processing Platforms, Grundlagen von Predictive Analytics und Machine Learning, Praxistaugliche Predictive Analytics Algorithmen für IoT, Machine Learning Anwendungen: Knowledge Discovery, Fehlerdetektion, Fehlervorhersage, ... Anwenden von Machine Learning Algorithmen in R (notwen-dig für die Umsetzung in IBM BlueMix), Data Analytics Workflows mit Jupyter und R (Verwendung der Data Science Experience der IBM), Raspberry PI (NodeRed) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Image Processing |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Image ProcessingDie Absolvent:innen des Moduls besitzen die Fähigkeit, Bilder aufzubereiten, notwendige Informationen zu extrahieren und zu verstehen, und entsprechende Aktionen daraus abzuleiten. Sie beherrschen alle Schritte der Bildverarbeitungskette, die notwendig sind, um im industriellen Umfeld kameragestützte Anwendungen zu entwickeln. Nach Abschluss des Moduls sind Methoden und Konzepte geläufig, um Algorithmen der Bildverarbeitung auf embedded Systemen umzusetzen. Digital Image Processing
Die Lehrveranstaltung gibt einen umfassenden und tiefgreifenden Einblick in die digitale Bildverarbeitung für industrielle Applikationen. Dabei werden beginnend beim Aufnahmeprozess, über Verbesserung, Merkmalsextraktion, -erkennung und Klassifizie-rung alle relevanten Themenfelder behandelt: Bildvorverarbeitung, Bildverbesserung, Filterung (Korrelation, Konvolution.), 2D Fourier-Transformation, Filter für Kantenbetonung; Morphologie, Segmentierung, Feature-Extraction; Featurematching und Klassifizierung. Die Themen werden allesamt aus industrieller Sicht vermittelt und anhand moderner Werkzeuge und Methoden, wie z.B. MATLAB, Python, Bibliotheken wie OpenCV oder OpenCL, praktisch umgesetzt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced FPGA Design |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced FPGA DesignDie Absolvent:innen dieses Moduls können die Konzepte der statischen Timinganalyse auf komplexe FPGA-Designs anwenden. Ebenso können Bus Functional Models (BFM) für die FPGA-Verifikation bzw. der Einsatz verbreiteter Verifikations-Frameworks wie OSVVM oder UVVM im industriellen Umfeld praktisch eingesetzt werden. Mit diesen Instrumenten kann die Funktionsfähigkeit eines FPGA-Entwurfs nach heutigen Maßstäben soweit abgesichert werden, dass dem Einsatz im Produktrahmen nichts mehr im Wege steht. Bei der Erreichung dieses Hauptzieles helfen spezielle Hardware-Debugging-Instrumente, wie etwa der direkte Zugriff auf ein Bus-System über einen JTAG-Master vom Entwicklungssystem aus, die Kontrolle über die im Entwurf verteilten Speicherblöcke oder auch der Einsatz eines im Entwurf integrierten Logikanalysators. Daher wird der Umgang mit solchen Konzepten im Rahmen der LVA geübt und anschließend beherrscht. Ebenfalls hilfreich bei der Erreichung dieser Hauptziele ist ein ver-tieftes Know-how über die Konfiguration von Synthese- und Layout-Werkzeugen und die Fähigkeit zur inkrementellen Designabarbeitung (Beibehaltung bereits erreichter Teilergebnisse). Die Fähigkeiten hierzu vermittelt dieses Modul. Advanced FPGA Design
Anwendung der statischen Timinganalyse auf den FPGA-Entwurf. Verifikation von FPGA-Teilsystemen mit Hilfe von BFM, OSVVM oder UVVM bzw. gegebenenfalls einer Kombination dieser Me-thoden auf Basis fortgeschrittener Methoden aus VHDL 2008 und2018. Methoden des Hardware-Debugging: Eingriff in ein Bussystem mittels JTAG-Master vom Entwicklungssystem aus, Auslesen/Verändern von Speicherinhalten in Speicherblöcken im Hardwaredesign während der Laufzeit, On-Chip-Logikanalyse im FPGA. Fortgeschrittene Konfiguration von Synthese und Simulations-werkzeugen, Methodik der inkrementellen Designabarbeitung (Beibehaltung von Teilblöcken zur Zeiterparnis), Scripting mit TCL/Tk. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Software Development |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Software DevelopmentDie Studierenden erlangen Kenntnisse in der fortgeschrittenen Software-Entwicklung mit Unix-Derivaten und erlernen mittels Hochsprachen auf Embedded Systems zu programmieren. Mit der großen Breite der Optimierungen auf Ebene von Templates sowie den Techniken der aspektorientierten Software-Entwicklung sind die AbsolventInnen ebenfalls vertraut. Advanced Software Development
Neueste Entwicklungen in C++: Neue Sprachfeatures in den letzten Jahren (C++ 11/14/17/…) Fortgeschrittene Entwicklungstechniken in C++: generische Pro-grammierung, partielle Template Spezialisierung, Compile-Time-Programming bzw. Template-Metaprogrammierung, benutzerdefinierte Speicherverwaltung. Erarbeitung der theoretischen Hintergründe und praktische Umsetzung anhand konkreter Anwendungsbeispiele. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compiler-Engineering |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compiler-EngineeringDamit Prozessoren (CPUs) das tun, was wir von ihnen möchten, brauchen sie Anweisungen und Befehle in Maschinencode. Dabei kann jeder einzelne Prozessortyp seinen ganz eigenen Befehlssatz haben oder über spezielle Erweiterungen verfügen. Compiler transformieren den Programmcode einer Programmiersprache wie C oder C++ in diese spezifische Maschinensprache und unterstützen damit diese verschiedenen Plattformen. Eine wirtschaftliche Vorgangsweise, die nebenbei noch Optimierungen für die Ziel-Hardware ermöglicht. Entwickelt man seinen eigenen Prozessor, was im Rahmen dieses Studiums passiert, dann benötigt man einen eigenen Compiler. Diese Lehrveranstaltung vermittelt die nötigen Kenntnisse, die dafür erforderlich sind: Entwicklung von Übersetzern (Compilern) und Linkern bis hin zur systematischen Erzeugung von Binärcode, sowie den Grundzügen der hardware-spezifischen Code-Optimierungstechniken. Compiler-Engineering
Das Ziel der Lehrveranstaltung ist es einen kompletten Compiler zu entwickeln. Die kompilierte Sprache bleibt auf ein Minimum beschränkt und das Parsen der Quellsprache wird durch ein Generierwerkzeug unterstützt. Dazu werden folgende Lehrinhalte benötigt: Grundlegendes aus den Formalen Sprachen (Symbole, Regeln, Grammatiken), reguläre Ausdrücke, reguläre Sprachen, kontextfreie Sprachen, deterministische Erkennung. Lexikalischer Analysator, Syntaxanalysator, Fehlererkennung, Fehlerbehandlung, attributierte Grammatiken, Entwicklung einer Zwischensprache, Binärcode-Erzeugung, Techniken zur Code-Optimierung. |
Wahlfächer
1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Präsenz und Stimme |
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Präsenz und StimmeDie AbsolventInnen erwerben Fähigkeiten und Fertigkeiten, die für das Management von technischen Projekten und deren Präsentation hilfreich sind. In den Lehrveranstaltungen dieses Moduls werden einerseits die maßgeblichen Konzepte und Methoden systematisch erarbeitet, anderseits wird auf deren praktische Umsetzung unter Berücksichtigung aktueller Entwicklungen eingegangen. Gegenstand dieses Moduls sind Management- Praktiken aus den Bereichen Qualität, Personal, Zeit, Produkt und Kosten. Die AbsolventInnen erlangen das nötige Wissen, um selbstständig Industrieprojekte zu führen und nach außen zu präsentieren. Präsenz und Stimme
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requirement Engineering |
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requirement EngineeringDie Absolvent:innen beherrschen Methoden und Techniken zur Erhebung, Analyse, Definition und Management von Anforderungen sowohl im plangetriebenen als auch im agilen Vorgehen. Sie kennen praxiserprobte Techniken, wie Ziele und der Kontext eines geplanten Produktes festlgelegt und Anforderungen passend beschrieben werden (sowohl funktional als auch nicht-funktional). Die Absolvent:innen wissen, wie man Anforderungen in einem agilen Umfeld - orientiert an den tatsächlichen Bedürfnissen der Kunden - erstellt und welche Techniken und Tools dabei eingesetzt werden können. Die Vorlesungsteile werden anhand von konkreten Beispielen praxisnahe geübt. Qualitätsmanagement
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Präsentationstechnik |
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PräsentationstechnikPräsentationstechnik
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Product Development for Emb. Systems |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Product Development for Emb. SystemsDie Studierenden beherrschen die Konzeptionierung und den Entwurf von Produkten aus den Bereichen Elektronik und Software. Sie können die Risiken bei Technologie und Markt einschätzen, die bei einer Produktentwicklung auftreten und beherrschen Controlling und Management über den gesamten Lebenszyklus der Produkte. Product Development for Embedded Systems
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kybernetik |
2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KybernetikDynamik, Komplexität und Vernetzung nehmen immer stärker zu. Sie begünstigen sich gegenseitig und sind zunehmend der Grund für Probleme in vielen Systemen. Mit der Kybernetik gibt es eine eigene Disziplin in den Naturwissenschaften, die sich mit der Beherrschung von Komplexität und ihren Begleiterscheinungen beschäftigt. Die Kybernetik ist die Wissenschaft des Funktionierens. Sie beschreibt mit ihren Naturgesetzen die Basis, die funktionsfähige Systeme - und zwar aller Art (Technik, Wirtschaft, Gesellschaft) - erfüllen müssen. Hier gibt es anerkannte Gesetze wie etwa das Gesetz der erforderlichen Varietät oder auch das Modell des lebensfähigen Systems. Diese Konzepte und Gesetze sind nicht nur in der Informatik und Elektronik bzw. den Embedded Systems gültig, sondern in allen Systemen. Die Kybernetik ist eine Basiswissenschaft, welche der Praktiker kennen muss, wenn er funktionierende Systeme entwickeln möchte. Deshalb lohnt sich die Beschäftigung mit der Kybernetik über diese Veranstaltung hinaus. Kybernetik
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Philosophie u. Wissenschaftstheorie |
2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Philosophie u. WissenschaftstheoriePhilosophie und Wissenschaftstheorie
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Management und Wirtschaft |
2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Management und WirtschaftDie AbsolventInnen erwerben Fähigkeiten und Fertigkeiten, die für das Management von technischen Projekten und deren Präsentation hilfreich sind. In den Lehrveranstaltungen dieses Moduls werden einerseits die maßgeblichen Konzepte und Methoden systematisch erarbeitet, anderseits wird auf deren praktische Umsetzung unter Berücksichtigung aktueller Entwicklungen eingegangen. Gegenstand dieses Moduls sind Management- Praktiken aus den Bereichen Qualität, Personal, Zeit, Produkt und Kosten. Die AbsolventInnen erlangen das nötige Wissen, um selbstständig Industrieprojekte zu führen und nach außen zu präsentieren. Management und Wirtschaft
|
Kontakt
E-MailE esd@fh-hagenberg.at
TelefonT +43 5 0804 22400