✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
机载气象雷达技术的应用极大地提高了气象预报的实效性,为民航飞机的安全运行提供了可靠的保障.现有的机载气象雷达仍采用单极化机械扫描天线,仅能通过雷达反射率来判断气象目标的含水量,尚不具备降水目标分类的功能.双极化技术的引入,可以有效地提升气象雷达对降水类型的区分能力,是下一代机载气象雷达的发展趋势.机载双极化技术目前正处于研究阶段,尚无实际数据支撑,为了开展新体制机载气象雷达的研究,提供带有极化数据的气象目标仿真,是开展相关技术研究的前提条件.
⛄ 部分代码
function [nexrad_aoi,Ns] = helperSelectAOI(nexrad,az1,az2,rg1,rg2,blind_rg,range_res,num_az,num_bin)
% This function helperSelectAOI is in support of WeatherRadarExample.
% helperSelectAOI is to select an area of interest(AOI) that targets
% occupy. nexrad is a struct object holding NEXRAD moment data. az1 and az2
% are starting and ending azimuth angles specified in degree, rg1 and rg2
% are starting and ending ranges specified in meter. blind_rg is NEXRAD
% blind range, range_res is radar range resolution, num_az is the number of
% azimuth angles in the AOI, num_bin is the number of range bins in the
% AOI. The returned nexrad_aoi is a struct object holding AOI data, Ns is
% the number of available weather targets in space by removing NaN data.
% Azimuth angle for each radial data in the NEXRAD coordinate.
az_nexrad = mod(90-nexrad.azimuth,360);
% Transform from Cartesian coordinate to NEXRAD coordinate, to get the
% starting and ending radial indexes and range bin indexes of the AOI.
[r1,r2,b1,b2,aznum,rgnum] = cart2rad(az_nexrad,az1,az2,rg1,rg2,blind_rg,range_res);
% Define an area of interest(AOI) in terms of azimuth and range.
nexrad_aoi.ZH = nexrad.ZH(r1:r2,b1:b2);
nexrad_aoi.Vr = nexrad.Vr(r1:r2,b1:b2);
nexrad_aoi.SW = nexrad.SW(r1:r2,b1:b2);
nexrad_aoi.ZDR = nexrad.ZDR(r1:r2,b1:b2);
nexrad_aoi.Rhohv = nexrad.Rhohv(r1:r2,b1:b2);
nexrad_aoi.Phidp = nexrad.Phidp(r1:r2,b1:b2);
nexrad_aoi.r1 = r1;
nexrad_aoi.r2 = r2;
nexrad_aoi.b1 = b1;
nexrad_aoi.b2 = b2;
nexrad_aoi.aznum = aznum;
nexrad_aoi.rgnum = rgnum;
% Calculate the number of available weather targets in the 2D space by
% removing nan data.
r0 = (num_az-aznum)/2;
nexrad_aoi.rlow = r1-r0;
nexrad_aoi.rup = r2+r0;
Ns = num_az*num_bin-sum(sum(isnan(nexrad.ZH(r1-r0:r2+r0,:))));
function [r1,r2,b1,b2,aznum,rgnum] = cart2rad(Az0,az1,az2,rg1,rg2,blind_rg,range_res)
az1_rad = mod(90-az1,360);
az2_rad = mod(90-az2,360);
r1 = min(find(abs(Az0-az1_rad)<0.5),find(abs(Az0-az2_rad)<0.5));
r2 = max(find(abs(Az0-az1_rad)<0.5),find(abs(Az0-az2_rad)<0.5));
b1 = (rg1-blind_rg)/range_res+1;
b2 = (rg2-blind_rg)/range_res+1;
aznum = r2-r1+1; % Number of azimuth angles in AOI
rgnum = b2-b1+1; % Number of range bins in AOI
⛄ 运行结果
⛄ 参考文献
[1]高梦青, 王海江, 李静,等. 基于物理模型的双极化多普勒天气雷达回波模拟[J]. 成都信息工程学院学报, 2020, 035(002):129-133.
[2]刘夏. 基于微物理特性的机载气象雷达极化数据仿真[D]. 中国民航大学, 2016.