Read file format (.BLK) or convert it on MATLAB?

8 ビュー (過去 30 日間)
mark
mark 2013 年 12 月 9 日
編集済み: dpb 2013 年 12 月 9 日
Hey everyone,
I have a file in the format .BLK ( or block file). This is used in a wide variety of applications, including CAD, video and a lot of other stuff. The format that I have simply has a load of text data hidden within it — essentially a time history of collision impacts with a Force Transducer.
if true
"ME'scope Spreadsheet Data Block"
"Measurement Type" "Time Waveform"
"Label" ""
"X Axis Spacing" "Uniform"
"X Axis Units" "sec"
"Measurement Labels" ""
"Y Axis Type" "Real"
"Y Axis DOFS" "2T:2T"
"Y Axis Units" "V"
"Z Axis" ""
"Time" "Real"
0.0000000E+00 -1.7542E-02
+9.7656250E-06 -1.7235E-02
+1.9531250E-05 -1.6303E-02
+2.9296870E-05 -1.6349E-02
+3.9062500E-05 -1.5989E-02
+4.8828120E-05 -1.5112E-02
+5.8593750E-05 -1.5358E-02
+6.8359380E-05 -1.6332E-02
+7.8125000E-05 -1.7491E-02
+8.7890620E-05 -1.7050E-02
+9.7656240E-05 -1.7014E-02
+1.0742190E-04 -1.5180E-02
+1.1718750E-04 -1.4988E-02
+1.2695310E-04 -1.5200E-02
+1.3671880E-04 -1.5894E-02
end
This is a _ very _ short snippet of what the output text file looks like once it has been converted using a secondary application. The issue is that, I have over 300+ .BLK files and to convert them all into .txt would literally take 3+ hours of work.
Can matlab read .BLK files?
  1 件のコメント
dpb
dpb 2013 年 12 月 9 日
編集済み: dpb 2013 年 12 月 9 日
"Automagically", not afaik altho you could search File Exchange for any submissions that might help.
But, "sure" as long as you know the format...I presume you're just describing a stream file with mixed types. Simply use fread and the proper types for the record length and number of records to scan the files. It appears from the ASCII file there are probably 11 header records then a floating point array of possibly variable number of channels along with the time. Reading the header w/ fgetl and parsing the desired fields/records to find out the latter would also be fairly simple, then switch to fread for the data.
The question is then whether the data are actual floating point values or some other storage format.
ADDENDUM: The fgetl suggestion will only work if there are \n characters in the file; otherwise you'll have to know the record lengths. Either is possible; all depends on how the files are created; insufficient data provided to know.
ADDENDUM 2:
It's also possible the vendor of the gear creating the file has a sample code (in C or other language) to read the file--if so, that's a good starting point from which to begin to write equivalent in Matlab.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeStandard File Formats についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by