I have been working for quite a while now trying to create an FPGA program that takes in data and performs trapezoidal filtration on it. So far I have been able to create a basic GitHub repository that has start-to-finish instructions for making a development machine, generating a block design using a .tcl script, and running everything through the built-in Jupyter Notebook. In essence, a simulated exponentially decaying signal is filtered, and the necessary value from the filter is read by the Notebook program via the GPIO interface as in the Frequency Counter project.
This is a great step, but I would ultimately like to have this GPIO output in conjunction with a graph of the wave displayed using MatPlotLib. I asked this question similarly before (here), but I ultimately did not have much success trying to use Pavel's Alpine system, and I would generally like my program to work on the Red Pitaya OS for simplicities sake. I have done a little compiling of potential solutions that I would like some input on:
- I have tried looking through the RP Python Examples, but these seem to require I use an SCPI server which I am not sure I can run custom block designs on.
- I also looked through the Jupyter examples but these seem (I say seem as it is not explicitly stated) to require I use the "Classic", "v0.94", or "Mercury" FPGA programs which I am not sure I can add my filters to.
- Have one RP take in the signal and perform the filtering and then pass it to another that collects and displays the data using an SCPI server with the Instant Signal Acquisition Python code
- Somehow use Pavel's AXI4 Hub and its Python/C dependencies within the built-in Jupyter Notebook (or SCPI server).
Thank you in advance.