2D MIMO virtual antenna array with different tx and rx antennas
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi All!
I am trying to build up an antenna object, which consists of 3 TX and 4 RX antennas, which would eventually end up as a 2D 12 element virtual antenna array. The TX and RX antennas would have different design, therefore I need to import different characteristics for TX and RX.
My plan is to check and optimize the virtual antenna array pattern, however, I cannot combine the TX and RX array as a virtual array.
I can also combine the TX and RX patterns, but as far as I know, that is just the magnitude, and not the phase. I want to make sure, that the TX and RX phase pattern is properly taken into account.
Here is the code I have so far (the antennas are not real, just a simulated patch and vivaldi antenna data, I won't even use vivaldi antenna in the future). All the filepath and sensor positions info is deleted.
Many thanks in advance!
clear all;
clc;
%% Parameters
Freq = 62e9;
c = 3e8;
Lambda = c/Freq;
Phi = [0:2:360];
Theta = [0:2:180];
%% Create TX array
% Add Patch element
PatchMagPat = readmatrix('VVV.csv');
PatchPhasePat = readmatrix('WWW.csv');
PatchMag = reshape(PatchMagPat(:, 3), length(Phi), length(Theta))';
PatchPhase = reshape(PatchPhasePat(:, 3), length(Phi), length(Theta))';
AntElem_Patch = phased.CustomAntennaElement('PatternCoordinateSystem','phi-theta','PhiAngles',Phi,'ThetaAngles',Theta, ...
'MagnitudePattern',PatchMag,'PhasePattern',PatchPhase);
txarray = phased.ConformalArray('Element',AntElem_Patch,...
'ElementPosition','???');
txradiator = phased.Radiator('Sensor',txarray,'OperatingFrequency',Freq,...
'PropagationSpeed',c);
%% Create RX array
% Add Vivaldi element
VivaldiMagPat = readmatrix('XXX.csv');
VivaldiPhasePat = readmatrix('YYY.csv');
VivaldiMag = reshape(VivaldiMagPat(:, 3), length(Phi), length(Theta))';
VivaldiPhase = reshape(VivaldiPhasePat(:, 3), length(Phi), length(Theta))';
AntElem_Vivaldi = phased.CustomAntennaElement('PatternCoordinateSystem','phi-theta','PhiAngles',Phi,'ThetaAngles',Theta, ...
'MagnitudePattern',VivaldiMag,'PhasePattern',VivaldiPhase);
rxarray = phased.ConformalArray('Element',AntElem_Patch,...
'ElementPosition','???');
rxcollector = phased.Collector('Sensor',rxarray,'OperatingFrequency',Freq,...
'PropagationSpeed',c);
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Phased Array Design and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!