I'm writing a signal processing software in CVI. I've got a signal, transmitted to the computer via USB at a very high speed (~50K). I want to filter it in RT. In order to do it I created a filter in Simulink and turned it into a C code, which I run in CVI using:
- FuncName_initialize()
- FuncName.in
- FuncName_step()
- FuncName.Out
The thing is that after a while (about 5-7 min) the filter works wrongly... Meaning showing inaccurate results and artifacts. I believe this is a result of using it too fast (because I used it before at lower speeds and this was fine).
Any suggestions on what might be the problem? How can I implement a RT filter in CVI directly (meaning a one that get one point at the input and gets one point in the output while maintaining some window).
I know that the data transmitted just fine at this speed since recording the signal works OK, and showing the raw data on screen works OK as well.
Thank you