def get_dobs_dunc(self,dpre,FloorVal,Pct):
# Floor is a fraction of the largest amplitude anomaly for the earliest time channel
M = np.shape(dpre)[0]
# Floor = np.zeros(np.shape(dpre))
# Floor[0:M:3,:] = FloorVal*np.max(np.abs(dpre[0:M:3,:]))
# Floor[1:M:3,:] = FloorVal*np.max(np.abs(dpre[1:M:3,:]))
# Floor[2:M:3,:] = FloorVal*np.max(np.abs(dpre[2:M:3,:]))
Floor = FloorVal*np.max(np.abs(dpre))*np.ones(np.shape(dpre))
if len(Pct) is 1:
dunc = Floor + Pct*np.abs(dpre)
else:
dunc = Floor
for ii in range(0,3):
dunc[ii:M:3] = dunc[ii:M:3] + Pct[ii]*np.abs(dpre[ii:M:3])
dobs = dpre + dunc*np.random.normal(size=np.shape(dpre))
self.dunc = dunc
self.dobs = dobs
return dobs,dunc
评论列表
文章目录