Warum Python?

 Seit 2012 setzen wir zunehmend Python im Labor Schaltungstechnik für Lehre und Entwicklung ein:

  • Einfach zu erlernen und klar strukturiert, Matlab Code lässt sich meist leicht portieren
  • Open Source, daher keine Lizenzprobleme auch beim Einsatz in Forschungs- und Drittmittelprojekten
  • Programmiersprache #1 für Scientific Computing in der Open Source Community
  • Jupyter-Notebooks : Interaktive Dokumente mit Live-Code können auf einem Server oder dem eigenen Computer bearbeitet werden. steht eine leistungsfähige Umgebung für web-based Computing zun
  • Professionelle Widgetlibraries (Qt, GTK) zur Entwicklung von Applikationen
  • Gut geeignet zur Automatisierung von Messtechnik, in diesem Zusammenhang ist Python auch in der Industrie weit verbreitet
  • "Muttersprache" des Raspberry Pi


Beispiel für Python Simulationsplot

In einem hochschulinternen Workshop (Folien) habe ich eine kleinen Überblick über Python für wissenschaftliche Anwendungen gegeben. Mehr Infos speziell zum Umstieg von Matlab zu Python finden Sie im PDF (Jan. 2017, 143 S., 4,3 MB).

pyFDA: Interaktives Filterdesign

pyFDA ist ein Open-Source Projekt von mir für die interaktive Analyse und den Entwurf von zeitdiskreten Filtern.

 Screenshot des pyFDA tools

pyFDA Screenshot

Python in der Lehre

Die Lehrveranstaltung "Digitale Signalverarbeitung auf FPGAs" ist noch "zweisprachig" (Python und Matlab), neuen Code entwickle ich allerdings nur noch in Python, wenn möglich als Jupyter - Notebook.

Wir haben im Labor einige PYNQ-Boards für Vorlesungen und Labor; FPGA-Evalboards mit Linux-Betriebssystem, auf denen ein Jupyter-Server läuft: Laptop anstöpseln und man kann im Browser Jupyter Notebooks bearbeiten und auf die Hardware zugreifen.


PYNQ-Board, (c) Xilinx

Auch in der von mir mitbetreuten Lehrveranstaltung "Akustik" werden Jupyter-Notebooks zum Einsatz zu kommen, um interaktiv mit Sounds und Musik zu arbeiten.

 

Python in der Forschung

Für die Übertragung von digitalen Audio-Streamingsignalen entwickeln wir Methoden zur asynchronen Abtastratenwandlung (Asynchronous Sample Rate Conversion, ASRC) und simulieren / visualisieren mit Python.

Ein neues Thema ab dem WS 2017/2018 ist Spatial Audio.

Außerdem verwenden wir Python zur Steuerung unser Labor-Messtechnik und zur Kommunikation mit den von uns entwickelten Geräten.