天线波束扫描可视化

这个例子使用:

天线工具箱      相控阵系统工具箱

这个例子展示了如何可视化的变化模式和覆盖图的天线阵列,因为它扫描一个角度的扫描。天线阵列是使用天线工具箱 TM 和相控阵系统工具箱 TM 创建的。该阵列被设计成在 xy 平面内定向和辐射,以便在地理方位角产生最大的覆盖区域。在地图上创建和显示发射站和接收站,并且在天线阵列被操纵时显示模式和覆盖图。

反射面支撑偶极子天线单元的设计

利用天线工具箱设计了一种反射面支撑的偶极子天线单元。设计单元及其激励器为10GHz,并指定倾斜到直接辐射在 xy 平面,这对应于地理方位。

% 设计反射器背偶极子天线元件
fq = 10e9; % 10 GHz
myelement = design(reflector,fq);
myelement.Exciter = design(myelement.Exciter,fq);

% 倾斜天线元件以xy平面辐射,沿x轴瞄准镜
myelement.Tilt = 90;
myelement.TiltAxis = 'y';
myelement.Exciter.Tilt = 90;
myelement.Exciter.TiltAxis = 'y';

% 创建 7 x 7 天线阵列                         
nrow = 7;
ncol = 7;
myarray = phased.URA('Size',[nrow ncol],'Element',myelement);
    
% 将元素间距定义为 10 GHz 的半波长,并指定
% 阵列平面作为 YZ 平面,将辐射引导到 x 轴方向
lambda = physconst('lightspeed')/fq;
drow = lambda/2;
dcol = lambda/2; 
myarray.ElementSpacing = [drow dcol];
myarray.ArrayNormal = 'x';
    
% 显示辐射图
f = figure;
az = -180:1:180;
el = -90:1:90;  
pattern(myarray,fq,az,el)

在华盛顿纪念碑创建发射站点

利用天线阵列在华盛顿特区的华盛顿纪念碑建立一个发射站。发射机的频率与天线的设计频率相匹配,发射机的输出功率为1 W。将天线高度设置为169米,即纪念碑的高度。

在华盛顿特区创建一个接收站点阵列。这些用作感兴趣地点的地点标记,以评估发射台地点的覆盖范围。

% 设计反射器背偶极子天线元件
fq = 10e9; % 10 GHz
myelement = design(reflector,fq);
myelement.Exciter = design(myelement.Exciter,fq);

% 倾斜天线元件以xy平面辐射,沿x轴瞄准镜
myelement.Tilt = 90;
myelement.TiltAxis = 'y';
myelement.Exciter.Tilt = 90;
myelement.Exciter.TiltAxis = 'y';

% 创建 7 x 7 天线阵列                         
nrow = 7;
ncol = 7;
myarray = phased.URA('Size',[nrow ncol],'Element',myelement);
    
% 将元素间距定义为 10 GHz 的半波长,并指定
% 阵列平面作为 YZ 平面,将辐射引导到 x 轴方向
lambda = physconst('lightspeed')/fq;
drow = lambda/2;
dcol = lambda/2; 
myarray.ElementSpacing = [drow dcol];
myarray.ArrayNormal = 'x';
    
% 显示辐射图
f = figure;
az = -180:1:180;
el = -90:1:90;  
pattern(myarray,fq,az,el)


tx = txsite("Name","Washington Monument",...
    "Latitude",38.88949, ...
    "Longitude",-77.03523, ...
    "Antenna",myarray,...
    "AntennaHeight",169', ...
    "TransmitterFrequency",fq,...
    "TransmitterPower",1);

if isvalid(f)
    close(f)
end
viewer = siteviewer;
show(tx)
pattern(tx)



% 定义接收方站点的名称
rxNames = [...
    "Brentwood Hamilton Field" ...
    "Nationals Park" ...
    "Union Station" ...
    "Georgetown University" ...
    "Arlington Cemetery"];

% 定义接收方站点的坐标
rxLocations = [...
    38.9080 -76.9958; ...
    38.8731 -77.0075; ...
    38.8976 -77.0062; ...
    38.9076 -77.0722; ...
    38.8783 -77.0685];

% 创建接收方站点阵列。每个接收器的灵敏度为 -75 dBm。
rxs = rxsite("Name",rxNames, ...
    "Latitude",rxLocations(:,1), ...
    "Longitude",rxLocations(:,2), ...
    "ReceiverSensitivity",-75);

show(rxs)

viewer.Basemap = "streets";

% 获取起始阵列锥度
startTaper = myarray.Taper;

% 定义要执行扫描的角度
azsweep = -30:10:30;

% 设置锥形窗口和转向矢量
N = nrow*ncol;
nbar = 5; 
sll = -20;
sltaper = taylorwin(N,nbar,sll)';
steeringVector = phased.SteeringVector("SensorArray",myarray);

% 扫描角度并显示每个角度的天线方向图
for az = azsweep
    sv = steeringVector(fq,[az; 0]);    
    myarray.Taper = sltaper.*sv';
    
    % 更新辐射图。使用较大的尺寸,以便在天线站点中可以看到图案。
    pattern(tx, "Size", 2500,"Transparency",1);
end

%重置
myarray.Taper = startTaper;

% 定义信号强度级别 (dBm) 和相应的颜色
strongSignal = -65;
mediumSignal = -70;
weakSignal = -75;
sigstrengths = [strongSignal mediumSignal weakSignal];
sigcolors = ["red" "yellow" "green"];

% 展示阵列方向图
pattern(tx,"Size",500)

%显示覆盖地图,最远可达 6 公里
maxRange = 6000;
coverage(tx, ...
    "SignalStrengths",sigstrengths, ...
    "Colors",sigcolors, ...
    "MaxRange",maxRange)

% 重复扫描,但显示模式和覆盖图
for az = azsweep
    % 根据转向矢量计算和分配锥度
    sv = steeringVector(fq,[az; 0]);    
    myarray.Taper = sltaper.*sv';
    
    % 更新
    pattern(tx,"Size",500)

    % 更新覆盖范围
    coverage(tx, ...
        "SignalStrengths",sigstrengths, ...
        "Colors",sigcolors, ...
        "MaxRange",maxRange)
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如果我什么都不会,那么阁下如何应对呢?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值