CVI で信号処理ソフトウェアを作成しています。USB経由で非常に高速(〜50K)でコンピューターに送信される信号があります。RTでフィルタリングしたい。それを行うために、Simulink でフィルターを作成し、それを C コードに変換して、CVI で実行します。
- FuncName_initialize()
- FuncName.in
- FuncName_step()
- FuncName.Out
問題は、しばらくすると (約 5 ~ 7 分) フィルターが正しく機能しないことです...つまり、不正確な結果とアーティファクトが表示されます。これは、速度が速すぎた結果だと思います (以前は低速で使用していたので問題ありませんでした)。
何が問題なのかについて何か提案はありますか? CVI で RT フィルタを直接実装するにはどうすればよいですか (ウィンドウを維持しながら、入力で 1 ポイントを取得し、出力で 1 ポイントを取得するものを意味します)。
信号の記録は正常に機能し、生データを画面に表示することも正常に機能するため、この速度でデータが正常に送信されることはわかっています。
ありがとうございました