For many IoT sensor measurement applications, an IIR or FIR filter is just one of the many components needed for an algorithm. This could be a powerline interference canceller for a biomedical application or even a simpler DC loadcell filter. In many cases, it is necessary to integrate a filter into a complete algorithm in another domain. ASN Filter Designer’s automatic code generator greatly simlifies exporting to Python.
Python is a very popular general-purpose programming language with support for numerical computing, allowing for the design of algorithms and performing data analysis. The language’s numpy
and signal
add-on modules attempt to bridge the gap between numerical algorithmic languages, such as Matlab and more traditional programming languages, such as C/C++. As such, it is much more appealing to experienced programmers, who are used to C/C++ data types, syntax and functionality, rather than Matlab’s scripting language that is more aimed at mathematicans developing algorithmic concepts.
ASN Filter Designer automatic code generator for Python
The ASN Filter Designer greatly simplifies exporting a designed filter to Python via its automatic code generator. The code generator supports all aspects of the ASN Filter Designer, allowing for a complete design comprised of H1, H2 and H3 filters and math operators to be fully integrated with an algorithm in Python.
The Python code generator can be accessed via the filter summary options (as shown on the right). Selecting this option will automatically generate a Python .py
design file based on the current design settings.
Version 5 of the tool has a completely revamped filter summary UI, and now includes built in AI to analyse the filter cascade for any potential problems.
The project wizard bundles all of the necessary SDK framework files needed to run the designed filter cascade without the need for any other dependencies or 3rd party plugins.
The framework supports both Real and Complex filters in floating point only, and is built on ASN IP blocks, rather than Python’s signal
module, which was seen to struggle with managing complex data. Thus, in order to expedite algorithm development with the framework, the following three demos are provided:
ASNFDPythonDemo
: main demo file with various examplesRMSmeterDemo
: An RMS amplitude powerline meter demoEMGDataDemo
: An EMG biomedical demo with a HPF, 50Hz notch filter and averaging
An example of the summary of all of generated files (including the framework files) is shown below.
These files can be used directly in your Python project.