基于matlab的肌电信号处理程序.docx
《基于matlab的肌电信号处理程序.docx》由会员分享,可在线阅读,更多相关《基于matlab的肌电信号处理程序.docx(24页珍藏版)》请在冰豆网上搜索。
基于matlab的肌电信号处理程序
基于matlab的肌电信号处理程序:
functionvarargout=untitled(varargin)
%UNTITLEDM-fileforuntitled.fig
%UNTITLED,byitself,createsanewUNTITLEDorraisestheexisting
%singleton*.
%
%H=UNTITLEDreturnsthehandletoanewUNTITLEDorthehandleto
%theexistingsingleton*.
%
%UNTITLED('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinUNTITLED.Mwiththegiveninputarguments.
%
%UNTITLED('Property','Value',...)createsanewUNTITLEDorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeuntitled_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtountitled_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpuntitled
%LastModifiedbyGUIDEv2.508-Nov-201412:
45:
18
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@untitled_OpeningFcn,...
'gui_OutputFcn',@untitled_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforeuntitledismadevisible.
functionuntitled_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstountitled(seeVARARGIN)
%Choosedefaultcommandlineoutputforuntitled
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesuntitledwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=untitled_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globals;
globala;
globalt;
globalcount;
%count=1;
[filename,filepath]=uigetfile('*.txt','Ñ¡ÔñÎļþ');%Ñ¡ÔñÊý¾ÝÎļþ
str=[filepathfilename];
s=load(str);
a=s(:
7);
t=s(:
1);
axes(handles.axes1);
plot(t,a);
xlabel('ʱ¼ä');
ylabel('±äÁ¿');
title('ÔʼÐźÅ');
ifcount==2
globals2;
globala2;
globalt2;
[filename,filepath]=uigetfile('*.txt','Ñ¡ÔñÎļþ');
str=[filepathfilename];
s2=load(str);
a2=s2(:
7);
t2=s2(:
1);
plot(handles.axes2,t2,a2);
end
count=1;
%---Executesonbuttonpressinpushbutton2.
functionpushbutton2_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
globals;
globaly;
%globalIR;
%globalSORH;
y=fft(a,20000);
M=length(a);
N=length(y);
p=size(a);
%s1=a(1:
20000);
[CL]=wavedec(a,3,'db5');
cA3=appcoef(C,L,'db5',3);
cD1=detcoef(C,L,1);
cD2=detcoef(C,L,2);
cD3=detcoef(C,L,3);
thr1=thselect(cD1,'rigrsure');
thr2=thselect(cD2,'rigrsure');
thr3=thselect(cD3,'rigrsure');
TR=[thr1,thr2,thr3];
SORH='s';
[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...
'db5',3,TR,SORH);
L=p
(2);
x=a;
h=XC;
F=0;
M=0;
forii=1:
L
m(ii)=(x(ii)-y(ii))^2;
t(ii)=y(ii)^2;
f(ii)=t(ii)/m(ii);
F=F+f(ii);
M=M+m(ii);
end;
SNR=10*log10(F);
MSE=M/N;
SM=SNR/MSE;
axes(handles.axes2);
plot(XC(1:
10000));
xlabel('ʱ¼ä');
ylabel('±äÁ¿');
title('È¥ÔëºóÐźÅ');
%plot(handles.axes2,XC(1:
20000));
%---Executesonbuttonpressinpushbutton3.
functionpushbutton3_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
globaly;
globalcount;
%a=EMG3(1:
points,2);
y=fft(a,20000);%¶ÔÐźŽøÐпìËÙFourier±ä»»
fs=2000;
N=length(y);
mag=abs(y);%ÇóµÃFourier±ä»»ºóµÄÕñ·ù
f=(0:
N-1)/N*fs;%ƵÂÊÐòÁÐ
axes(handles.axes1);
plot(f,mag);
%plot(handles.axes1,f,mag);%»æÖÆͼÐÎ
xlabel('ƵÂÊ');
ylabel('·ùÖµ');
title('Ô¼¡µç·ùƵN=20000');
ifcount==2
globala2;
globalt2;
globaly2;
%a=EMG3(1:
points,2);
y2=fft(a2,20000);%¶ÔÐźŽøÐпìËÙFourier±ä»»
fs=2000;
N=length(y2);
mag=abs(y2);%ÇóµÃFourier±ä»»ºóµÄÕñ·ù
f=(0:
N-1)/N*fs;%ƵÂÊÐòÁÐ
axes(handles.axes2);
plot(f,mag);
end
count=1;
%---Executesonbuttonpressinpushbutton4.
functionpushbutton4_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
%globalIR;
%globalSORH;
[CL]=wavedec(a,3,'db5');
cA3=appcoef(C,L,'db5',3);
cD1=detcoef(C,L,1);
cD2=detcoef(C,L,2);
cD3=detcoef(C,L,3);
thr1=thselect(cD1,'rigrsure');
thr2=thselect(cD2,'rigrsure');
thr3=thselect(cD3,'rigrsure');
TR=[thr1,thr2,thr3];
SORH='s';
[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...
'db5',3,TR,SORH);
y1=fft(XC,20000);
fs=2000;
N=length(y1);
mag1=abs(y1);
f=(0:
N-1)/N*fs;
axes(handles.axes2);
plot(f,mag1);
xlabel('ƵÂÊ');
ylabel('·ùÖµ');
title('È¥Ôëºó·ùƵN=20000');
%---Executesonbuttonpressinpushbutton5.
functionpushbutton5_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton5(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
globaly;
globalcount;
fs=2000;
N=length(y);
f=(0:
N-1)/N*fs;%ƵÂÊÐòÁÐ
axes(handles.axes1);
plot(f,angle(y));
xlabel('ƵÂÊ');
ylabel('Ïàλ');
title('Ô¼¡µçÏàƵ');
%plot(handles.axes1,f,angle(y));%»æÖÆÏàƵÌØÐÔͼ
ifcount==2
globala2;
globalt2;
globaly2;
fs=2000;
N=length(y2);
f=(0:
N-1)/N*fs;%ƵÂÊÐòÁÐ
axes(handles.axes2);
plot(f,angle(y2));
xlabel('ƵÂÊ');
ylabel('Ïàλ');
title('Ô¼¡µçÏàƵ');
end
count=1;
%plot(handles.axes1,f,angle(y));%»æÖÆÏàƵÌØÐÔͼ
%---Executesonbuttonpressinpushbutton6.
functionpushbutton6_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton6(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
[CL]=wavedec(a,3,'db5');
cA3=appcoef(C,L,'db5',3);
cD1=detcoef(C,L,1);
cD2=detcoef(C,L,2);
cD3=detcoef(C,L,3);
thr1=thselect(cD1,'rigrsure');
thr2=thselect(cD2,'rigrsure');
thr3=thselect(cD3,'rigrsure');
TR=[thr1,thr2,thr3];
SORH='s';
[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...
'db5',3,TR,SORH);
y1=fft(XC,20000);
fs=2000;
N=length(y1);
f=(0:
N-1)/N*fs;
axes(handles.axes2);
plot(f,angle(y1));
xlabel('ƵÂÊ');
ylabel('Ïàλ');
title('È¥Ôëºó¼¡µçÏàƵ');
%---Executesonbuttonpressinpushbutton7.
functionpushbutton7_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton7(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
try
delete(allchild(handles.axes1));
delete(allchild(handles.axes2));
set(handles.edit1,'string','');
set(handles.edit1,'string','');
set(handles.edit3,'string','');
set(handles.edit4,'string','');
set(handles.edit5,'string','');
set(handles.edit6,'string','');
end
%---Executesonbuttonpressinpushbutton8.
functionpushbutton8_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton8(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
globals;
y=fft(a,20000);
fs=2000;
N=length(y);
mag=abs(y);
f=(0:
N-1)/N*fs;
power1=(mag.^2)/20000;
axes(handles.axes1);
plot(f,power1);
xlabel('ƵÂÊ');
ylabel('¹¦ÂÊÆ×');
title('Ô¼¡µç¹¦ÂÊÆ×');
globalcount;
globala2;
globalt2;
globals2;
ifcount==2
y2=fft(a2,20000);
fs=2000;
N=length(y2);
mag=abs(y2);
f=(0:
N-1)/N*fs;
power1=(mag.^2)/20000;
axes(handles.axes2);
plot(f,power1);
xlabel('ƵÂÊ');
ylabel('¹¦ÂÊÆ×');
title('Ô¼¡µç¹¦ÂÊÆ×');
end
count=1;
%---Executesonbuttonpressinpushbutton9.
functionpushbutton9_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton9(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globala;
globalt;
globals;
s=fft(a,2000);
[CL]=wavedec(a,3,'db5');
cA3=appcoef(C,L,'db5',3);
cD1=detcoef(C,L,1);
cD2=detcoef(C,L,2);
cD3=detcoef(C,L,3);
thr1=thselect(cD1,'rigrsure');
thr2=thselect(cD2,'rigrsure');
thr3=thselect(cD3,'rigrsure');
TR=[thr1,thr2,thr3];
SORH='s';
[XC,CXC,LXC,PERFO,PERF2]=wdencmp('lvd',a,...
'db5',3,TR,SORH);
y1=fft(XC,20000);
fs=2000;
N=length(y1);
mag=abs(y1);
f=(0:
N-1)/N*fs;
power1=(mag.^2)/20