我正在用 CVI 编写信号处理软件。我有一个信号,通过 USB 以非常高的速度(~50K)传输到计算机。我想在 RT 中过滤它。为了做到这一点,我在 Simulink 中创建了一个过滤器并将其转换为 C 代码,我在 CVI 中使用以下代码运行:
- FuncName_initialize()
- 函数名.in
- FuncName_step()
- 函数名输出
问题是一段时间后(大约 5-7 分钟),过滤器工作错误......意味着显示不准确的结果和伪影。我相信这是因为使用速度太快(因为我之前以较低的速度使用过它,这很好)。
关于可能是什么问题的任何建议?如何直接在 CVI 中实现 RT 过滤器(意思是在输入获得一个点并在输出中获得一个点,同时保持一些窗口)。
我知道以这种速度传输的数据很好,因为记录信号工作正常,并且在屏幕上显示原始数据也工作正常。
谢谢