使用matlab里面的demo,用UDP发送电流/电压的实时数据。c#接收数据并做实时分析实际编程后发现,c#接收数据跟分析运算的速度太慢。50Hz的正弦波,每周期采样20个点,就是每1ms采样一次;每接收到500个点进行一次FFT运算(补12个0).matlab发送100s的采样信号,c#显示只进行了10次FFT运算。理想情况下应该是进行200次运算....每个周期采样20个点本身已经算少了,但这种情况下都来不及处理。请问是c#本身不适合进行这种高频率的实时运算分析吗?有没有什么办法能解决?
调试欢乐多
我用千兆网卡抓包,满负荷复制文件,做即时统计数据流量分析,在低端双核机上,c#的效率还是可以的,没有丢包现象。
或者检查一下你的程序结构,这种实时性要求比较高的场合,要求使用比较效率高的数据结构,如Dictionary的键值查找效率远高于List的IndexOf,前者基于Hash,后者基于循环。
我那是10ms采集一次,进行分析计算,显示,存贮,并网络传输到主站
没有任何问题
楼主继续研究自己的代码吧
请你先用matlab写一遍,再用.net来写。