rotate elements in phase.ConformalArray

4 次查看(过去 30 天)
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]);

采纳的回答

Honglei Chen
Honglei Chen 2018-1-15
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

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by