%時間応答確認用プログラム MATLAB用　2006/06/16　
%２つの時間波形データおよびFFT結果を比較する.

clear
format long e

%データファイルに関して
msec2sec=1000;     %時間が[msec]なら'1000'を[sec]なら'1'を代入．

%データ列に関して
col_u=4;            %入力 (分母)列の指定
col_y=3;            %出力 (分子)列の指定　
gain_u=1/(2.5*10);           %入力のゲイン設定
gain_y=1;           %出力のゲイン設定


%フラッグ
flag_sampling=1;    %サンプリング周期の自動指定. '1':自動．'0':手動

%読み込みデータファイル名の指定
filename00='D:\06kadai_01\98Test\06_06\06_06_16アクティブダンサ試験装置加振変位から荷重F特\';
filename01='060615_04g加振xActiveF_003.csv';

    loadfile=strcat(filename00,filename01)

%データのロード
    data=load (loadfile);

%サンプリング周期[sec]の設定
if (flag_sampling==1)
    line01=3;
    line02=103;
    i=1;
    for ii=line01:line02
        err(i)=data(ii+1,1)-data(ii,1);
        i=i+1;
    end
    T=sum(err)/length(data(line01:line02,1))/msec2sec;
elseif(flag_sampling==0)
   T=100e-6;           %サンプリング周期[sec]
end
F=1/T;     		         %サンプリング周波数[Hz]

%データサイズの指定
[Row,Col]=size(data);

%入力(分母)のFFT
y01=fft(data(:,col_u)*gain_u);
MAG01=abs(y01)/(Row/2);

%出力(分子)のFFT
y02=fft(data(:,col_y)*gain_y);
MAG02=abs(y02)/(Row/2);

%周波数
f = (0:length(y01)-1)'*F/length(y01);

figure(1)
subplot(2,1,1)
plot(data(:,1)/msec2sec,data(:,col_y)*gain_y,'r-')
xlabel('Time[sec]')
ylabel('F [N]')
axis([0 10 144 154])
grid on

subplot(2,1,2)
plot(data(:,1)/msec2sec,(data(:,col_u)-5)*gain_u,'b-')
xlabel('Time[sec]')
ylabel('Xex [mm]')
axis([0 10 -0.4 0.4])
grid on

figure(2)
subplot(2,1,1)
semilogx(f(1:(Row/2),1),MAG02(1:(Row/2),1),'r-')
xlabel('Frequency[Hz]')
ylabel('F [N]')
grid on

subplot(2,1,2)
semilogx(f(1:(Row/2),1),MAG01(1:(Row/2),1),'b-')
xlabel('Frequency[Hz]')
ylabel('Xex [mm]')
grid on

