SENSORSIG function Matlab HELP
12 views (last 30 days)
Show older comments
Audri Biswas
on 30 Sep 2015
Commented: Audri Biswas
on 1 Oct 2015
I have been trying to simulate a received signal on phased antenna array elements, using SENSORSIG (built in) function of MATLAB.
If the angle of arrival is kept constant, the complex voltage induced in each element should not vary. But in my case, it is giving me a different result.
The code and the following results are posted below.
Nsamp = 1;
c = physconst('LightSpeed');
fc = 750e6;
lambda = c/fc;
ANGLE_ARRIVAL = -180:1:180;
NO_OF_GRID = length(ANGLE_ARRIVAL);
ELEM_SPAC = 0.4;
SNR_dB = -20:5:60;
Noise_P = 0;
ELEM_NUM = 25;
sUCA = phased.ULA('NumElements',ELEM_NUM,'ElementSpacing',ELEM_SPAC);
a = sensorsig(getElementPosition(sUCA)/lambda,Nsamp,15);
b = sensorsig(getElementPosition(sUCA)/lambda,Nsamp,15);
The Results received in each cases are
a =
Columns 1 through 5
-0.5979 - 0.8016i 0.8341 - 0.5516i 0.5036 + 0.8639i -0.8910 + 0.4540i -0.4029 - 0.9152i
Columns 6 through 10
0.9365 - 0.3505i 0.2971 + 0.9549i -0.9701 + 0.2426i -0.1874 - 0.9823i 0.9913 - 0.1316i
Columns 11 through 15
0.0754 + 0.9972i -0.9998 + 0.0189i 0.0376 - 0.9993i 0.9956 + 0.0940i -0.1501 + 0.9887i
Columns 16 through 20
-0.9786 - 0.2057i 0.2607 - 0.9654i 0.9491 + 0.3148i -0.3680 + 0.9298i -0.9076 - 0.4199i
Columns 21 through 25
0.4705 - 0.8824i 0.8544 + 0.5197i -0.5671 + 0.8236i -0.7903 - 0.6127i 0.6564 - 0.7544i
b =
Columns 1 through 5
-0.8007 - 0.5990i 0.6433 - 0.7656i 0.7280 + 0.6856i -0.7256 + 0.6881i -0.6460 - 0.7633i
Columns 6 through 10
0.7986 - 0.6018i 0.5558 + 0.8313i -0.8614 + 0.5079i -0.4584 - 0.8887i 0.9132 - 0.4074i
Columns 11 through 15
0.3552 + 0.9348i -0.9534 + 0.3018i -0.2474 - 0.9689i 0.9813 - 0.1923i 0.1365 + 0.9906i
Columns 16 through 20
-0.9968 + 0.0803i -0.0239 - 0.9997i 0.9995 + 0.0326i -0.0891 + 0.9960i -0.9894 - 0.1452i
Columns 21 through 25
0.2009 - 0.9796i 0.9667 + 0.2559i -0.3101 + 0.9507i -0.9317 - 0.3634i 0.4154 - 0.9096i
0 Comments
Accepted Answer
Honglei Chen
on 30 Sep 2015
The sensorsig function produces a random test signal each time you invoke it. The only thing it does is to modulate the signal with phase shifts corresponding to the signal direction. That's why a and b are different. The idea is that the array processing algorithms exploits only the spatial information so time domain information is less relevant. If you want to produce the same signal every time, you can set the random seed before calling the function. For example
rng(0);
a = sensorsig(getElementPosition(sUCA)/lambda,Nsamp,15);
rng(0);
b = sensorsig(getElementPosition(sUCA)/lambda,Nsamp,15);
produce the same a and b.
HTH.
More Answers (0)
See Also
Categories
Find more on Array Geometries and Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!