aspcol.kernelinterpolation.multifreq_envelope_kernel

aspcol.kernelinterpolation.multifreq_envelope_kernel(pos1, pos2, wave_num, envelope_reg, reg_points, dft_len, freqs_to_remove_low=0)

The kernel Gamma_r(r, r’) of the time domain diffuse sound field with envelope regularization.

This is regularization option 2 in [brunnströmTime2025], which is constructed as a regularization at a finite set of points.

Parameters:
  • pos1 (np.ndarray of shape (num_points1, 3)) – Position of the first set of points.

  • pos2 (np.ndarray of shape (num_points2, 3)) – Position of the second set of points.

  • wave_num (np.ndarray of shape (num_real_freqs,)) – Wave number, defined as 2*pi*f/c, where f is the frequency and c is the speed of sound.

  • envelope_reg (np.ndarray of shape (num_freqs, num_freqs) or (num_reg_points, num_freqs, num_freqs)) – The envelope regularization weighting. Can be computed from the time-domain values of the envelope regularization as D_f = F D_t F^{-1}. If only a single matrix is provided, it is assumed to be the same for all regularization points.

  • reg_points (np.ndarray of shape (num_reg_points, 3)) – The regularization points. These are the points where the regularization is applied. num_reg_points is V in [brunnströmTime2025].

Returns:

The time domain kernel matrix. The dft_len is assumed to be even, and the number of real frequencies is dft_len//2 + 1.

Return type:

np.ndarray of shape (num_points1, num_points2, dft_len, dft_len)

References

[brunnströmTime2025]