波束躍度影響:TR芯片移相器位數、陣元數量、校準后陣元初始相位、TR芯片移相器精度、波控計算精度等。用MATLAB進行TR芯片移相器位數、陣元數量對指向誤差進行仿真。
close all;
%線陣波束躍度仿真 20250726
%beam displacement
% 波束躍度影響:TR芯片移相器位數、陣元數量、校準后陣元初始相位、TR芯片移相器精度、波控計算精度等
%% 參數配置
array_num = 16 ; %陣元數
array_d = 6.8e-3 ; %陣元間距6.8mm
beam_freq = 20e9 ; %波控頻率20GHz
c = 3e8 ; %光速
beam_theta = 60 ; %波控角度
beam_theta_rad = pi*beam_theta./180; %波控角度弧度制
tr_bits = 6 ; %TR芯片移相器位數
tr_phase_step = 360./(2^tr_bits) ; %移相步進
sim_angle_s = 0.0001 ; %方向圖角度仿真精度
sim_angle = -90:sim_angle_s:90; % 仿真角度范圍
sim_angle_rad = pi*sim_angle./180 ; % 仿真角度范圍弧度制%% 移相值計算
delta_phase = (array_d*sin(beam_theta_rad))/(c/beam_freq)*360; %波控時陣元間的相位差
arr_beam_ph = zeros(1,array_num); %每個陣元的移相值
for i=1:array_numarr_beam_ph(i) = (i-1)*delta_phase;
end
arr_beam_ph_tr = round(arr_beam_ph./tr_phase_step) ; % 每個移相器配置值 量化到指定精度
arr_beam_ph_ang = arr_beam_ph_tr*tr_phase_step ; % 量化后的實際移相值%% 合成方向圖
delta_phase_sim = (array_d*sin(sim_angle_rad))/(c/beam_freq)*360;
arr_delta_phase_sim = (0:1:(array_num-1))'*delta_phase_sim;
x = arr_beam_ph_ang' - arr_delta_phase_sim;
x_rad = pi*(x./180);beam_mix = zeros(1,length(sim_angle_rad));
for i=1:length(sim_angle_rad)beam_mix(i) = sum(cos(x_rad(:,i)));
endplot(sim_angle,beam_mix);[maxVal,Idx] = max(beam_mix);%波束最大值位置
max_ang = sim_angle(Idx) ;%波束指向角度delta_ang = beam_theta-max_ang;%波束指向角度誤差fprintf("陣元數量:%s個\n",num2str(array_num,'%.0f'));
fprintf("移相精度:%s位\n",num2str(tr_bits,'%.0f'));
fprintf("波控角度:%s度\n",num2str(beam_theta,'%.0f'));
fprintf("指向誤差:%s度\n",num2str(delta_ang,'%.4f'));