clear,clc, close all
fc=[4 12]*1e9;
c = physconst('lightspeed');
steerang = [20;0];
rad_ele = phased.CosineAntennaElement('CosinePower', [1.3 1.3], 'FrequencyRange', [0 20e9]);
sub_array_size = [6 8];
antenna_spacing = 0.00762;
sub_array = phased.URA('Element', rad_ele, 'ElementSpacing', antenna_spacing, 'Size', sub_array_size, 'ArrayNormal', 'x');
num_sub_arrays = [20 20];
array = phased.ReplicatedSubarray('Subarray',sub_array,'GridSize',num_sub_arrays,'SubarraySteering','Custom');
taper = taylorwin(sub_array.Size(1)*num_sub_arrays(1)).*taylorwin(sub_array.Size(2)*num_sub_arrays(2))';
ws=[];
for x = 1:num_sub_arrays(2)
for y = 1:num_sub_arrays(1)
temp_taper = taper(sub_array_size(1)*(y-1)+1:sub_array_size(1)*(y),sub_array_size(2)*(x-1)+1:sub_array_size(2)*(x));
ws(:,end+1) = temp_taper(:);
end
end
steeringvec_replarray = phased.SteeringVector('SensorArray',array,...
'PropagationSpeed',c,'IncludeElementResponse',true);
wts_array = squeeze(steeringvec_replarray(fc,steerang,ws) );
figure
subplot(2,1,1)
pattern(array, fc,-90:.1:90, 0 ,'CoordinateSystem', 'Rectangular',...
'normalize', true,'type','powerdb','SteerAngle',steerang,...
'ElementWeights',ws);
hold on
subplot(2,1,2)
pattern(array, fc,-90:.1:90, 0 ,'CoordinateSystem', 'Rectangular',...
'type','powerdb','SteerAngle',steerang,...
'Weights',wts_array,'ElementWeights',ws);
0 Comments
Sign in to comment.