1

バイナリ データを matlab にインポートしたいと思います。I バイナリ データの仕様:


最初のバイト: パッケージの開始 2 番目のバイト: コマンド値

コマンドデータ: (構成:)

データ形式:

"%1B(時間)%1B(分)%4 F(Seconds)%4F(NormAccelX)%4F(NormAccelY)%4F(NormAccelZ)%4F(OrientPitch)%4F(OrientYaw)%4F(OrientRoll)%4F(UOrientPitch)%4F(UOrientYaw)%4F(UOrientRoll)%4F(GyroX)%4F(GyroY)%4F(GyroZ)%4U(ChipTimeMS)%4U(ChipTimeMS)%4F(RawGyroX)%4F(RawGyroY)%4F(RawGyroZ)%4F(RawAccelX)%4F(RawAccelY)%4F(RawAccelZ)"

最終バイト: チェックサム (最初を除く他のすべてのバイトの合計)

データはビッグエンディアン形式で保存!


ここで、Matalab の配列にデータを読み込みたいと思います。以下に、ファイルの最初の数行を示します。データは IMU の出力です。

助けていただければ幸いです。前もって感謝します!!!


 B[Ý=:„œ>YÃd¿yßa¿æc@
Wu¼ï1š¿æƒh¾ÿœr½O„e½ <[¼"!­O¹›O¹¢À   ¿€  ¿€  D†  Em  Æt   B[êQ=+^P>[,¿yÖ†¿æʳ@
;>¼÷¿æì4¿ ??½St'½6¥ñ<»¼r2OOêIOêPÁP  @À  À   D|  En  Æs€  B[÷= T>T™¿z8Í¿æÄw@
6â¼õk‹¿ææ'¿ P±½RŸV½T¬-;Ô,¼µ% PéPðÁ˜  À@  Á0  Dp  Eg  ÆsÀ  B\’=DÑ>X¦ø¿y玿æÃÖ@
4¼õŽ°¿æ妿 \    ½R°˜½1¤æ<·&¼ƒ<PF‘PF˜Á@  A   ÀÀ  DŠ  Ej  Ær   B\L=>®m>Vi¿z¿æ¼|@
0ȼõ¢’¿æÞp¿ i½Rºc½O«#<Á(¼r2OPwPw"Á  A0  À   Dˆ  Ei  Æt   B\=B>Z%e¿yÓÜ¿æ´%@
.¼õ¾¿æÖ8¿ t½Rk9½r²k<·&¼r2OP§¤P§«ÁÈ  A   À   DŠ  Em  Æs€  B\(Æ=0[>[¿yÔ†¿æ®ù@
*¼ôºº¿æÑ1¿ ‚&gt;½RF½Jª<»¼"!­PØMPØTÁˆ  @À  ¿€  D€  Em  Ær€  B\5=E¾
>W[Æ¿yø¿æªÚ@
'9¼ôt0¿æÍ6¿ ]½R"Œ½;¦û<b.ü¼«#ŒQÜQãÁ`  @@  Á   DŒ  Ek  Æt   B\B9=E¸å>[R¨¿yÀî¿æ¬#@
"V¼õc¿æε¿ ¢ò½Rtì½E©<N*Ô¼É)ÉQ9cQ9iÁ€  @   ÁP  DŒ  Eo  Æt@  B\Oi=Z;Ö>W|à¿yåA¿æ¬Â@
“¼öš¿æÏŠ¿ ¶½S4Ù½Y­7<­#÷¼¡!xQk±Qk·Á   A  Á  D–  Ej  Æs@  B\\ =BW5>ZÙ¶¿yÊ8¿æ±Å@
ó¼÷ ¿æÔµ¿ Ä‹½Sw ½^®B<é0p¼«#ŒQœ0Qœ6Á¨  Ap  Á   DŠ  En  ÆsÀ  B\hØ=Eæ(>U‡ï¿z
¿æ¬@
Þ¼÷”û¿æÏ&amp;¿ Ðâ½S±Õ½,£Ü;Ô,»ô2ºQÌ´QÌ»Á0  À@  ?€  DŒ  Ei  Æt   B\u•=MÅÝ>T®G¿zH¿æ¥Ÿ@
¼øbó¿æÈÏ¿ Ü%½Tœ½@¨;8&B¼J)þQýMQýTÁp  ÀÀ  À@  D  Eh  Æt€  B\‚M=:(£>Ocù¿zl°¿æ \@
¼ù9¿æè¿ æ+½Tn½Jª<­#÷¼¡!xR-ÒR-ØÁˆ  A  Á  D†  Ec  Æu€  B\ˆ=M™à&gt;Q‡_¿z@û¿æœ@
¨¼ùec¿æÀ¿ ùƽT™`½O«#<»¼Ý-ñR`IR`PÁ  @À  Áp  D  Ee  Æu   B\œ?=L:G>Z’¿yÍS¿æ™¨@
5¼ú®,¿æ½Z¿™½U=u½Jª<·&¼µ% RÌRÒÁˆ  A   Á0  DŽ  Ek  Æq`  B\¨ø=3Q¼>Xc<¿y÷Å¿æ•é@
;¼úå¿æ¹¼¿ƒ½Tè½O«#<N*Ô¼^.&RÁSRÁZÁ  @   À€  D‚  Ek  Æs€  B\µ²=8
¢>UQ¿zŽ¿æŽ@
 Ö¼øÌÁ¿æ²¿)½TL5½O«#:Ð+@¼Ý-ñRñÞRñåÁ  Àà  Áp  D„  Eg  ÆrÀ  B\Âm=.í^>WǺ¿zH¿æŒ6@   ü”¼÷‡Ë¿æ°i¿:!½S©j½w³u=œ`¼ƒ<S"nS"tÁÐ  A˜  ÀÀ  D€  Ek  Æt@  B\Ï(=>[Î>S½¿z/G¿æ‹J@  ÷Ǽ÷"_¿æ¯°¿MY½Svo½^®B=Ÿ¼¡!xSSSSÁ¨  A°  Á  Dˆ  Eg  Æt   B\Üc=0oD>S‚F¿z<™¿æ‰E@    ô]¼÷(À¿æ­Ò¿[½SyD½Jª<Õ,H¼^.&S…zS…€Áˆ  AP  À€  D€  Ee  ÆrÀ  B\é,=4T„&gt;Z’¿yؤ¿æ‰µ@  ïì¼õxý¿æ®r¿lǽR¡½|´<…¦¼PS¶=S¶CÁØ  @   Àà  D‚  El  Ær   B\õë=>iã>VÊâ¿z“¿æˆú@ 쌼óÖn¿æ­Ü¿zD½QÏ–½w³u<b.ü¼^.&SæÛSæâÁÐ  @@  À€  Dˆ  Ej  Æt@  B]¢='0¸>\Îs¿yÂT¿æ†t@    éT¼ó•…¿æ«y¿‡*½Q®å½^®B<£!ã¼…T_TfÁ¨  A       Dx  Ep  ÆsÀ  B]^=3ÔÞ>V÷ê¿z
þ¿æ†¼@  å×¼óN¿æ«è¿• ½QŠñ½Jª<v3%¼—eTGñTG÷Áˆ  @€  Á   D‚  Ei  Æs   B]='m>Tê¿z;r¿æú@   áͼñØU¿æ§R¿¥G½PÏýT¬-<[¼PTxnTxuÁ˜  ¿€  Àà  Dx  Eg  Æt`  B])P==yá>[¾Ÿ¿yÁe¿æ‚þ@   Ý‹¼òÙA¿æ¨†¿¶T½QOá½T¬-<£!㼡!xTªéTªïÁ˜  A   Á  Dˆ  Ep  Ætà  B]6=B5>S¸]¿z,“¿æW@   Ú¤¼òßp¿æ¦þ¿Á÷½QRÒ½O«#<:&¬¼r2OTÛ…TÛŒÁ  ?€  À   DŠ  Eg  Æt   B]BÍ=E|>T¿z$Ç¿æ±@    Õ"¼òèô¿æ¥•¿Ø½QW,½@¨<»¼PU%U,Áp  @À  Àà  DŒ  Eh  Æu@  B]O‰=>ú>U\ë¿zt¿æ}@  ÐÞ¼ò»î¿æ£°¿é½Q@T½h°V<N*Ô¼É)ÉU<¸U<¿Á¸  @   ÁP  Dˆ  Ei  Ætà  B]\I=B*Ö>Q¯¨¿zH ¿æ}–@    Ëê¼òîU¿æ£Þ¿üë½QY6½m±a<Õ,H¼Ó+ÝUm[UmbÁÀ  AP  Á`  DŠ  Ee  Ætà  B]i==_=>U¨í¿zâ¿æz¨@ Èð¼ñ°r¿æ¡¿Ï½Pº
½@¨<Ë*4¼«#ŒUüUžÁp  A@  Á   Dˆ  Ej  Æu   B]v?=B§2>R1?¿z@Õ¿æw–@   Ã¥¼ò_ä¿æž:¿½QU½T¬-;¬#ür2OUÐbUÐiÁ˜  À€  À   DŠ  Ee  Æt@  B]‚ù=>
2>We`¿yýŠ¿æt@   À¨¼ò8^¿æš×¿)ü½PýR½;¦û<&"ƒ¼—eV ñV øÁ`      Á   Dˆ  Ek  Æt   B]²=3]T>Um¿z n¿æwú@  »×¼òm¥¿æžó¿=@½Q—½…ÛÏ=œ`¼É)ÉV1zV1€Áð  A˜  ÁP  D‚  Eh  ÆsÀ  B]œl=TVî>Sn‹¿z!½¿æx‹@ ¶š¼óá¿æŸÀ¿R?½QÐõ½ƒ[I<ó2„¼É)ÉVbVb
Áè  A€  ÁP  D“  Ef  ÆsÀ  B]©'=/L>S3c¿zA¿æuz@    °ë¼òÈÏ¿æœì¿hû½QDJ½O«#<:&¬¼Ý-ñV’”V’›Á  ?€  Áp  D€  Ef  Æt@  B]µá=>Q‰&gt;V°f¿z¿æt¸@  ­M¼òοæœS¿wx½Pë½6¥ñ;Ô,¼¿'µVÃVÃ&ÁP  À@  Á@  Dˆ  Ej  Æt`  B]Ã=H8ª>Oçþ¿zZþ¿æsõ@    §õ¼ñ憿æ›Ê¿ŒÝ½PÒ†½ƒ[I<…¦¼¿'µVõ”Võ›Áè  @   Á@  DŒ  Ea  Ær€  B]ÏÑ=>y>OßN¿zc¿æké@  £ø¼ò<¿æ“鿜սPY­7=!¡”¼PW&W&Á   AÀ  Àà  Dˆ  Ec  Ætà  B]ÜŒ=/üs>Yâ¿yñ'¿æo;@ žV¼òJ¿æ—z¿³`½Pá½w³u=›V¼¡!xWV¤WVªÁÐ  A  Á  D€  Ek  ÆrÀ  B]éE=I—S>i&y¿xõ¿æwË@ ˜h¼ñÅ„¿æ I¿Ë½PÀÒ½]^:Ð+@¼«#ŒW‡,W‡2  Àà  Á   D  E  Æu   B]õú=LÑA>Q,!¿zFf¿æ‚N@    ’¼ò!]¿æ«¿äK½Pî1½’^h<N*Ô½œ+W·£W·©Â  @   Á   D  Ec€ ÆsÀ  B^²=:´l>Yù&¿yÜP¿æ<@  ‹|¼ò¿æ¹J¿þÚ½Pàø½]^<Ë*4¼Ý-ñWè*Wè1  A@  Áp  D†  Em  ÆsÀ  B^î=8Ì>cBs¿yY8¿æ©V@ ‰¼ó&lt;ž¿æÒ}¿T½Q{½;¦û<»¼ñ2X§X®Á`  @À  Áˆ  D†  Ex€ Æu   B^£=^Ý`>Jþ@¿zˆZ¿æüÎ@    †Ì¼ô¦9¿ç&¿¤½R/³¼×,³<·&¼PXKXK%@   A   Àà  D™  E^€ Æu   B^)`=>
2>We`¿yýŠ¿ç^@   ¼òŠú¿ç,Ù¿&ͽQ!·½”Þì&lt;…¦½›!X{´X{»Â  @   Á˜  Dˆ  Ek  Æt   B^6=Ifž>S,ƒ¿z.C¿ç"@  }]¼òx¶¿ç+Ì¿7b½Q/½’^h<Õ,H¼^.&
4

1 に答える 1

2

fread 関数はトリックを行う必要があります。

http://www.mathworks.com/help/matlab/ref/fread.html

以下を使用できます。

binData = fread(fileID, sizeA, '*bit8', 0, 'b');

ファイルの sizeA を取得するには、次の質問への回答を試してください。

MATLAB でファイルのサイズを取得するにはどうすればよいですか?

dir からの s 出力を使用します。

s = dir(ファイル名);

于 2013-08-14T18:18:02.030 に答える