如何将软实时数据从Matlab流式传输到C#应用程序?

时间:2016-06-11 15:16:12

标签: c# .net matlab synchronisation

我目前正在使用Matlab从使用特定工具箱的眼动仪中获取数据。之后,必须稍微处理数据流并将其发送到C#应用程序(.NET框架)。整个数据流必须尽可能多的实时(采集和处理的数据不超过30毫秒)。

我需要一种方法来连接从Matlab和C#应用程序获取的数据。我正在考虑使用文本文件,但在这种情况下,写入和读取操作之间应该存在同步。有没有方法可以将Matlab I / O操作与C#I / O操作同步?

1 个答案:

答案 0 :(得分:1)

我可以提出三种方法:

  1. 将基于文件的同步与标志文件一起使用。使用一个文件 数据和另一个文件,表明数据已准备就绪 读。读取数据文件后删除标志文件。这很简单 实现并不需要任何额外的Matlab工具箱,但在尝试实现高数据速率或高速/低延迟同步时可能存在问题。您基本上必须尝试它,看看它是否适用于您的硬件。
  2. 将您的Matlab程序编译成可以使用的库(.dll) 从您的C#应用​​程序调用。那你只有一个应用程序。使用MATLAB Compiler SDK 此。
  3. 使用TCP套接字在两个程序之间进行通信。 这样可以让两个程序继续运行 不同的计算机,它也可以在同一台计算机上运行。一个 Matlab示例给出了here