def spherical_extrapolation(order, array_configuration, k_mic, k_scatter=None, k_dual=None):
""" Factor that relate signals recorded on a sphere to it's center.
Parameters
----------
order : int
Order
array_configuration : ArrayConfiguration
List/Tuple/ArrayConfiguration, see io.ArrayConfiguration
k_mic : array_like
K vector for microphone array
k_scatter: array_like, optional
K vector for scatterer (Default: same as k_mic)
Returns
-------
b : array, complex
"""
array_configuration = ArrayConfiguration(*array_configuration)
if array_configuration.array_type is 'open':
if array_configuration.transducer_type is 'omni':
return bn_open_omni(order, k_mic)
elif array_configuration.transducer_type is 'cardioid':
return bn_open_cardioid(order, k_mic)
elif array_configuration.array_type is 'rigid':
if array_configuration.transducer_type is 'omni':
return bn_rigid_omni(order, k_mic, k_scatter)
elif array_configuration.transducer_type is 'cardioid':
return bn_rigid_cardioid(order, k_mic, k_scatter)
elif array_configuration.array_type is 'dual':
return bn_dual_open_omni(order, k_mic, k_dual)
评论列表
文章目录