Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Convenient ways to add a signal processing layer to a C++ program?
1 point by NwtnsMthd on Aug 4, 2020 | hide | past | favorite
We have an application written in C++ / Qt that processes data stream and displays the processed and decoded data to the user. The concept is basically:

    Signal -> Filter(s) -> Decoder -> Display
So far all of the filtering can be represented by a typical IIR filter structure. This is relatively convenient as we simply treat the data as a stream, one sample goes in, one comes out. We can string an arbitrary number of filters together.

Recently we've started implementing more complex filters, these are prototyped in Python using Jupyter Notebooks (Numpy, SciPy, the usual suspects). Writing C callable Python or Python callable C is relatively easy, my main concerns are

    1. Speed of execution
    2. Difficulty in deployment (fresh installs / updates)
The options we've been able to think of so far are:

    1. Deploy the filters written in Python and maintain the Python environment
    2. Translate Python into native C++
    3. Translate Python to Matlab and use it to generate C++
    4. Translate Python to Cython then compile to a DLL called by the main program
None of the options are particularly inviting. Has anyone been able to solve a similar problem?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: