MATLAB Answers


Difference between no steering and steervec in 0, 0 ?

Asked by Spes88
on 2 Jun 2019
Latest activity Commented on by Spes88
on 18 Jun 2019
In phased array system toolbox, plotting the 3D response pattern of volumetric array geometries, I obtain different responses in two cases that seem similar: if I don't specify steering at all and if I specify "steervec(f, [0, 0])", as an example of this documentation:
But, since this documentation says that [0, 0] is the default steering angle in ANG, how is it possible that whether specifying it or not returns to me two different responses? Does "no steering specified" means that, by default, the pattern is in the 0, 0 direction?

  1 Comment

UPDATE. Probably I've found a way: if I don't specifiy the value
inside phased.SteeringVector, the two cases that I said before return the same response, as expected.
But now the question is: why does Matlab give me the possiblity to introduce the parameter 'PropagationSpeed' inside phased.SteeringVector if this returns me a different response pattern? What could be this new, different response?
Hope someone can explain me. Thank you.

Sign in to comment.

1 Answer

Answer by Honglei Chen
on 3 Jun 2019

Could you share how you invoke the two interfaces? From what you described? The two interfaces is a bit different in array definition. For a SteeringVector, it contains an array object which specifies the element positions in meters. That's why you need to specify the propagation speed. On the other hand, in steervec() function, the element positions are specified in wavelength, so no propagation speed is needed. The object interface is more versatile in the sense that it can handle wideband case too.


Sorry if I'm late...
Ok, I'll write only a part of the code to make it simpler, I hope. Once I defined the parameters propagation speed as "vel", frequency as "freq" and all elements' positions (both in meters or as a function of wavelength) for the conformal array "h", I define:
VEC = phased.SteeringVector('SensorArray', h, 'PropagationSpeed', vel);
st = VEC(freq, [0; 0]);
Then, when I want to plot the 3D response pattern, I use:
pattern(h, freq, 'PropagationSpeed', vel, 'Type', 'powerdb', 'CoordinateSystem', 'polar', 'Weights', st);
This is how I specify a steering in [0; 0], that is the 2nd case I mentioned previously.
Instead I obtained the 1st case without expressing " 'Weights', st " at all inside the pattern command. So: if I don't specify 'PropagationSpeed' inside "phased.SteeringVector", I obtain the same result from both these 2 cases, as expected.
So, if I understand correctly what you said, the condition 'PropagationSpeed' into "steervec" must be used only if elements' positions are expressed in meters and not as a function of wavelength. Isn't it?
steervec() assumes that the position is in wavelength so you cannot specify PropagationSpeed in steervec()
Ok, perfect. Thank you so much for your explanation!

Sign in to comment.