rotate elements in phase.ConformalArray

16 views (last 30 days)
Hello
In the following code, I designed a spiral antenna (sa), and used the sa in a cavity backed spiral antenna (CBSA).
Then I used the CBSA as the element in a 7-element array (DA03) using phased.ConformalArray.
S1 is the incoming signal with SNR 20dB.
After that phased.Collector will collect S1 signal at frequency fc including element response at each element.
The question is when using the 'phased.ConformalArray' to form DA03 array, can I rotate each element to certain angle in xy-plane based on the center of each spiral to simulate elements are not perfectly installed?
%--------------------------------------------------------------------------
sa = spiralArchimedean('Turns',9, 'InnerRadius',1e-3, ...
'OuterRadius',11e-3);
CBSA = cavityCircular('Exciter',sa,'Radius',12e-3,'Height',....
25e-3,'Spacing',23e-3);
%--------------------------------------------------------------------------
N2D=7;
p(:,1) = [ 0.0000; 0.0000; 0]; %DA03
p(:,2) = [ 25; 7.5; 0]; %DA03
p(:,3) = [ 7.5; 25; 0]; %DA03
p(:,4) = [-19; 17.5; 0]; %DA03
p(:,5) = [-26; -8.3; 0]; %DA03
p(:,6) = [ -8.3; -26; 0]; %DA03
p(:,7) = [ 17.5; -19; 0]; %DA03
p = p*1e-3;
a=zeros(1,N2D);e=90*ones(1,N2D);
DA03 = phased.ConformalArray('Element',CBSA,'ElementPosition',p,...
'ElementNormal',[a;e]);
%--------------------------------------------------------------------------
fc = 10*1e9;
Tc=1/fc;
df = 10e6; %df/2 is ESM frequency measurement uncertainty
WL = physconst('LightSpeed')/fc; %wavelength
t = linspace(0,2*Tc,400)';
dt=t(2);
SigAz = 10;
SigEl = 20;
% Incoming signals
S1 = 10*cos(2*pi*fc*t);
S1=awgn(S1,20,'measured');
% collect signal
collector = phased.Collector('Sensor',DA03,'OperatingFrequency',fc,...
'Wavefront','Plane','Polarization','none');
yDa = collector(S1,[SigAz;SigEl]);
svDA = phased.SteeringVector('SensorArray',DA03,...
'IncludeElementResponse',true);
A=svDA(fc,[SigAz;SigEl]);

Accepted Answer

Honglei Chen
Honglei Chen on 15 Jan 2018
Phased Array System Toolbox currently does not have a parameter for this. Thanks for the question and I'll take note for the request. At this point, the best way to do this may be to create a heterogeneous array, like phased.HeterogeneousConformalArray, and then assign the slightly rotated pattern to each element.
HTH

More Answers (0)

Community Treasure Hunt

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

Start Hunting!