Question about sensorsig function of phased array system toolbox
3 ビュー (過去 30 日間)
古いコメントを表示
Good evening
I am trying to generate some signals for DOA estimation using the sensorsig function. My code is the following:
az = 0; % Azimuth direction
el = 0; % Elevation direction
dim = 4;
fc = 300e6; % Operating frequency
lambda = physconst('LightSpeed')/fc;
samples =100;
nPower = 0;
rs = rng(30);
sCos = phased.CosineAntennaElement(...
'FrequencyRange',[200e6 1.2e9]);
xDim = 4; % number of elements in x dimension
yDim = 4; % number of elements in y dimension
linear_dim=dim;
d = lambda/2; % Inter-element spacing
N = linear_dim;
pos_along_x = (0:xDim-1)*d;
pos_along_y = (1:yDim-1)*d;
pos_along_z = (1:N-1)*d*0;
pos = [[pos_along_x ];...
[zeros(1,xDim)];...
[ zeros(1,xDim)]]; % Sensors positions
for k=1:yDim-1
a = [[pos_along_x];...
repmat(pos_along_y(k),1,xDim);...
[zeros(1,xDim)]];
pos = [pos a];
end
my_array = phased.ConformalArray('Element',sCos,'ElementPosition',pos);
my_array.Element.FrequencyRange = [2e8 1.2e9];
ang1 = [az;el];
signals=[ang1];
rxsig = sensorsig(getElementPosition(my_array),...
samples,signals,nPower);
sensor = transp(rxsig);
Here i have a signal coming from azimuth 0 and elevation 0, and i also have a rectangular 4x4 array. After i get the samples of the received signals from sensorsig, i plot the signals at the first and second antenna. What i observe is that on one hand the real part of the signal at the first antenna is also the imaginary part of the signal at the second antenna, with an offset.On the other hand, the real part of the signal at the second antenna, is the negative of the real part of the signal at the first antenna. Could someone explain to me why this happens? Here's also a picture of the figures

Thank you in advance
0 件のコメント
採用された回答
Honglei Chen
2016 年 8 月 31 日
If I understand it correctly, the signal at antenna #2 is essentially the negative of the antenna #1. This is because the first two elements are along x axis. So for a plane wave incoming from azimuth 0 and elevation 0, the wave travels along x axis. The two elements are approximately half wavelength, thus the phase shift between the two signal is given by exp(1i*pi), which is -1. So the signals are just opposite of each other.
Maybe you actually want an array in yz plane instead of xy plane?
HTH
3 件のコメント
Honglei Chen
2016 年 9 月 2 日
Turns out it is. The easiest way to see this is let's look at the steering vector between the first two elements. Since they are along x axis, let's find the relation between them as
>> steervec([0 0.5;0 0;0 0],[35;50])
ans =
1.0000 + 0.0000i
-0.0833 + 0.9965i
This means that if the signal you get at the first element is x+yi, the signal at the second element will be given by (x+yi)*(-0.0833+0.9965i), which is close to (x+yi)*1i = -y+xi
HTH
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Array Geometries and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
