Запуск фильтра на высокой скорости
Я пишу программное обеспечение для обработки сигналов в CVI. У меня есть сигнал, переданный на компьютер через USB на очень высокой скорости (~50K). Я хочу отфильтровать его в RT. Для этого я создал фильтр в Simulink и превратил его в код C, который я запускаю в CVI, используя:
- FuncName_initialize ()
- FuncName.in
- FuncName_step ()
- FuncName.Out
Дело в том, что через некоторое время (около 5-7 минут) фильтр работает некорректно... Имеется в виду отображение неточных результатов и артефактов. Я считаю, что это результат слишком быстрого его использования (потому что раньше я использовал его на более низких скоростях, и это было нормально).
Любые предложения о том, в чем может быть проблема? Как я могу реализовать RT фильтр непосредственно в CVI (имеется в виду тот, который получает одну точку на входе и получает одну точку на выходе при сохранении некоторого окна).
Я знаю, что данные, передаваемые с такой скоростью, просто отлично, так как запись сигнала работает нормально, и показ необработанных данных на экране также работает нормально.
Спасибо