exponenta event banner

Сравнение манифольда передачи и приема антенной решетки

В этом примере вычисляются и сравниваются передающие и приемные коллекторы для базовой полуволновой дипольной антенной решетки. Решетчатый коллектор является фундаментальным свойством антенных решеток, как в конфигурациях передачи, так и приема. Многообразия передачи и приема теоретически одинаковы из-за теоремы о взаимности. Этот пример подтверждает это равенство, обеспечивая важную проверку вычислений, выполняемых антенной Toolbox™.

Настройка анализа

Определите переменные, необходимые для вычисления магистралей передачи и приема антенны. Частота для анализа составляет 300 МГц, что приводит к длине волны в свободном пространстве приблизительно 1. Определите углы сдвига для азимута и отметки. Эти переменные будут использоваться для вычисления положений в дальнем поле антенны, в котором вычисляются электрическое и магнитное поля.

fc     = 3e8;
lambda = physconst('lightspeed')/fc;
R      = 100*lambda;
M      = 4;
ZL     = [];              
phi    = 5:5:175;
psi    = 0:5:80;
nphi   = length(phi);
npsi   = length(psi);
np     = nphi*npsi;
PHI    = kron(ones(1,npsi),pi/180*phi);
PSI    = kron(pi/180*psi,ones(1,nphi));

Создание декартовых координат для векторов наблюдений и единиц измерения

По переменным азимута и угла места вычисляют точки на сфере радиусом 100λ и единичные векторы.

antennapos    = [[-(M-1)/2:(M-1)/2]*lambda/2;zeros(2,M)]';
x    = R*cos(PSI).*cos(PHI);
y    = R*cos(PSI).*sin(PHI);
z    = R*sin(PSI);

Points = [x;y;z];

h = [-sin(PHI);cos(PHI);zeros(size(PHI))];
v = [-cos(PHI).*sin(PSI);-sin(PHI).*sin(PSI);cos(PSI)];
u = [cos(PHI).*cos(PSI);sin(PHI).*cos(PSI);sin(PSI)];

Создать антенную решетку

Создайте полуволновую дипольную антенну, расположенную вертикально вдоль оси Z. Этот элемент используется для построения конформного массива диполей, расположенных в линейной конфигурации с интервалом в половину длины волны между элементами.

d = dipole('Length',lambda/2,'Width',lambda/200); 
elem = [d,d,d,d];
dA   = conformalArray('Element',elem,'ElementPosition',antennapos);
figure;
show(dA)

Figure contains an axes. The axes with title conformalArray of dipole antennas contains 12 objects of type patch, surface. These objects represent PEC, feed.

Передающий манифольд вычислительного массива

Используйте поля EHfields для вычисления векторов электрического и магнитного полей в режиме передачи для массива. Расчет поля на частоте 300 МГц производится в точках наблюдения, указанных на сфере дальнего поля, и с учетом вклада вертикальной поляризации явно, так как дипольная ориентация является вертикальной. Анализ проводится таким образом, что возбуждаемый элемент имеет 50Ω нагрузку последовательно с источником напряжения, а все остальные элементы, не находящиеся под возбуждением, не имеют никакого внутреннего импеданса.

nomLoad  = lumpedElement('Impedance',ZL);
actLoad  = lumpedElement('Impedance',50);
for i=[1,1:M]
    % setup loads
    for m=1:M
        dA.Element(m).Load = nomLoad;
    end
    dA.Element(i).Load = actLoad;
    % setup active element
    ampTaper = zeros(1,M);
    ampTaper(i) = 1;
    dA.AmplitudeTaper = ampTaper;
    [E,H]    = EHfields(dA,fc,Points);
    Etx(i,:) = sum(E.*v);
end

Манифольд получения вычислительного массива

Для вычисления принимающего коллектора рассмотрим плоскую волну, падающую на матрицу с той же поляризацией электрического поля, но противоположную по направлению режиму передачи. Используйте объект planeWaveExcitation и функцию feedCurrent для вычисления тока, проходящего через питающие каналы в ответ на волну плоскости столкновения.

nomLoad  = lumpedElement('Impedance',ZL);
for m=1:M
    dA.Element(m).Load = nomLoad;
end

for n = 1:np
    dirVec = -u(:,n);
    polVec =  v(:,n);
    p = planeWaveExcitation('Element',dA,'Direction',dirVec,'Polarization',polVec);
    Erx(:,n) = feedCurrent(p,fc).';
end

Вычислить нормализованную ошибку между манифольдами

Вычислите нормализованную ошибку между коллекторами передачи и приема для каждого элемента массива. Изменить форму ошибки для построения графика в зависимости от углов азимута и отметки соответственно

for i=1:M
    a(i) = Erx(i,:)/Etx(i,:);
    err(i,:) = abs(Erx(i,:)-a(i)*Etx(i,:));
    mse      = sqrt(mean(abs(a(i)*Etx(i,:)).*abs(Erx(i,:))));
    err(i,:) = err(i,:)/mse;
    Etx(i,:) = a(i)*Etx(i,:);
end

ETX = reshape(Etx,M,nphi,npsi);
ERX = reshape(Erx,M,nphi,npsi);
for i = 1:M
    ETXmag(i,:,:) =  abs(squeeze(ETX(i,:,:)))';
    ETXphase(i,:,:) = 180/pi*angle(squeeze(ETX(i,:,:)))';
    ERXmag(i,:,:) =  abs(squeeze(ERX(i,:,:)))';
    ERXphase(i,:,:) = 180/pi*angle(squeeze(ERX(i,:,:)))';
end
ERR = 20*log10(reshape(mean(err),nphi,npsi));

Постройте график манифольда передачи, приема и шаблона ошибок

Передающие и приемные коллекторы показывают большую степень сходства в амплитудных и фазовых графиках. Это подтверждается графиком ошибок с максимальной погрешностью приблизительно -40 дБ по размаху углов азимута и отметки.

for i=1:M
    figure;
    subplot(221)
    imagesc(phi,psi,squeeze(ETXmag(i,:,:)));
    colorbar
    colormap('jet')
    xlabel('Azimuth [deg]','LineWidth',6);
    ylabel('Elevation [deg]','LineWidth',6);
    title(['Tx magnitude pattern, ant ',num2str(i)],'FontSize',10)

    subplot(222)
    imagesc(phi,psi,squeeze(ETXphase(i,:,:)));
    colorbar
    colormap('jet')
    xlabel('Azimuth [deg]','LineWidth',6);
    ylabel('Elevation [deg]','LineWidth',6);
    title(['Tx phase pattern, ant ',num2str(i)],'FontSize',10)

    subplot(223)
    imagesc(phi,psi,squeeze(ERXmag(i,:,:)));
    colorbar
    colormap('jet')
    xlabel('Azimuth [deg]','LineWidth',6);
    ylabel('Elevation [deg]','LineWidth',6);
    title(['Rx magnitude pattern, ant ',num2str(i)],'FontSize',10);
    
    subplot(224)
    imagesc(phi,psi,squeeze(ERXphase(i,:,:)));
    colorbar
    colormap('jet')
    xlabel('Azimuth [deg]','LineWidth',6);
    ylabel('Elevation [deg]','LineWidth',6);
    title(['Rx phase pattern, ant ',num2str(i)],'FontSize',10);
end

Figure contains 4 axes. Axes 1 with title Tx magnitude pattern, ant 1 contains an object of type image. Axes 2 with title Tx phase pattern, ant 1 contains an object of type image. Axes 3 with title Rx magnitude pattern, ant 1 contains an object of type image. Axes 4 with title Rx phase pattern, ant 1 contains an object of type image.

Figure contains 4 axes. Axes 1 with title Tx magnitude pattern, ant 2 contains an object of type image. Axes 2 with title Tx phase pattern, ant 2 contains an object of type image. Axes 3 with title Rx magnitude pattern, ant 2 contains an object of type image. Axes 4 with title Rx phase pattern, ant 2 contains an object of type image.

Figure contains 4 axes. Axes 1 with title Tx magnitude pattern, ant 3 contains an object of type image. Axes 2 with title Tx phase pattern, ant 3 contains an object of type image. Axes 3 with title Rx magnitude pattern, ant 3 contains an object of type image. Axes 4 with title Rx phase pattern, ant 3 contains an object of type image.

Figure contains 4 axes. Axes 1 with title Tx magnitude pattern, ant 4 contains an object of type image. Axes 2 with title Tx phase pattern, ant 4 contains an object of type image. Axes 3 with title Rx magnitude pattern, ant 4 contains an object of type image. Axes 4 with title Rx phase pattern, ant 4 contains an object of type image.

figure;
imagesc(phi,psi,ERR');
colorbar
colormap('jet')
xlabel('Azimuth [deg]','LineWidth',6);
ylabel('Elevation [deg]','LineWidth',6);
title('Normalized error','FontSize',10)

Figure contains an axes. The axes with title Normalized error contains an object of type image.

Подтверждение

Этот пример был разработан в сотрудничестве с профессором Бенджамином Фридландером в Калифорнийском университете в Санта-Крусе.

См. также

|