2D beamforming simulation

조회 수: 16(최근 30일)
Anandu S 21 Sep 2019
댓글: Anandu S 24 Sep 2019
How to design an antenna with the below mentioned specifications

댓글 수: 2

darova 21 Sep 2019
What have you tried already? DO you have any attempts?
Anandu S 21 Sep 2019
yah I did.
f=4e9;
theta1=-180:180;
phi1=-90:90;
[theta phi]=meshgrid(theta1,phi1);
theta3dB=30;
Am=21;
antennaElement = phased.CustomAntennaElement(...
'AzimuthAngles',theta1, ...
'ElevationAngles',phi1, ...
'PhasePattern',phasepattern);
fe = figure;
pattern(antennaElement,f);
and I got a pattern and I'm not sure whether this is correct or not!.The pattern shouldn't be a function of the elevation angle but does act in that way.

로그인 to comment.

답변(1개)

Honglei Chen 23 Sep 2019
First of all, I don't think elevation is changing. This plot is in spherical coordinates, so the surface is curved, but the colormap shows that the value is constant along elevation dimension.
I see you are modeling the 5G antenna, I beleive there is an equation for azimuth direction too. Once you get this two, you can combine the two to form the 3D pattern of the antenna and set it in CustomAntennaElement.
HTH

댓글 수: 1

Anandu S 24 Sep 2019
I've already done the 3D pattern. I'am trying to compare the cdf of sinrs of 2D and 3D beamforming. The sinr map for 2D beamforming that I got is not the expected one. https://ieeexplore.ieee.org/document/7492925/authors#authors I'm actullay following this paper
clc;
clear all;
close all;
%centre cell
centreCell=txsite('Name','MathWorks Glasgow', ...
'Latitude',55.862787,...
'Longitude',-4.258523);
cellNumber=19;
cellDistances=zeros(1,cellNumber);
cellAngles = zeros(1,cellNumber);
isd=750;
%distances and angles for first ring of cells
cellDistances(2:7) = isd;
cellAngles(2:7) = 30:60:360;
%distances and angles for second ring of cells
cellDistances(8:13) = 2*isd*cosd(30);
cellAngles(8:13) = 0:60:300;
%distances and angles for second ring of cells
cellDistances(14:19) = 2*isd;
cellAngles(14:19) = 30:60:360;
%%
cellAngles= cellAngles.*(pi./180);
[x,y]=pol2cart(cellAngles,cellDistances);
scatter(x,y);
%%
numSectors = cellNumber*3;
sectLats = zeros(1,numSectors);
sectLons = zeros(1,numSectors);
sectNames = strings(1,numSectors);
sectAngles = zeros(1,numSectors);
SectorAngles = [30 150 270];
sectIn=1;
for cellIn = 1:cellNumber
% Compute site location using distance and angle from center site
[cellLat,cellLon] = location(centreCell, cellDistances(cellIn), cellAngles(cellIn));
% Assign values for each cell
for SectorAngle = SectorAngles
sectNames(sectIn) = "sect " + sectIn;
sectLats(sectIn) = cellLat;
sectLons(sectIn) = cellLon;
sectAngles(sectIn) = SectorAngle;
sectIn = sectIn + 1;
end
end
f=6e9;
%f=850e6;
antHeight=50;
txPowerdB=44;
txPower=10.^((txPowerdB-30)./10);
txs=txsite('Name',sectNames, ...
'Latitude',sectLats, ...
'Longitude',sectLons, ...
'AntennaAngle',sectAngles, ...
'AntennaHeight',antHeight, ...
'TransmitterFrequency',f, ...
'TransmitterPower',txPower);
%viewer=siteviewer;
show(txs);
%viewer.Basemap='openstreetmap';
theta1=-180:180;
phi1=-90:90;
[theta phi]=meshgrid(theta1,phi1);
phi3dB=10;
theta3dB=70;
phi_tilt=-20;
Am=30;
%AvdB=-min(12.*((phi-phi_tilt)./phi3dB).^2,Am);
antennaElement = phased.CustomAntennaElement(...
'AzimuthAngles',theta1, ...
'ElevationAngles',phi1, ...
'PhasePattern',phasepattern);
fe = figure;
pattern(antennaElement,f);
for tx=txs
tx.Antenna=antennaElement;
end
bw = 20e6; % 20 MHz bandwidth
rxNoiseFigure = 7; % dB
rxNoisePower = -174 + 10*log10(bw) + rxNoiseFigure;
rxGain = 0; % dBi
rxAntennaHeight = 1.5; % m
% Display SINR map
if isvalid(fe)
close(fe)
end
sinr(txs,'freespace', ...
'MaxRange',isd, ...
'Resolution',isd/20)
I should get a sinr map like this

로그인 to comment.

이 질문에 답변하려면 로그인을(를) 수행하십시오.

Translated by