2D MIMO virtual antenna array with different tx and rx antennas

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

类别

Help CenterFile Exchange 中查找有关 Phased Array Design and Analysis 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by