% m File for Coretex Ipf format data % MATLABでコアテックスIpfフォーマットデータを読み込む % % Date : 2015.04.16 % Ver. : 1.0 % % 読み込むファイルはDドライブのDataフォルダにあるtest_ch1.ipfとする % ファイルをオープン FileID = fopen('d:\Data\test1.ipf'); % ヘッダ部1を読み込む Header1 = fread(FileID, [1, 8], 'uint32'); % データ最大値をfloat(32bit)精度で読み込む fMaxVal = fread(FileID, [1,1], 'single'); % ヘッダー部2を読み込む Header2 = fread(FileID, [1,5], 'uint32'); %インパルス応答データ長をPointへコピー Point=Header1(1,2); % コメント1,2,3を読み込むが、Ver 4.0以前では日本語対応に問題 % 所定のバイト数だけ読み飛ばす if Header2(3) == 400 % Ims Ver.4.0.0なら Comment1=fread(FileID, [1,20], 'char'); Comment2=fread(FileID, [1,20], 'char'); Comment3=fread(FileID, [1,20], 'char'); else % それ以前のバージョンでは Comment1=fread(FileID, [1,20], 'uint8'); Comment2=fread(FileID, [1,20], 'uint8'); Comment3=fread(FileID, [1,20], 'uint8'); end % データ部を先頭からPoint点だけ読み込む. % 配列が1からなのでPoint+1 Data = fread(FileID,[1, Point+1], 'single'); % ファイルをクローズする fclose(FileID );