许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Android时间戳与Matlab时间戳处理方法

Android时间戳与Matlab时间戳处理方法

阅读数 6
点赞 0
article_banner

打开数据库文件

打开数据库文件以访问定义。

db = canDatabase('VehicleInfo.dbc')

db =

Database with properties:

Name: 'VehicleInfo'

Path: '/tmp/Bdoc20b_1465442_10047/tpa1ee4007/ex13648766/VehicleInfo.dbc'

Nodes: {}

NodeInfo: [0x0 struct]

Messages: {'WheelSpeeds'}

MessageInfo: [1x1 struct]

Attributes: {'BusType'}

AttributeInfo: [1x1 struct]

UserData: []

创建 CAN 通道

创建可用于发送和接收信息的 CAN 通道。

txCh = canChannel('MathWorks','Virtual 1',1)

rxCh = canChannel('MathWorks','Virtual 1',2)

rxCh.Database = db;

txCh =

Channel with properties:

Device Information

DeviceVendor: 'MathWorks'

Device: 'Virtual 1'

DeviceChannelIndex: 1

DeviceSerialNumber: 0

ProtocolMode: 'CAN'

Status Information

Running: 0

MessagesAvailable: 0

MessagesReceived: 0

MessagesTransmitted: 0

InitializationAccess: 1

InitialTimestamp: [0x0 datetime]

FilterHistory: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

Channel Information

BusStatus: 'N/A'

SilentMode: 0

TransceiverName: 'N/A'

TransceiverState: 'N/A'

ReceiveErrorCount: 0

TransmitErrorCount: 0

BusSpeed: 500000

SJW: []

TSEG1: []

TSEG2: []

NumOfSamples: []

Other Information

Database: []

UserData: []

rxCh =

Channel with properties:

Device Information

DeviceVendor: 'MathWorks'

Device: 'Virtual 1'

DeviceChannelIndex: 2

DeviceSerialNumber: 0

ProtocolMode: 'CAN'

Status Information

Running: 0

MessagesAvailable: 0

MessagesReceived: 0

MessagesTransmitted: 0

InitializationAccess: 1

InitialTimestamp: [0x0 datetime]

FilterHistory: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

Channel Information

BusStatus: 'N/A'

SilentMode: 0

TransceiverName: 'N/A'

TransceiverState: 'N/A'

ReceiveErrorCount: 0

TransmitErrorCount: 0

BusSpeed: 500000

SJW: []

TSEG1: []

TSEG2: []

NumOfSamples: []

Other Information

Database: []

UserData: []

创建 CAN 报文

您可以创建要在网络上发送的 CAN 报文。

msg = canMessage(db,'WheelSpeeds')

msg =

Message with properties:

Message Identification

ProtocolMode: 'CAN'

Ihttps://www.gofarlic.com 1200

Extended: 0

Name: 'WheelSpeeds'

Data Details

Timestamp: 0

Data: [0 0 0 0 0 0 0 0]

Signals: [1x1 struct]

Length: 8

Protocol Flags

Error: 0

Remote: 0

Other Information

Database: [1x1 can.Database]

UserData: []

启动 CAN 通道

要开始使用通道进行传输和接收操作,请将它们置于在线状态。

start(rxCh)

start(txCh)

发送 CAN 报文

transmit 函数将报文发送到网络上。使用 pause 延迟传输。更新每次传输的信号数据。

msg.Signals.LF_WSpeed = 10;

transmit(txCh,msg)

pause(1);

msg.Signals.LF_WSpeed = 20;

transmit(txCh,msg)

pause(2);

msg.Signals.LF_WSpeed = 30;

transmit(txCh,msg)

pause(3);

msg.Signals.LF_WSpeed = 40;

transmit(txCh,msg)

pause(1);

msg.Signals.LF_WSpeed = 50;

transmit(txCh,msg)

接收 CAN 报文

receive 函数从网络上进行报文传输的通道中检索信息。

stop(rxCh)

stop(txCh)

msgRx = receive(rxCh,Inf,'OutputFormat','timetable')

msgRx =

5x8 timetable

Time ID Extended Name Data Length Signals Error Remote

____________ ____ ________ _______________ ___________ ______ ____________ _____ ______

0.017411 sec 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

1.0272 sec 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

3.0324 sec 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

6.0464 sec 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

7.0482 sec 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

检查信号数据

查看收到的报文的详细信息,包括时间戳值和信号值。请注意,时间戳值是相对于 CAN 通道启动时间的值。

signalTimetable = canSignalTimetable(msgRx)

plot(signalTimetable.Time,signalTimetable.LF_WSpeed,'x')

title('Signal Data with Relative Time','FontWeight','bold')

xlabel('Relative Timestamp')

ylabel('Signal Value')

ylim([0 60])

signalTimetable =

5x4 timetable

Time LR_WSpeed RR_WSpeed RF_WSpeed LF_WSpeed

____________ _________ _________ _________ _________

0.017411 sec -100 -100 -100 10

1.0272 sec -100 -100 -100 20

3.0324 sec -100 -100 -100 30

6.0464 sec -100 -100 -100 40

7.0482 sec -100 -100 -100 50

12fec8a74b30ee299c6d53bc4ab69f87.png

检查 InitialTimestamp 属性

查看 CAN 接收通道的 InitialTimestamp 属性。它是日期时间值,是通道启动时的绝对时间。

rxCh.InitialTimestamp

ans =

datetime

24-Aug-2020 19:45:06

使用绝对时间戳分析数据

结合使用每个报文的相对时间戳和 InitialTimestamp 属性,将绝对时间值应用于每个报文或其中包含的信号。

msgRx.Time = msgRx.Time + rxCh.InitialTimestamp

signalTimetable = canSignalTimetable(msgRx)

figure

plot(signalTimetable.Time,signalTimetable.LF_WSpeed,'x')

title('Signal Data with Absolute Time','FontWeight','bold')

xlabel('Absolute Timestamp')

ylabel('Signal Value')

ylim([0 60])

msgRx =

5x8 timetable

Time ID Extended Name Data Length Signals Error Remote

____________________ ____ ________ _______________ ___________ ______ ____________ _____ ______

24-Aug-2020 19:45:06 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

24-Aug-2020 19:45:07 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

24-Aug-2020 19:45:09 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

24-Aug-2020 19:45:12 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

24-Aug-2020 19:45:13 1200 false {'WheelSpeeds'} {1x8 uint8} 8 {1x1 struct} false false

signalTimetable =

5x4 timetable

Time LR_WSpeed RR_WSpeed RF_WSpeed LF_WSpeed

____________________ _________ _________ _________ _________

24-Aug-2020 19:45:06 -100 -100 -100 10

24-Aug-2020 19:45:07 -100 -100 -100 20

24-Aug-2020 19:45:09 -100 -100 -100 30

24-Aug-2020 19:45:12 -100 -100 -100 40

24-Aug-2020 19:45:13 -100 -100 -100 50

952a18753bf5e9888f42f6722177ddf5.png


 相关资源:Simulink:Timer-Counter:Simulink实现一个简单的计时器/计数器...
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空