if(length(e_signals)==2) e_signals=e_signals'; end
f_signals=[e_signals(:,1)*2-e_signals(:,2)
e_signals(:,2)*2-e_signals(:,1)];% 检测电磁信号的范围:前后与信号长度相同的长度范围f_signals(f_signals<1)=1;
f_signals(f_signals>len)=len;%去除无效值
g_signals=[e_signals(:,1)-10 e_signals(:,2)+10];%用于寻找两端的范围 g_signals(g_signals<1)=1;
g_signals(g_signals>len)=len;%去除无效值
signals=[]; i=1;
while(i<=size(e_signals,1))
minpoint=base-min(data(e_signals(i,1):e_signals(i,2))); bdata=data(f_signals(i,1):f_signals(i,2)); maxpoint=max(bdata)-base;
if(maxpoint>minpoint)%根据是否含有电磁干扰筛选 e_signals(i,:)=[]; f_signals(i,:)=[]; g_signals(i,:)=[]; else
if(g_signals(i,2)<40||g_signals(i,1)>length(data)-40) e_signals(i,:)=[]; f_signals(i,:)=[]; g_signals(i,:)=[]; else
bddata=data(g_signals(i,1):g_signals(i,2)); diffdata=[0;diff(bddata)];
e_signals(i,1)=g_signals(i,1)-1+find(diffdata<=0.27*min(diffdata),1); temp=find(diffdata>=0.25*max(diffdata)); e_signals(i,2)=g_signals(i,1)-1+temp(end); num=num+1;
if(e_signals(i,2) e_signals(i,2)=e_signals(i,1); e_signals(i,1)=temp; end signals{i}=SignalAnalysis(data2,e_signals(i,:),start,num); i=i+1; end end end end 第6页 共7页 参考文献: 1. 胡广书. 数字信号处理[M]. 北京:清华大学出版社, 2003. 1-3 2. 丁克俭, 张海燕, 胡红刚, 赵红敏, 关伟军, 马月辉. 生物大分子纳米孔分析技术研究进展[C]. 北京:分析化学, 2010. 280-285 3. Jacob, K, Rosenstein, Meni, Wanunu, Christopher, A, Merchant, Marija, Drndic, Kenneth, L, Shepard. Integrated nanopore sensing platform with sub-microsecond temporal resolution[C]. New York, USA:nature methods, 2012. 487-487 第7页 共7页