请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

52matlab技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 99|回复: 0

一个数据转换程序

[复制链接]
  • TA的每日心情
    开心
    2015-3-12 11:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    63

    主题

    116

    帖子

    904

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    904
    发表于 2017-10-30 20:40:56 | 显示全部楼层 |阅读模式
    本帖最后由 matlab的旋律 于 2017-11-6 09:50 编辑

    一个数据转换程序
    clear all
    close all
    clc

    fid = fopen('shuju.txt');
    x_data = [];
    y_data = [];
    z_data = [];
    while ~feof(fid)
        read_str = fgetl(fid);
        str_index = strfind(read_str,'app:f5');
        if ~isempty(str_index)
            proc_str = read_str(30:end);
            x_str = [proc_str(1:4);proc_str(13:16);proc_str(25:28)];
            y_str = [proc_str(5:8);proc_str(17:20);proc_str(29:32)];
            z_str = [proc_str(9:12);proc_str(21:24);proc_str(33:36)];
            x_data = cat(1,x_data,hex2dec(x_str));
            y_data = cat(1,y_data,hex2dec(y_str));
            z_data = cat(1,z_data,hex2dec(z_str));
        end
    end
    xx_data = Nosysmbol2Sysmbol(x_data,16);
    yy_data = Nosysmbol2Sysmbol(y_data,16);
    zz_data = Nosysmbol2Sysmbol(z_data,16);
    dlmwrite('result.txt',[xx_data,yy_data,zz_data]*4)

    function SysData = Nosysmbol2Sysmbol(NosysData,Bit)

    SysData = NosysData;
    for k = 1:length(NosysData)
        if NosysData(k) > 2^(Bit - 1)
            SysData(k) = -(2^Bit - NosysData(k));
        else
            SysData(k) = NosysData(k);
        end
    end
    其中对应的数据包格式如图所示


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|52matlab技术论坛    

    GMT+8, 2018-2-26 09:51 , Processed in 0.502101 second(s), 30 queries .

    Powered by Discuz! X3.2 Licensed

    © 2001-2013 Comsenz Inc.

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