В этом примере рассматривается коэффициент улучшения индикации движущейся цели (MTI) и исследуется влияние следующих факторов на производительность MTI:
Частота
Частота повторения импульсов (PRF)
Количество импульсов
Когерентная и некогерентная обработка
В этом примере также представлены источники ошибок, ограничивающие отмену MTI. Наконец, этот пример демонстрирует улучшение отношения шума к беспорядкам (CNR) для наземной радиолокационной системы MTI.
На высоком уровне существует два типа обработки индикации движущейся цели (MTI): когерентная и некогерентная. Когерентный MTI относится к случаю, в котором передатчик когерентен по количеству импульсов, используемых в компенсаторе MTI, или когда когерентный генератор приемника системы синхронизирован с импульсом передатчика, который также известен как система когерентного приема. Некогерентная система MTI использует выборки загромождения для установления опорной фазы, по которой обнаруживаются мишень и загромождение.
Коэффициент улучшения MTI определяется как
CiCo,
где Ciis мощность беспорядка в приемнике и Cois мощность беспорядка после обработки MTI.
Изучение влияния частоты на производительность MTI с помощью mtifactor функция. Используйте частоту повторения импульсов (PRF) 500 Гц и проанализируйте для 1-3-замедлителей MTI как для когерентных, так и для некогерентных случаев.
% Setup parameters m = 2:4; % Number of pulses in (m-1) delay canceler freq = linspace(1e9,10e9,1000); % Frequency (Hz) prf = 500; % Pulse repetition frequency (Hz) % Initialize outputs numM = numel(m); numFreq = numel(freq); ImCoherent = zeros(numFreq,numM); ImNoncoherent = zeros(numFreq,numM); % Calculate MTI improvement factor versus frequency for im = 1:numM % Coherent MTI ImCoherent(:,im) = mtifactor(m(im),freq,prf,'IsCoherent',true); % Noncoherent MTI ImNoncoherent(:,im) = mtifactor(m(im),freq,prf,'IsCoherent',false); end % Plot results helperPlotLogMTI(m,freq,ImCoherent,ImNoncoherent);

Есть несколько выводов из результатов. Во-первых, разность между когерентными и некогерентными результатами уменьшается с увеличением частоты для одного и того же m для случаев m = 3 и 4. Результаты для случая m = 2 показывают, что коэффициент улучшения очень похож на более низких частотах, но рабочие характеристики расходятся на более высоких частотах. Во-вторых, увеличение m улучшает подавление беспорядка как для когерентного, так и для некогерентного MTI. В-третьих, когда PRF поддерживается постоянным, коэффициент улучшения MTI уменьшается с увеличением частоты. Наконец, для m = 3 и 4 когерентная характеристика лучше некогерентной характеристики.
Далее рассмотрим влияние PRF на производительность фильтра MTI. Вычислите результаты для частоты L-диапазона при 1,5 ГГц.
% Set parameters m = 2:4; % Number of pulses in (m-1) delay canceler freq = 1.5e9; % Frequency (Hz) prf = linspace(100,1000,1000); % Pulse repetition frequency (Hz) % Calculate MTI improvement factor versus PRF for im = 1:numM ImCoherent(:,im) = mtifactor(m(im),freq,prf,'IsCoherent',true); ImNoncoherent(:,im) = mtifactor(m(im),freq,prf,'IsCoherent',false); end % Plot results helperPlotMTI(m,prf,ImCoherent,ImNoncoherent,'Pulse Repetition Frequency (Hz)','PRF versus MTI Improvement');

Когда частота поддерживается постоянной, можно отметить несколько результатов. Во-первых, разница между когерентными и некогерентными коэффициентами улучшения увеличивается для увеличения частоты для одного и того же m для случаев m = 3 и 4. Результаты для случая m = 2 показывают, что коэффициент улучшения очень похож на большинство исследованных PRF. Во-вторых, производительность MTI повышается с увеличением PRF. Наконец, для m = 3 и 4 когерентная характеристика лучше некогерентной характеристики.
Далее рассмотрим комбинированное влияние частоты и PRF на коэффициент улучшения MTI. Это позволит системному аналитику лучше понять все пространство анализа. Выполните расчет для когерентной системы MTI с использованием устройства отмены с тремя задержками.
% Set parameters m = 4; % Number of pulses in (m-1) delay canceler freq = linspace(1e9,10e9,100); % Frequency (Hz) prf = linspace(100,1000,100); % Pulse repetition frequency (Hz) % Initialize numFreq = numel(freq); numPRF = numel(prf); ImCoherentMatrix = zeros(numPRF,numFreq); % Calculate coherent MTI improvement factor over a range of PRFs and % frequencies for ip = 1:numPRF ImCoherentMatrix(ip,:) = mtifactor(m,freq,prf(ip),'IsCoherent',true); end % Plot results helpPlotMTImatrix(m,freq,prf,ImCoherentMatrix);

Обратите внимание, что здесь демонстрируются те же модели поведения, что и ранее.
Производительность MTI повышается с увеличением PRF
Производительность MTI снижается с увеличением частоты
Обработка MTI основана на требовании целевой и несбалансированной стационарности в пределах окна приема. При приеме последовательных возвратов и вычитании их друг из друга происходит отмена загромождения. Любой эффект, будь то внутренний или внешний по отношению к радару, который препятствует стационарности в пределах окна приема, приведет к несовершенной отмене.
Широкий спектр эффектов может снизить эффективность отмены MTI. Примеры включают, но не ограничиваются ими:
Неустойчивость частоты передатчика
Дрожание интервала повторения импульсов (PRI)
Дрожание ширины импульса
Шум квантования
Некомпенсированное движение либо в радиолокационной платформе, либо в беспорядке
В следующих двух разделах будут рассмотрены эффекты ошибок нулевой скорости и разброс спектра беспорядков.
Производительность MTI снижается, когда скорость беспорядка не центрирована на нулевой скорости. Эффект этих нулевых ошибок скорости приводит к уменьшению коэффициента улучшения MTI, поскольку больше энергии загромождения существует вне нулевого фильтра MTI.
Рассмотрим случай радара, работающего в условиях дождя. Загромождение дождя имеет ненулевое среднее доплеровское значение, когда загромождение приближается или отступает от радиолокационной системы. Если не будет обнаружено и компенсировано движение беспорядка дождя, отмена фильтрации MTI будет хуже.
В этом примере предположим нулевую скорость, центрированную при 0 доплеровских. Изучите влияние на коэффициент улучшения при заданных скоростях беспорядка в диапазоне от -20 до 20 м/с для случая обработки когерентного MTI.
% Setup parameters m = 2:4; % Number of pulses in (m-1) delay canceler clutterVels = linspace(-20,20,100); % MTI null velocity (m/s) nullVel = 0; % True clutter velocity (m/s) freq = 1.5e9; % Frequency (Hz) prf = 500; % Pulse repetition frequency (Hz) % Initialize numM = numel(m); numVels = numel(clutterVels); ImCoherent = zeros(numVels,numM); ImNoncoherent = nan(numVels,numM); % Compute MTI improvement factor for im = 1:numM for iv = 1:numVels ImCoherent(iv,im) = mtifactor(m(im),freq,prf,'IsCoherent',true,'ClutterVelocity',clutterVels(iv),'NullVelocity',nullVel); end end % Plot results nullError = (clutterVels - nullVel).'; helperPlotMTI(m,nullError,ImCoherent,ImNoncoherent,'Null Error (m/s)','MTI Improvement with Null Velocity Errors');

Когерентный MTI испытывает быстрое уменьшение улучшения по мере увеличения нулевой ошибки. Скорость, с которой страдает улучшение, увеличивается с увеличением числа импульсов в (m-1) компенсаторе задержки. В случае, когда m = 4, только небольшое смещение 1,1 м/с приводит к потере коэффициента улучшения 3 дБ.
Более широкое распространение беспорядка приводит к большей энергии беспорядка за пределами нулевого фильтра MTI и, таким образом, приводит к меньшему подавлению беспорядка. В то время как распространение нагромождения частично обусловлено собственным движением рассеивателей нагромождения, другие источники распространения загромождения могут быть обусловлены
Фазовое дрожание из-за выборки
Фазовый дрейф, который может быть обусловлен нестабильностью в когерентных гетеродинах
Некомпенсированное движение радиолокационной платформы
Рассмотрим влияние распространения беспорядка на коэффициент улучшения MTI.
% Setup parameters m = 2:4; % Number of pulses in (m-1) delay canceler sigmav = linspace(0.1,10,100); % Standard Deviation of Clutter Spread (m/s) freq = 1.5e9; % Frequency (Hz) prf = 500; % Pulse repetition frequency (Hz) % Calculate MTI improvement numSigma = numel(sigmav); for im = 1:numM for is = 1:numSigma ImCoherent(is,im) = mtifactor(m(im),freq,prf,'IsCoherent',true,'ClutterStandardDeviation',sigmav(is)); ImNoncoherent(is,im) = mtifactor(m(im),freq,prf,'IsCoherent',false,'ClutterStandardDeviation',sigmav(is)); end end % Plot results helperPlotMTI(m,sigmav,ImCoherent,ImNoncoherent,'Standard Deviation of Clutter Spread (m/s)','MTI Improvement versus Clutter Spread');

Как можно видеть из рисунка, стандартное отклонение разброса беспорядка является большим ограничивающим фактором коэффициента улучшения MTI независимо от того, является ли MTI когерентным или некогерентным. По мере увеличения стандартного отклонения разброса беспорядков коэффициент улучшения MTI значительно снижается до тех пор, пока улучшение не упадет ниже 5 дБ для всех значений m как в когерентных, так и в некогерентных случаях.
Рассмотрим наземную радиолокационную систему MTI. Вычислите отношение беспорядка к шуму с обработкой MTI и без нее.
Сначала установите параметры обработки РЛС и MTI.
% Radar properties freq = 1.5e9; % L-band frequency (Hz) anht = 15; % Height (m) ppow = 100e3; % Peak power (W) tau = 1.5e-6; % Pulse width (sec) prf = 500; % PRF (Hz) Gtxrx = 45; % Tx/Rx gain (dB) Ts = 450; % Noise figure (dB) Ntx = 20; % Number of transmitted pulses % MTI settings nullVel = 0; % Null velocity (m/s) m = 4; % Number of pulses in the (m-1) delay canceler N = Ntx - m; % Number of coherently integrated pulses
Рассмотрим лесистую рабочую среду холмов с разбросом беспорядка 1 м/с и средней скоростью захламления 0 м/с. Рассчитайте и постройте график отражательной способности поверхности земли для углов выпаса определенной геометрии. Используйте landroughness и landreflectivity функции для вычисления физических свойств поверхности и отражательной способности соответственно.
% Clutter properties sigmav = 1; % Standard Deviation of Clutter Spread (m/s) clutterVel = 0; % Clutter velocity (m/s) landType = 'Wooded Hills'; % Get the surface standard deviation of height (m), surface slope (deg), % and vegetation type [surfht,beta0,vegType] = landroughness(landType); % Calculate maximum range for simulation Rua = time2range(1/prf); % Maximum unambiguous range (m) Rhoriz = horizonrange(anht,'SurfaceHeight',surfht); % Horizon range (m) RhorizKm = Rhoriz.*1e-3; % Horizon range (km) Rmax = min(Rua,Rhoriz); % Maximum range (m) % Generate vector of ranges for simulation Rm = linspace(100,Rmax,1000); % Range (m) Rkm = Rm*1e-3; % Range (km) % Calculate land clutter reflectivity grazAng = grazingang(anht,Rm,'TargetHeight',surfht); nrcs = landreflectivity(landType,grazAng,freq); nrcsdB = pow2db(nrcs); helperPlot(grazAng,nrcsdB,'NRCS','NRCS (dB)','Reflectivity \sigma_0 (dB)','Land Reflectivity \sigma_0');

Затем вычислите сечение РЛС (RCS) загромождения с помощью clutterSurfaceRCS функция. Обратите внимание на падение загромождения RCS по мере достижения дальности горизонта РЛС.
% Calculate azimuth and elevation beamwidth azbw = sqrt(32400 / db2pow(Gtxrx)); elbw = azbw; % Calculate clutter RCS rcs = clutterSurfaceRCS(nrcs,Rm,azbw,elbw,grazAng(:),tau); % Plot clutter RCS including horizon line rcsdB = pow2db(rcs); % Convert to decibels for plotting hAxes = helperPlot(Rkm,rcsdB,'RCS','Range (km)','Clutter RCS (dBsm)','Clutter Radar Cross Section (RCS)'); helperAddHorizLine(hAxes,RhorizKm);

Поскольку путь распространения отклоняется от свободного пространства, включите в расчет коэффициент распространения беспорядка и атмосферные потери.
Расчет диэлектрической проницаемости по умолчанию, лежащий в основе radarpropfactor функция - модель морской воды. Чтобы более точно моделировать путь распространения по суше, рассчитайте диэлектрическую проницаемость для растительности, используя earthSurfacePermittivity функция.
% Calculate land surface permittivity for vegetation temp = 20; % Ambient temperature (C) wc = 0.5; % Gravimetric water contnt epsc = earthSurfacePermittivity('vegetation',freq,temp,wc);
Рассчитайте коэффициент распространения беспорядка с помощью radarpropfactor функция. Включите в расчет тип растительности. На более высоких частотах наличие растительности может вызвать дополнительные потери.
% Calculate clutter propagation factor Fc = radarpropfactor(Rm,freq,anht,surfht, ... 'SurfaceHeightStandardDeviation',surfht, ... 'SurfaceSlope',beta0, ... 'VegetationType',vegType, ... 'SurfaceRelativePermittivity',epsc, ... 'ElevationBeamwidth',elbw); helperPlot(Rkm,Fc,'Clutter Propagation Factor','Range (km)', ... 'Propagation Factor (dB)', ... 'One-Way Clutter Propagation Factor F_C');

Затем рассчитайте атмосферные потери в этом моделировании. Предположим стандартную атмосферу по умолчанию. Выполните расчет с помощью tropopl функция.
% Calculate the atmospheric loss due to water and oxygen attenuation elAng = height2el(surfht,anht,Rm); % Elevation angle (deg) numEl = numel(elAng); Latmos = zeros(numEl,1); Llens = zeros(numEl,1); for ie = 1:numEl Latmos(ie,:) = tropopl(Rm(ie),freq,anht,elAng(ie)); end hAxes = helperPlot(Rkm,Latmos,'Atmospheric Loss','Range (km)','Loss (dB)','One-Way Atmospheric Losses'); ylim(hAxes,[0 0.1]);

Вычислите CNR с помощью radareqsnr функция и результаты графика с и без MTI. Снова обратите внимание на падение CNR по мере приближения диапазона моделирования к радарному горизонту.
% Calculate CNR lambda = freq2wavelen(freq); cnr = radareqsnr(lambda,Rm(:),ppow,tau, ... 'gain',Gtxrx,'rcs',rcs,'Ts',Ts, ... 'PropagationFactor',Fc, ... 'AtmosphericLoss',Latmos); coherentGain = pow2db(N); cnr = cnr + coherentGain; hAxes = helperPlot(Rkm,cnr,'CNR','Range (km)','CNR (dB)','CNR Clutter-to-Noise Ratio'); helperAddHorizLine(hAxes,RhorizKm); % Calculate CNR with MTI Im = mtifactor(m,freq,prf,'IsCoherent',true,... 'ClutterVelocity',clutterVel, ... 'ClutterStandardDeviation',sigmav, ... 'NullVelocity',nullVel)
Im = 55.3986
cnrMTI = cnr - Im;
helperAddPlot(Rkm,cnrMTI,'CNR + MTI',hAxes);Наконец, вычислите коэффициент улучшения MTI, предполагая, что существует нулевая ошибка из-за истинной скорости беспорядка, равной 3 м/с, в то время как нулевая скорость остается центрированной при 0 м/с.
% Calculate CNR with null velocity error trueClutterVel = 3; % Clutter velocity (m/s) nullError = trueClutterVel - nullVel; % Null error (m/s) ImNullError = mtifactor(m,freq,prf,'IsCoherent',true,... 'ClutterVelocity',trueClutterVel, ... 'ClutterStandardDeviation',sigmav, ... 'NullVelocity',nullVel)
ImNullError = 33.6499
cnrMTINullError = cnr - ImNullError; helperAddPlot(Rkm,cnrMTINullError, ... sprintf('CNR + MTI with %.1f (m/s) Null Error',nullError), ... hAxes);

ImLoss = Im - ImNullError
ImLoss = 21.7488
Обратите внимание на резкое снижение CNR из-за обработки MTI. Когда нулевая скорость установлена на скорость беспорядка, улучшение составляет 55 дБ. При наличии некомпенсированного движения отмена уменьшается до 34 дБ. Это потеря 21 дБ отмены. Это демонстрирует необходимость надлежащей компенсации движения или приведения нулевого значения к соответствующей скорости.
В этом примере обсуждается коэффициент улучшения индикации движущейся цели (MTI) и исследуется множество эффектов на производительность MTI. Использование mtifactor функция, мы видели, что производительность MTI:
Улучшение с увеличением PRF
Уменьшается с увеличением частоты
Улучшается с увеличением количества импульсов в (m-1) -отверждающем компенсаторе
Кроме того, мы видели, что характеристики когерентного MTI обычно лучше, чем некогерентного MTI.
Наконец, мы исследовали ограничения производительности MTI в контексте наземной радиолокационной системы MTI, демонстрируя необходимость надлежащей компенсации неожиданных скоростей беспорядка.
Бартон, Дэвид К. Радиолокационные уравнения для современного радара. 1-е издание. Норвуд, Массачусетс: Artech House, 2013.
Ричардс, М. А., Джим Шеер и Уильям А. Холм. Принципы современного радара. Роли, NC: SciTech Pub., 2010.
function helperPlotLogMTI(m,freq,ImCoherent,ImNonCoherent) % Used for the MTI plots that have a logarithmic x axis hFig = figure; hAxes = axes(hFig); lineStyles = {'-','--','-.'}; numM = numel(m); for im = 1:numM semilogx(hAxes,freq.*1e-9,ImCoherent(:,im),'LineWidth',1.5, ... 'LineStyle',lineStyles{im}, 'Color',[0 0.4470 0.7410], ... 'DisplayName',sprintf('Coherent, m = %d',m(im))) hold(hAxes,'on') semilogx(hAxes,freq.*1e-9,ImNonCoherent(:,im),'LineWidth',1.5, ... 'LineStyle',lineStyles{im}, 'Color',[0.8500 0.3250 0.0980], ... 'DisplayName',sprintf('Noncoherent, m = %d',m(im))) end grid(hAxes,'on'); xlabel(hAxes,'Frequency (GHz)') ylabel(hAxes,'MTI Improvement Factor (dB)') title('Frequency versus MTI Improvement') legend(hAxes,'Location','Best') end function helperPlotMTI(m,x,ImCoherent,ImNonCoherent,xLabelStr,titleName) % Used for the MTI plots that have an x-axis in linear units hFig = figure; hAxes = axes(hFig); lineStyles = {'-','--','-.'}; numM = numel(m); for im = 1:numM plot(hAxes,x,ImCoherent(:,im),'LineWidth',1.5, ... 'LineStyle',lineStyles{im}, 'Color',[0 0.4470 0.7410], ... 'DisplayName',sprintf('Coherent, m = %d',m(im))) hold(hAxes,'on') if any(~isnan(ImNonCoherent)) % Don't plot if NaN plot(hAxes,x,ImNonCoherent(:,im),'LineWidth',1.5, ... 'LineStyle',lineStyles{im}, 'Color',[0.8500 0.3250 0.0980], ... 'DisplayName',sprintf('Noncoherent, m = %d',m(im))) end end grid(hAxes,'on'); xlabel(hAxes,xLabelStr) ylabel(hAxes,'MTI Improvement Factor (dB)') title(titleName) legend(hAxes,'Location','Best') end function helpPlotMTImatrix(m,freq,prf,ImMat) % Creates image of MTI improvement factor with Frequency on the x-axis and % PRF on the y-axis hFig = figure; hAxes = axes(hFig); hP = pcolor(hAxes,freq.*1e-9,prf,ImMat); hP.EdgeColor = 'none'; xlabel(hAxes,'Frequency (GHz)') ylabel(hAxes,'PRF (Hz)') title(sprintf('Coherent MTI Improvement, m = %d',m)) hC = colorbar; hC.Label.String = '(dB)'; end function varargout = helperPlot(x,y,displayName,xlabelStr,ylabelStr,titleName) % Used for CNR analysis % Create new figure hFig = figure; hAxes = axes(hFig); % Plot plot(hAxes,x,y,'LineWidth',1.5,'DisplayName',displayName); grid(hAxes,'on'); hold(hAxes,'on'); xlabel(hAxes,xlabelStr) ylabel(hAxes,ylabelStr); title(hAxes,titleName); ylims = get(hAxes,'Ylim'); set(hAxes,'Ylim',[-100 ylims(2)]); % Add legend legend(hAxes,'Location','Best') % Output axes if nargout ~= 0 varargout{1} = hAxes; end end function helperAddPlot(x,y,displayName,hAxes) % Add additional CNR plots plot(hAxes,x,y,'LineWidth',1.5,'DisplayName',displayName); end function helperAddHorizLine(hAxes,val) % Add vertical line indicating horizon range xline(hAxes,val,'--','DisplayName','Horizon Range','LineWidth',1.5); end