Für viele IoT-Sensormessanwendungen ist ein IIR- oder FIR-Filter nur eine der vielen Komponenten, die für einen Algorithmus benötigt werden. Dabei kann es sich um einen Powerline Interference Canceller für eine biomedizinische Anwendung oder sogar um einen einfacheren DC-Wägezellenfilter handeln. In vielen Fällen ist es notwendig, einen Filter in einen kompletten Algorithmus in einem anderen Bereich zu integrieren. Der automatische Codegenerator des ASN Filter Designers vereinfacht den Export nach Python erheblich.

Python ist eine sehr beliebte allgemeine Programmiersprache mit Unterstützung für numerische Berechnungen, die den Entwurf von Algorithmen und die Durchführung von Datenanalysen ermöglicht. Die numpy– und signal-Zusatzmodule der Sprache versuchen, die Lücke zwischen numerischen algorithmischen Sprachen wie Matlab und traditionelleren Programmiersprachen wie C/C++ zu schließen. Daher ist sie für erfahrene Programmierer, die mit den Datentypen, der Syntax und der Funktionalität von C/C++ vertraut sind, viel attraktiver als die Skriptsprache von Matlab, die sich eher an Mathematiker richtet, die algorithmische Konzepte entwickeln.

ASN Filter Designer – automatischer Codegenerator für Python

Der ASN Filter Designer vereinfacht den Export eines entworfenen Filters nach Python durch seinen automatischen Codegenerator erheblich. Der Code-Generator unterstützt alle Aspekte des ASN Filter Designers, so dass ein komplettes Design, bestehend aus H1, H2 und H3 Filtern und mathematischen Operatoren, vollständig in einen Algorithmus in Python integriert werden kann.

Der Python-Code-Generator kann über die Optionen für die Filterzusammenfassung aufgerufen werden (wie rechts dargestellt). Wenn Sie diese Option auswählen, wird automatisch eine Python .py-Datei auf der Grundlage der aktuellen Entwurfseinstellungen generiert.

Wenn Sie diese Option auswählen, wird automatisch eine Python .py-Datei auf der Grundlage der aktuellen Entwurfseinstellungen generiert.

Um den generierten Code in einem Python-Projekt verwenden zu können, werden die folgenden zwei Framework-Dateien im ASN Filter Designer Installationsverzeichnis im Verzeichnis \Python zur Verfügung gestellt:

ASNFDFilterData.py
ASNFDImport.py

Eine bequeme Verknüpfung zu den relevanten Framework-Dateien und Beispielen ist in der Filter-Symbolleiste über das Ordnersymbol verfügbar

Eine bequeme Verknüpfung zu den relevanten Framework-Dateien und Beispielen ist in der Filter-Symbolleiste über das Ordnersymbol verfügbar (siehe links).

Mit Hilfe der beiden Framework-Dateien können Sie eine Demo Ihrer Wahl auf der Grundlage der exportierten Filter-Spezifikationen erstellen. Das Framework unterstützt sowohl reelle als auch komplexe Filter nur in Fließkommazahlen und basiert auf ASN-IP-Blöcken und nicht auf dem signal Modul von Python, das mit der Verwaltung komplexer Daten Schwierigkeiten hatte. Um die Entwicklung von Algorithmen mit dem Framework zu beschleunigen, werden die folgenden drei Demos bereitgestellt:

ASNFDPythonDemo: Hauptdemo-Datei mit verschiedenen Beispielen
RMSmeterDemo: Eine Demo zur Messung der RMS-Amplitude der Stromleitung
EMGDataDemo: Eine biomedizinische EMG-Demo mit HPF, 50Hz Kerbfilter und Mittelwertbildung

Diese Framework-Dateien benötigen die folgenden Python-Abhängigkeitsmodule:

matplotlib.pyplot
numpy

Ein Beispiel für den generierten Code zur Verwendung mit dem ASNFD-Python-Framework ist unten dargestellt.

ASN Filter Designer automatische Codegenerierung Python

Wie Sie sehen, ist es so einfach wie das Kopieren und Einfügen der Filterkoeffizienten aus der Filterzusammenfassung des ASN Filter Designers in ein Python-Projektskript.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *