why conj is used in this example?(S​can_Radar_​Using_a_Un​iform_Rect​angular_Ar​ray)

when i learn example in matlab: Scan_Radar_Using_a_Uniform_Rectangular_Array.
I have a question,why conj is used in this code?
In order to understand this question.I have tried phased.SteeringVector and phased.PhaseShiftBeamformer function. When scan_angle is 45(deg),the pattern excited by weights obtained by these functions is showned below.At the same time, it shows that when conj is used , the main lobe is directed to -45(deg).
In this way,why conj is used in the example to detect target?(Scan_Radar_Using_a_Uniform_Rectangular_Array)

Answers (1)

The confusion probably comes from the fact that the weights in radiator and pattern plot get treated slightly different.
In a beam pattern plot, the convention is to do an inner product of the steering vector and the signal vector, therefore the conjugate is automatically applied during the inner product stage.
However, in radiator, the weights are what gets directly applied to the signal. At each element, you can think of that a weight gets multiplied to the signal, it may or may not be the steering vector. so it needs a conjugate to point to the right direction.
HTH

10 Comments

Thank u for your reply! Besides,i met another problem in antenna array radar simulation. First, the target is set in [100 100 0], and the target location is shown below. The target degree is 45.
But,when phased.BeamscanEstimator is used to estimate target angle, the result is -45(deg).
Why?
If necessery, my code could be sent to u.
By the way, do u have wechat? So we could communicate more convenient.
Radar simulation loop is shown below.
w_receive = ones(1,32); xr_doa = xr_array(:,:,1);
Thank u so much!
If you don't mind, could you share the script? It's hard to come up what's wrong by just looking at the code. thanks
You can send it to me via my author page or just upload it here. You can always delete it afterwards
I have sent it to u via web message. Thank u so much!
Your file turns out to be just one line and I don't know how to break it down. Could you resend it with correct format? Or maybe attach or upload? Thanks
This is because you passed the signal through the dechirp. If you look at the help of dechirp, it shows that the signal gets conjugated. So if you want to use dechirped signal to do the DOA estimation, you need to conjugate it again, like
xr_doa = conj(xr_doa_up);
Alternatively, you can just use the signal before the dechirp, like
[y_doa,doas] = step(hdoa,xt);
HTH
Yeah Thank u so much!b so much !!

Sign in to comment.

Asked:

on 8 May 2017

Commented:

on 19 May 2017

Community Treasure Hunt

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

Start Hunting!