필터 지우기
필터 지우기

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

조회 수: 3 (최근 30일)
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??

채택된 답변

Chunru
Chunru 2022년 7월 7일
% 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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Array Geometries and Analysis에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by