声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4483|回复: 3

[LabView] labview保存数据的一些疑问。

[复制链接]
发表于 2008-1-8 19:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我想把在labview中保存的波形数据读出,然后保存到一个二进制的文件中,再从matlab中读取该二进制文件。
现在遇到问题是:matlab读取的数据好像很不正确。不知道那里错误,希望各位朋友能帮帮我。下面是LABVIEW保存二进制数据的框图和matlab读取二进制的程序。

保存二进制文件程序

保存二进制文件程序

matlab读取程序如下。
fid=fopen('BinaryFile.dat','r');
%以uchar读取数据
x=fread(fid,'uchar');
fclose(fid);
x=flipud(x);%倒序
fid=fopen('matlab1.dat','w');
fwrite(fid,x);
fclose(fid);
%以float读取数据
fid=fopen('matlab1.dat','r');
y=fread(fid,'float');
fclose(fid);
y=flipud(y);%转置
fid=fopen('matlab.dat','w');
fwrite(fid, y, 'float');
fclose(fid);
%转换结束,Matlab.bat即可以供Malab使用
data_fname = 'matlab.dat'; % 这里是文件名
file_id=fopen(data_fname, 'rb');
[row_array, ele_count] = fread(file_id,inf,'float',0,'ieee-le');
fclose(file_id);% 关闭文件
plot(row_array);
得到的图是

matlab得到的图

matlab得到的图

好像Y的值很大很大,是不是数据类型问题。labveiw保存二进制的时候保存的是单精度的浮点类型。接触labview和matlab并不多,所以希望
得到各位朋友的帮组。matlab数据转换部分是网上一个大侠写的,我借用了下。
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-1-9 14:37 | 显示全部楼层
各位大侠都提提意见或者想法么。。。。
 楼主| 发表于 2008-1-9 17:06 | 显示全部楼层
经过一下午的尝试,该问题已经解决。原因其实就是把数据读入一个矩阵的时候,矩阵设置的太小,不足以容纳那么多数据,只要把矩阵大小该大即可。labview中波形如下图:

labview采集到的波形,有些失真,呵呵

labview采集到的波形,有些失真,呵呵

用matlab读出后如下所示:

matlab得到的波形

matlab得到的波形

应该是完整的读取了labview中保存的数据。
发表于 2010-4-1 16:49 | 显示全部楼层

正好在研究该内容

多谢楼主了,最近正好在研究这个问题
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 08:59 , Processed in 0.076824 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表