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

조회 수: 10 (최근 30일)
Gergely
Gergely 2024년 9월 13일
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