?? tan14.m
字號:
FileName='running22.txt';
MK=importdata(FileName);
MK1=MK(:,1);MK2=MK(:,2);MK3=MK(:,3);
%坐標選取
MK1min=min(MK1);MK2min=min(MK2);MK3min=min(MK3);
MK1max=max(MK1);MK2max=max(MK2);MK3max=max(MK3);
Xmin=0;
Xmax=(round(size(MK,1)/500)+1)*500;
Y1min=round(MK1min/50)*50;
Y2min=round(MK2min/50)*50;
Y3min=round(MK3min/50)*50;
Y1max=(round(MK1max/50)+1)*50;
Y2max=(round(MK2max/50)+1)*50;
Y3max=(round(MK3max/50)+1)*50;
%選取歸一化的零點并作歸一化運算(選初始狀態作為基準)
AverageT1=mean(MK1(1:100));
Tq1=find(abs(MK1-AverageT1)>=5);
Tq4=Tq1(10);
Average1=mean(MK1(1:(Tq4-50)));
Nor1=(max(MK1)-Average1)/0.9;
NorMK1=(MK1(:)-Average1)/Nor1;%
AverageT2=mean(MK2(1:100));
Tq2=find(abs(MK2-AverageT2)>=5);
Tq5=Tq2(10);
Average2=mean(MK2(1:(Tq5-50)));
Nor2=(max(MK2)-Average2)/0.9;
NorMK2=(MK2(:)-Average2)/Nor2;%
AverageT3=mean(MK3(1:100));
Tq3=find(abs(MK3-AverageT3)>=5);
Tq6=Tq3(10);
Average3=mean(MK3(1:(Tq6-50)));
Nor3=(max(MK3)-Average3)/0.9;
NorMK3=(MK3(:)-Average3)/Nor3;%
%為消除使用filter函數制成的偏移,對原向量前后添項
%偏移量(200/2)
Temp1=NorMK1(1:200);
Temp1(201:(size(NorMK1,1)+200))=NorMK1(:);
Temp1(size(Temp1):(size(Temp1)+100))=NorMK1((size(NorMK1)-100):size(NorMK1));%
Temp2=NorMK2(1:200);
Temp2(201:(size(NorMK2,1)+200))=NorMK2(:);
Temp2(size(Temp2):(size(Temp2)+100))=NorMK2((size(NorMK2)-100):size(NorMK2));%
Temp3=NorMK3(1:200);
Temp3(201:(size(NorMK3,1)+200))=NorMK3(:);
Temp3(size(Temp3):(size(Temp3)+100))=NorMK3((size(NorMK3)-100):size(NorMK3));%
%去重力的歸一化信號
window=ones(1,200)/200;
T1=filter(window,1,Temp1);
T1(1:300)=[];%刪除增加項
NorMK1_DH=NorMK1-T1;%
T2=filter(window,1,Temp2);
T2(1:300)=[];%刪除增加項
NorMK2_DH=NorMK2-T2;%
T3=filter(window,1,Temp3);
T3(1:300)=[];%刪除增加項
NorMK3_DH=NorMK3-T3;%
%為消除使用filter函數制成的偏移,對原向量前后添項
%偏移量(5/2取整)
Temp4=NorMK1_DH(1:5);
Temp4(6:(size(NorMK1_DH,1)+5))=NorMK1_DH(:);
Temp4(size(Temp4):(size(Temp4)+2))=NorMK1_DH((size(NorMK1_DH)-2):size(NorMK1_DH));%
Temp5=NorMK2(1:5);
Temp5(6:(size(NorMK2_DH,1)+5))=NorMK2_DH(:);
Temp5(size(Temp5):(size(Temp5)+2))=NorMK2_DH((size(NorMK2_DH)-2):size(NorMK2_DH));%
Temp6=NorMK3(1:5);
Temp6(6:(size(NorMK3_DH,1)+5))=NorMK3_DH(:);
Temp6(size(Temp6):(size(Temp6)+2))=NorMK3_DH((size(NorMK3_DH)-2):size(NorMK3_DH));%
%偏移量(11/2取整)
Temp7=NorMK1_DH(1:11);
Temp7(12:(size(NorMK1_DH,1)+11))=NorMK1_DH(:);
Temp7(size(Temp7):(size(Temp7)+5))=NorMK1_DH((size(NorMK1_DH)-5):size(NorMK1_DH));%
Temp8=NorMK2_DH(1:11);
Temp8(12:(size(NorMK2_DH,1)+11))=NorMK2_DH(:);
Temp8(size(Temp8):(size(Temp8)+5))=NorMK2_DH((size(NorMK2_DH)-5):size(NorMK2_DH));%
Temp9=NorMK3_DH(1:11);
Temp9(12:(size(NorMK3_DH,1)+11))=NorMK3_DH(:);
Temp9(size(Temp9):(size(Temp9)+5))=NorMK3_DH((size(NorMK3_DH)-5):size(NorMK3_DH));%
%濾波器的設計
b1=[0.2 0.2 0.2 0.2 0.2]; %均值
b2=[0.1 0.1 0.6 0.1 0.1]; %中值
b3=[0.073 0.118 0.618 0.118 0.073]; %中值(黃金分割)
b4=[-0.1 -0.1 1.4 -0.1 -0.1];
b5=1/11*ones(1,11);
b6=[0.05 0.05 0.05 0.05 0.05 0.5 0.05 0.05 0.05 0.05 0.05];
b7=[0.003 0.004 0.012 0.054 0.118 0.618 0.118 0.054 0.012 0.004 0.003];
b8=[-0.04 -0.04 -0.04 -0.04 -0.04 1.4 -0.04 -0.04 -0.04 -0.04 -0.04];
%經各種濾波器處理后的信號
%b1
T1=filter(b1,1,Temp4);
T1(1:7)=[];
NorMK1_DH_b1=T1;%
T2=filter(b1,1,Temp5);
T2(1:7)=[];
NorMK2_DH_b1=T2;%
T3=filter(b1,1,Temp6);
T3(1:7)=[];
NorMK3_DH_b1=T3;%
T11=T1;T12=T2;T13=T3;
%b2
T1=filter(b2,1,Temp4);
T1(1:7)=[];
NorMK1_DH_b2=T1;%
T2=filter(b2,1,Temp5);
T2(1:7)=[];
NorMK2_DH_b2=T2;%
T3=filter(b2,1,Temp6);
T3(1:7)=[];
NorMK3_DH_b2=T3;%
%b3
T1=filter(b3,1,Temp4);
T1(1:7)=[];
NorMK1_DH_b3=T1;%
T2=filter(b3,1,Temp5);
T2(1:7)=[];
NorMK2_DH_b3=T2;%
T3=filter(b3,1,Temp6);
T3(1:7)=[];
NorMK3_DH_b3=T3;%
%b4
T1=filter(b4,1,Temp4);
T1(1:7)=[];
NorMK1_DH_b4=T1;%
T2=filter(b4,1,Temp5);
T2(1:7)=[];
NorMK2_DH_b4=T2;%
T3=filter(b4,1,Temp6);
T3(1:7)=[];
NorMK3_DH_b4=T3;%
%b3+b4
%偏移量補償
T1=T11;T2=T12;T3=T13;
Temp11=T1(1:5);
Temp11(6:(size(T1,1)+5))=T1(:);
Temp11(size(Temp11):(size(Temp11)+2))=T1((size(T1)-2):size(T1));%
Temp12=T2(1:5);
Temp12(6:(size(T2,1)+5))=T2(:);
Temp12(size(Temp12):(size(Temp12)+2))=T2((size(T2)-2):size(T2));%
Temp13=T3(1:5);
Temp13(6:(size(T3,1)+5))=T3(:);
Temp13(size(Temp13):(size(Temp13)+2))=T3((size(T3)-2):size(T3));%
T1=filter(b4,1,Temp11);
T1(1:7)=[];
NorMK1_DH_b3b4=T1;%
T2=filter(b4,1,Temp12);
T2(1:7)=[];
NorMK2_DH_b3b4=T2;%
T3=filter(b4,1,Temp13);
T3(1:7)=[];
NorMK3_DH_b3b4=T3;%
%b5
T1=filter(b5,1,Temp7);
T1(1:16)=[];
NorMK1_DH_b5=T1;%
T2=filter(b5,1,Temp8);
T2(1:16)=[];
NorMK2_DH_b5=T2;%
T3=filter(b5,1,Temp9);
T3(1:16)=[];
NorMK3_DH_b5=T3;%
T21=T1;T22=T2;T23=T3;
%b6
T1=filter(b6,1,Temp7);
T1(1:16)=[];
NorMK1_DH_b6=T1;%
T2=filter(b6,1,Temp8);
T2(1:16)=[];
NorMK2_DH_b6=T2;%
T3=filter(b6,1,Temp9);
T3(1:16)=[];
NorMK3_DH_b6=T3;%
%b7
T1=filter(b7,1,Temp7);
T1(1:16)=[];
NorMK1_DH_b7=T1;%
T2=filter(b7,1,Temp8);
T2(1:16)=[];
NorMK2_DH_b7=T2;%
T3=filter(b7,1,Temp9);
T3(1:16)=[];
NorMK3_DH_b7=T3;%
%b8
T1=filter(b8,1,Temp7);
T1(1:16)=[];
NorMK1_DH_b8=T1;%
T2=filter(b8,1,Temp8);
T2(1:16)=[];
NorMK2_DH_b8=T2;%
T3=filter(b8,1,Temp9);
T3(1:16)=[];
NorMK3_DH_b8=T3;%
%b7+b8
%偏移量補償
T1=T21;T2=T22;T3=T23;
Temp11=T1(1:11);
Temp11(12:(size(T1,1)+11))=T1(:);
Temp11(size(Temp11):(size(Temp11)+5))=T1((size(T1)-5):size(T1));%
Temp12=T2(1:11);
Temp12(12:(size(T2,1)+11))=T2(:);
Temp12(size(Temp12):(size(Temp12)+5))=T2((size(T2)-5):size(T2));%
Temp13=T3(1:11);
Temp13(12:(size(T3,1)+11))=T3(:);
Temp13(size(Temp13):(size(Temp13)+5))=T3((size(T3)-5):size(T3));%
T1=filter(b8,1,Temp11);
T1(1:16)=[];
NorMK1_DH_b7b8=T1;%
T2=filter(b8,1,Temp12);
T2(1:16)=[];
NorMK2_DH_b7b8=T2;%
T3=filter(b8,1,Temp13);
T3(1:16)=[];
NorMK3_DH_b7b8=T3;%
%h1=figure('position',[50 50 900 650],...%'toolbar','none',...
% 'name','3D加速信號的預處理');
subplot(611);
plot(NorMK1,'r');grid on;ylabel('Signal 1');
subplot(612);
plot(NorMK1_DH_b1,'r');grid on;
subplot(613);
plot(NorMK2,'b');grid on;ylabel('Signal 2');
subplot(614);
plot(NorMK2_DH_b1,'b');grid on;
subplot(615);
plot(NorMK3,'m');grid on;ylabel('Signal 3');
subplot(616);
plot(NorMK3_DH_b1,'m');grid on;
axis([0 7000 -1 1]);
%作圖
h0=figure('position',[50 50 900 650],...%'toolbar','none',...
'name','3D加速信號的預處理');
subplot(811);
plot(NorMK1,'r');grid on;ylabel('Signal 1');
subplot(812);
plot(NorMK1_DH_b6,'r');grid on;
subplot(813);
plot(NorMK2,'b');grid on;ylabel('Signal 2');
subplot(814);
plot(NorMK2_DH_b6,'b');grid on;
subplot(815);
plot(NorMK3,'m');grid on;ylabel('Signal 3');
subplot(816);
plot(NorMK3_DH_b5,'m');grid on;
%Button的設計
h=[2000 3000];
k=[-0.5 0.5];
zbChange=1;
e1=uicontrol('parent',h0,...
'style','edit',...
'string',eval(num2str(h(1))),...
'horizontalalignment','right',...
'position',[270 120 80 20]);
t1=uicontrol('parent',h0,... %to get xmin
'style','text',...
'string','X軸最小值',...
'position',[270 145 80 20]);
e2=uicontrol('parent',h0,...
'style','edit',...
'string',eval(num2str(h(2))),...
'horizontalalignment','right',...
'position',[270 60 80 20]);
t2=uicontrol('parent',h0,... %to get xmin
'style','text',...
'string','X軸最大值',...
'position',[270 85 80 20]);
e3=uicontrol('parent',h0,...
'style','edit',...
'string',eval(num2str(k(1))),...
'horizontalalignment','right',...
'position',[370 120 80 20]);
t3=uicontrol('parent',h0,... %to get ymin
'style','text',...
'string','Y軸最小值',...
'position',[370 145 80 20]);
e4=uicontrol('parent',h0,...
'style','edit',...
'string',eval(num2str(k(2))),...
'horizontalalignment','right',...
'position',[370 60 80 20]);
t4=uicontrol('parent',h0,... %to get ymax
'style','text',...
'string','Y軸最大值',...
'position',[370 85 80 20]);
p1=uicontrol('parent',h0,...
'style','pushbutton',...
'string','設置',...
'position',[270 10 50 30],...
'callback',[...
'a=str2num(get(e1,''string''));,',...
'b=str2num(get(e2,''string''));,',...
'c=str2num(get(e3,''string''));,',...
'd=str2num(get(e4,''string''));,',...
'subplot(8,1,2*zbChange-1),',...
'axis([a b c d]),',...
'subplot(8,1,2*zbChange),',...
'axis([a b c d]),',...
'drawnow']);
p2=uicontrol('parent',h0,...
'style','pushbutton',...
'string','還原',...
'position',[340 10 50 30],...
'callback',[...
'subplot(811);',...
'axis([Xmin Xmax -1 1]);',...
'subplot(812);',...
'axis([Xmin Xmax -1 1]);',...
'subplot(813);',...
'axis([Xmin Xmax -1 1]);',...
'subplot(814);',...
'axis([Xmin Xmax -1 1]);',...
'subplot(815);',...
'axis([Xmin Xmax -1 1]);',...
'subplot(816);',...
'axis([Xmin Xmax -1 1]);'
]);
p3=uicontrol('parent',h0,...
'style','pushbutton',...
'string','關閉',...
'position',[410 10 50 30],...
'callback','close');
s1=uicontrol('parent',h0,...
'units','points',...
'backgroundcolor',[0.753 0.753 0.753],...
'listboxtop',0,...
'position',[100 110 72.75 16.5],...
'string','坐標縱橫比',...
'style','text',...
'tag','s1');
r1=uicontrol('parent',h0,...
'units','points',...
'backgroundcolor',[0.753 0.753 0.753],...
'listboxtop',0,...
'position',[100 90 72.75 16.5],...
'string','第一組信號',...
'style','radiobutton',...
'tag','r1',...
'value',1,...
'callback',[...
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -