Путь к распространению радиолокационной системы изменяется присутствием среды, в которой это действует. При пропуске поверхности диаграмма направленности свободного пространства изменяется отраженной волной, которая приводит к интерференционному шаблону с лепестками и аннулирует. В максимуме лепестка радарный возврат может быть увеличен на целых 12 дБ, тогда как в минимуме возврат может теоретически перейти в 0.
Вертикальный шаблон покрытия является контуром обнаружения. Это предлагает взгляд в эффективность радиолокационной системы на постоянном уровне сигнала, как задано областью значений свободного пространства. Вертикальное покрытие учитывает интерференцию между прямыми и отраженными о земле лучами, а также преломление. Этот пример задаст радиолокационную систему L-полосы в присутствии тяжелой помехи и покажет вам, как визуализировать ее 3-мерное вертикальное покрытие по ландшафту.
Чтобы запуститься, задайте радар наблюдения L-полосы следующими параметрами:
Пиковая мощность: 3 кВт
Рабочая частота: 1 ГГц
Ширина луча передающей и приемной антенны: 20 градусов в области азимута и вертикального изменения
Ширина импульса: 2 μs
% Radar parameters rfs = 50e3; % Free-space range (m) rdrppower = 3e3; % Peak power (W) fc = 1e9; % Operating frequency (Hz) hpbw = 20; % Half-power beamwidth (deg) rdrpulsew = 2e-6; % Pulse width (s) tiltAng = 1; % Radar tilt (elevation) angle (deg) azRotation = 80; % Radar azimuth rotation angle (deg) % Vertical coverage parameters minEl = 0; % Minimum vertical coverage angle (deg) maxEl = 90; % Maximum vertical coverage angle (deg) elStepSize = 1; % Elevation step size (deg) azAng = -60:2:60; % Azimuth angles for elevation cuts (deg)
Преобразуйте ширину луча передающей антенны на уровне половинной мощности (HPBW) значения, чтобы получить использование beamwidth2gain
функция. Примите косинус прямоугольная апертура, которая является хорошим приближением для реальной антенны.
rdrgain = beamwidth2gain(hpbw,'CosineRectangular'); % Transmit and receive antenna gain (dBi)
Следующий раздел задает радарное местоположение. Радар смонтирован на высокой башне 100 метров над землей. Радарная высота является суммой наземного вертикального изменения и радарной высоты башни, на которую ссылаются к среднему уровню моря (MSL). Визуализируйте местоположение с помощью geoplot3
. Радар появится как красная круговая точка в верхнем правом угле изображения ниже.
% Radar location rdrlat = 39.5; % Radar latitude (deg) rdrlon = -105.5; % Radar longitude (deg) rdrtowerht = 100; % Antenna height (m) surfaceHtAtRadar = 2812; % Surface height at radar location (m) rdralt = surfaceHtAtRadar + rdrtowerht; % Radar altitude (m) % Import the relevant terrain data from the United States Geological % Survey (USGS) dtedfile = 'n39_w106_3arc_v2.dt1'; attribution = 'SRTM 3 arc-second resolution. Data available from the U.S. Geological Survey.'; [Z,R] = readgeoraster(dtedfile,'OutputType','double'); % Visualize the location including terrain using the geographic globe plot addCustomTerrain('southboulder',dtedfile,'Attribution',attribution); hTerrain = uifigure; g = geoglobe(hTerrain,'Terrain','southboulder','Basemap','streets'); hold(g,'on') h_rdrtraj = geoplot3(g,rdrlat,rdrlon,rdralt,'o','Color',[0.6350 0.0780 0.1840],'LineWidth',6,'MarkerSize',6); campos(g,40.0194565714502,-105.564712896622,13117.1497971643); camheading(g,150.8665488888147); campitch(g,-16.023558618352187);
В данном примере свободное пространство располагается rfs
область значений, в которой цель имела бы заданное отношение сигнал-шум (SNR). Примите большую цель с 10 dBsm эффективными площадями рассеивания (RCS). В этой области значений целевой ОСШ свободного пространства может быть вычислен можно следующим образом.
trcs = db2pow(10); % RCS (m^2) lambda = freq2wavelen(fc); % Wavelength (m) tsnr = radareqsnr(lambda,rfs,rdrppower,rdrpulsew, ... 'RCS',trcs,'Gain',rdrgain)
tsnr = -0.7449
Для нашего радара наблюдения желаемый индекс эффективности является вероятностью обнаружения (Pd) 0,8 и вероятность ложного предупреждения (PFA) ниже 1e-3. Чтобы сделать разработку радарных систем более выполнимой, мы можем использовать импульсный метод интегрирования, чтобы уменьшать необходимый ОСШ. Для этой системы мы принимаем некогерентное интегрирование 64 импульсов. Хорошее приближение минимального ОСШ, необходимого для обнаружения в заданном Pd и PFA, может быть вычислено detectability
функция можно следующим образом. Обратите внимание на то, что ОСШ свободного пространства удовлетворяет требованию обнаружительной способности.
Pd = 0.8; Pfa = 1e-3; minsnr = detectability(Pd,Pfa,64); isdetectable = tsnr >= minsnr
isdetectable = logical
1
toccgh
функция позволяет переводить вероятности обнаружения приемника в вероятности дорожки. Принимая средство отслеживания по умолчанию, необходимый Pd и PFA переводят в следующую вероятность целевой дорожки (PDT) и вероятность ложной дорожки (Pft).
[Pdt,Pft] = toccgh(Pd,Pfa)
Pdt = 0.9608
Pft = 1.0405e-06
Pd и требования PFA включают вероятность дорожки приблизительно 96% и ложную вероятность дорожки порядка 1e-6.
Вертикальный шаблон покрытия визуализируется с помощью графика Блэйка, также известного как график угла высоты области значений. Область значений вдоль оси X является распространенной областью значений, и высота вдоль оси Y относительно источника луча.
Вертикальный контур покрытия вычисляется с помощью radarvcd
функция. Модель проницаемости по умолчанию в radarvcd
основан на морской модели проницаемости в "Графическом выводе машины Блэйком Радарных Схем Покрытия Вертикальной Плоскости". Такая модель не применима для заданного сценария, который является по земле. Таким образом первый шаг в симуляции более реалистического распространения должен выбрать более соответствующую проницаемость. Используйте earthSurfacePermittivity
функция с флагом растительности. Примите температуру окружающей среды 21,1 градусов Цельсия, которая составляет приблизительно 70 градусов по Фаренгейту. Примите гравиметрическое содержание воды 0,3.
temp = 21.1; % Ambient temperature (degrees Celsius) gwc = 0.3; % Gravimetric water content [~,~,epsc] = earthSurfacePermittivity('vegetation',fc,temp,gwc);
Затем задайте антенну. Симулируйте антенну как теоретический sinc шаблон антенны и график.
hBeam = phased.SincAntennaElement('Beamwidth',hpbw);
pattern(hBeam,fc);
Получите шаблон вертикального изменения в 0 азимутах степеней.
elAng = -90:0.01:90; pat = getVoltagePattern(hBeam,fc,0,elAng);
Задайте атмосферу и вычислите соответствующий эффективный Наземный радиус. Поскольку широта радара в этом примере является 39,5 градусами, середина модели атмосферы широты была бы самой соответствующей. Примите, что период времени в течение лета.
% Set effective Earth radius using the mid latitude atmosphere model % in summer [nidx,N] = refractiveidx([0 1e3], ... 'LatitudeModel','Mid','Season','Summer'); RGradient = (nidx(2) - nidx(1))/1e3; Re = effearthradius(RGradient); % m
Затем вычислите вертикальный шаблон покрытия с помощью radarvcd
функция.
[vcpkm,vcpang] = radarvcd(fc,rfs.*1e-3,rdrtowerht, ... 'SurfaceRelativePermittivity',epsc, ... 'SurfaceHeightStandardDeviation',30, ... 'Vegetation','Trees', ... 'AntennaPattern',pat,'PatternAngles',elAng, ... 'TiltAngle',tiltAng, ... 'EffectiveEarthRadius',Re, ... 'MinElevation',minEl, ... 'ElevationStepSize',elStepSize, ... 'MaxElevation',maxEl);
Используйте поверхностную высоту на сайте, чтобы получить поверхностное явление преломления из refractiveidx
.
% Calculate an appropriate surface [~,Ns] = refractiveidx(surfaceHtAtRadar,'LatitudeModel','Mid','Season','Summer');
Постройте вертикальное покрытие с помощью blakechart
функция. blakechart
оси формируются с помощью атмосферы ссылки Центральной радио-лаборатории распространения (CRPL). Модель CRPL широко используется и аппроксимирует профиль явления преломления как экспоненциальное затухание по сравнению с высотой, которая, как показывали, была превосходным приближением для нормальной атмосферы (i.e., атмосфера, которая не подвергается аномальному распространению как передача по каналу). Модель CRPL адаптируется путем установки поверхностного явления преломления высоты и экспоненты преломления к значению, которое подходит для местоположения, в котором система действует и время года.
Обновите поверхностное явление преломления и входные параметры экспоненты преломления в вызове функции. В последующем графике постоянный уровень сигнала контура дан ранее расчетным целевым ОСШ.
rexp = refractionexp(Ns); blakechart(vcpkm,vcpang,'ScalePower',1,'SurfaceRefractivity',Ns,'RefractionExponent',rexp)
Следующий раздел вычисляет вертикальное покрытие в заданных интервалах азимута. Вертикальная область значений покрытия и угол преобразованы в высоту с помощью range2height
функция с помощью 'CRPL'
метод. Значения угла высоты области значений затем преобразованы в Декартов.
% Initialize Cartesian X, Y, Z outputs numAz = numel(azAng); numRows = numel(minEl:elStepSize:maxEl)+1; vcpX = zeros(numRows,numAz); vcpY = zeros(numRows,numAz); vcpZ = zeros(numRows,numAz); wgs84 = wgs84Ellipsoid; % Obtain vertical coverage contour in Cartesian coordinates for idx = 1:numAz % Get elevation pattern at this azimuth pat = getVoltagePattern(hBeam,fc,azAng(idx),elAng); % Get terrain height information [xdir,ydir,zdir] = sph2cart(deg2rad(azAng(idx)+azRotation),0,1e3); [xlat,ylon,zlon] = enu2geodetic(xdir,ydir,zdir,rdrlat,rdrlon,rdralt,wgs84); [~,~,~,htsurf] = los2(Z,R,rdrlat,rdrlon, ... xlat,ylon,rdralt,zlon,'MSL','MSL'); htstdSurf = std(htsurf(~isnan(htsurf))); % Calculate vertical coverage pattern [vcp,vcpang] = radarvcd(fc,rfs,rdrtowerht, ... 'RangeUnit','m', ... 'HeightUnit','m', ... 'SurfaceRelativePermittivity',epsc, ... 'SurfaceHeightStandardDeviation',htstdSurf, ... 'Vegetation','Trees', ... 'AntennaPattern',pat,'PatternAngles',elAng, ... 'TiltAngle',tiltAng, ... 'EffectiveEarthRadius',Re, ... 'MinElevation',1, ... 'ElevationStepSize',1, ... 'MaxElevation',90); % Calculate associated heights vcpht = range2height(vcp,rdrtowerht,vcpang, ... 'Method','CRPL','MaxNumIterations',2,'Tolerance',1e-2, ... 'SurfaceRefractivity',Ns,'RefractionExponent',rexp); % Calculate true slant range and elevation angle to target [~,vcpgeomrt,vcpelt] = ... height2range(vcpht,rdrtowerht,vcpang, ... 'Method','CRPL', ... 'SurfaceRefractivity',Ns,'RefractionExponent',rexp); % Set values for this iteration vcpelt = [0;vcpelt(:);vcpang(end)]; vcpgeomrt = [0;vcpgeomrt(:);0]; % km % Convert range, angle, height to Cartesian X, Y, Z [vcpX(:,idx),vcpY(:,idx),vcpZ(:,idx)] = sph2cart(... deg2rad(azAng(idx).*ones(numRows,1)+azRotation), ... deg2rad(vcpelt),vcpgeomrt); end
Преобразуйте Декартовы вертикальные значения покрытия в геодезический и график на земном шаре. 3D вертикальное покрытие появится как синяя mesh.
[vcpLat,vcpLon,vcpAlt] = enu2geodetic(vcpX,vcpY,vcpZ,rdrlat,rdrlon,rdralt,wgs84); [xMesh,yMesh,zMesh] = helperCreateMesh(vcpLat,vcpLon,vcpAlt); geoplot3(g,xMesh,yMesh,zMesh,'LineWidth',1,'Color',[0 0.4470 0.7410]);
Этот пример обсудил метод, чтобы вычислить 3-мерное вертикальное покрытие, обсудив способы адаптировать анализ в соответствии с локальными атмосферными условиями. Созданная визуализация дает понимание вертикальной эффективности радиолокационной системы, учитывая интерференцию от поверхностного отражения и преломления.
Бартон, основные уравнения радиолокации Дэвида К. для современного радара. Норвуд, MA: дом Artech, 2013.
Блэйк, Ламонт V "радио-луч (радар) графики угла высоты области значений". Военно-морская научно-исследовательская лаборатория, отчет 6650 NRL, 22 января 1968.
Блэйк, Ламонт V "Расчет Высоты луча для Непрерывного Нелинейного Атмосферного Профиля Показателя преломления". Радио-Наука, Издание 3 (Новый Ряд), № 1, январь 1968, стр 85–92.
Боб, B. R. и Г. Д. Тейер. Экспоненциал CRPL ссылочная атмосфера. Вашингтон, округ Колумбия: государственная типография США, 1959.
% Clean up by closing the geographic globe and removing the imported % terrain data. if isvalid(hTerrain) close(hTerrain) end removeCustomTerrain("southboulder")
function pat = getVoltagePattern(hBeam,fc,azAng,elAng) % Obtain voltage pattern from antenna element numAz = numel(azAng); numEl = numel(elAng); pat = zeros(numAz,numEl); for ia = 1:numAz for ie = 1:numEl pat(ia,ie) = step(hBeam,fc,[azAng(ia);elAng(ie)]); end end end function [xMesh,yMesh,zMesh] = helperCreateMesh(x,y,z) % Organizes the inputs into a mesh, which can be plotted using geoplot3 numPts = numel(x); xMesh = zeros(2*numPts,1); yMesh = zeros(2*numPts,1); zMesh = zeros(2*numPts,1); [nrows,ncols] = size(x); idxStart = 1; idxEnd = nrows; for ii = 1:ncols if mod(ii,2) == 0 xMesh(idxStart:idxEnd) = x(:,ii); yMesh(idxStart:idxEnd) = y(:,ii); zMesh(idxStart:idxEnd) = z(:,ii); else xMesh(idxStart:idxEnd) = flipud(x(:,ii)); yMesh(idxStart:idxEnd) = flipud(y(:,ii)); zMesh(idxStart:idxEnd) = flipud(z(:,ii)); end idxStart = idxEnd + 1; if ii ~= ncols idxEnd = idxStart + nrows -1; else idxEnd = idxStart + ncols -1; end end for ii = 1:nrows if mod(ii,2) == 0 xMesh(idxStart:idxEnd) = x(ii,:); yMesh(idxStart:idxEnd) = y(ii,:); zMesh(idxStart:idxEnd) = z(ii,:); else xMesh(idxStart:idxEnd) = fliplr(x(ii,:)); yMesh(idxStart:idxEnd) = fliplr(y(ii,:)); zMesh(idxStart:idxEnd) = fliplr(z(ii,:)); end idxStart = idxEnd + 1; idxEnd = idxStart + ncols -1; end end
blakechart
| detectability
| effearthradius
| height2range
| radareqsnr
| radarvcd
| range2height
| refractiveidx
| toccgh