rotate elements in phase.ConformalArray
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Chen
 am 11 Jan. 2018
  
    
    
    
    
    Beantwortet: Honglei Chen
    
      
 am 15 Jan. 2018
            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]);
0 Kommentare
Akzeptierte Antwort
  Honglei Chen
    
      
 am 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
0 Kommentare
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

