p /= np.linalg.norm(p)
// The projected microphone distances on the unit vectorsD = np.dot(self.R.T, p)// subtract minimum in each column
D -= np.min(D)
else:
D = distance(self.R, X)
phase = np.exp(-1j * omega * D / constants.get("c"))
if attn:
// TO DO 1: This will mean slightly different absolute value for// every entry, even within the same steering vector. Perhaps a// better paradigm is far-field with phase carrier.return1. / (4 * np.pi) / D * phase
else:
returnphase
def response(self, phi_list, frequency):
i_freq = np.argmin(np.abs(self.frequencies - frequency))