Get Sensor positions manually in a uniform linear array (phased.ula) in phased array system toolbox

3 visualizaciones (últimos 30 días)
How can we give sensor positions manually in a uniform linear array? Initially I used Phased Array System toolbox where I got microphone positions using phased.ula. Now, If I want to specify the exact positions using phased.ula, How can I do that?
array = phased.ULA('NumElements',9,'ElementSpacing',0.05);
The above one is giving me an array of microphones placed at a spacing of 0.05 with a center microphone at (0,0,0).
Now, How do I give the positions manually??

Respuesta aceptada

Chunru
Chunru el 7 de Jul. de 2022
% Get the position of the array
array = phased.ULA('NumElements',9,'ElementSpacing',0.05);
p = getElementPosition(array)
p = 3×9
0 0 0 0 0 0 0 0 0 -0.2000 -0.1500 -0.1000 -0.0500 0 0.0500 0.1000 0.1500 0.2000 0 0 0 0 0 0 0 0 0
% For ULA, you cannot set the position directly.
% You can use conformal array which allow you to specify position
a1 = phased.ConformalArray('ElementPosition', p);
a1.ElementPosition
ans = 3×9
0 0 0 0 0 0 0 0 0 -0.2000 -0.1500 -0.1000 -0.0500 0 0.0500 0.1000 0.1500 0.2000 0 0 0 0 0 0 0 0 0
% Change the element position
a1.ElementPosition(2,5) = 0.001; % change one coordinate only as an example
a1.ElementPosition
ans = 3×9
0 0 0 0 0 0 0 0 0 -0.2000 -0.1500 -0.1000 -0.0500 0.0010 0.0500 0.1000 0.1500 0.2000 0 0 0 0 0 0 0 0 0

Más respuestas (0)

Categorías

Más información sobre Array Geometries and Analysis en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by