You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Define a microphone movement (radius, angular speed, etc)
The angular position of the microphone phi (length of L)
Gerenate a perfect sequence p (length N)
Compute the captured signal s, which has the same length L
System identification
Select a set of target positions phi_target (length K) at which the impulse responses are to be computed
Decompose the captured signal into N sub-signals, where the i-th signal is s[i::N]
The i-th signal 's_i' (i=0,...,N-1) corresponds to angular positions phi[i::N]
For each target angle phi_target[k] (k=0,...,K-1), reconstruct the original sound field y by using spatial interpolation
The interpolation will look like this: y[i] = spatial_interpolation(s_i, phi_i, phi_target[k])
So you get the i-th sample of the sound field at phi_target[k]
The corresponding impulse response h is then given as the circular cross correlation of y and the perfect sequence p h = cross_correlation(y, p)
The overall structure will look more or less like this:
impulse_responses = np.zeros((N,K))
for k in range(K):
y = np.zeros(N)
for i in range(N):
s_i = s[i::N]
phi_i = phi[i::N]
y[i] = spatial_interpolation(phi_i, s_i, phi_target[k])
impulse_responses[:, k] = circular_cross_correlation(y, p)
You should implement the function spatial_interpolation
Simulation of the captured signal
phi
(length ofL
)p
(lengthN
)s
, which has the same lengthL
System identification
phi_target
(lengthK
) at which the impulse responses are to be computedN
sub-signals, where thei
-th signal iss[i::N]
i=0,...,N-1
) corresponds to angular positionsphi[i::N]
phi_target[k]
(k=0,...,K-1
), reconstruct the original sound fieldy
by using spatial interpolationy[i] = spatial_interpolation(s_i, phi_i, phi_target[k])
So you get the
i
-th sample of the sound field atphi_target[k]
h
is then given as the circular cross correlation ofy
and the perfect sequencep
h = cross_correlation(y, p)
spatial_interpolation
Extension to MISO case
microphoneloudspeaker positions (M
)M*N
. Apply a time-shift ofm*N
to them
-th signalcircular_cross_correlation(y, p)
will have a length ofM*N
. Each block ofN
samples correspond to them
-th impulse response.The text was updated successfully, but these errors were encountered: