필터 지우기
필터 지우기

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

조회 수: 16 (최근 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 CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by