В этом примере показана процедура самокалибровки на основе процесса оптимизации с ограничениями. Источники возможностей используются для одновременной оценки неопределенностей формы массива и направлений источника.
В этом примере требуется Toolbox™ оптимизации.
Теоретически можно сконструировать совершенную однородную линейную матрицу (ULA) для выполнения всех видов обработки, таких как формирование луча или оценка направления прихода. Обычно этот массив перед развертыванием калибруется в контролируемой среде. Однако во время работы в системе могут возникать неопределенности, указывающие на то, что массив нуждается в повторной калибровке. Например, воздействие окружающей среды может вызвать возмущение положений элементов массива, что приводит к неопределенностям формы массива. Наличие этих неопределенностей вызывает быстрое ухудшение характеристик обнаружения, разрешения и оценки алгоритмов обработки массива. Поэтому крайне важно как можно скорее устранить эти неопределенности массива.
Существует множество алгоритмов калибровки массива. В этом примере основное внимание уделяется одному из их классов - самокалибровке (также называемой автокалибровкой), где неопределенности оцениваются совместно с позициями ряда внешних источников в неизвестных местах [1]. В отличие от калибровки пилот-сигнала, это позволяет перекалибровать матрицу в менее известной среде. Однако в целом это приводит к небольшому количеству наблюдений сигнала с большим количеством неизвестных. Существует ряд подходов к решению этой проблемы, как описано в [2]. Один из них заключается в построении и оптимизации на основе функции затрат. Эти функции затрат имеют тенденцию быть в высшей степени нелинейными и содержат локальные минимумы. В этом примере функция затрат, основанная на алгоритме множественной классификации сигналов (MUSIC) [3], формируется и решается как задача оптимизации fmincon с помощью Optimization Toolbox (TM). В литературе также существует много других комбинаций [2].
Рассмотрим сначала использование 5-элементной ULA, работающей с интервалом в половину длины волны. В таком массиве позиции элементов могут быть легко вычислены.
N = 5; designed_pos = [zeros(1,N);-(N-1)/2:(N-1)/2;zeros(1,N)]*0.5;
Далее предположим, что массив возмущен во время работы и поэтому подвергается неопределенностям формы массива в измерениях x и y. Чтобы зафиксировать глобальные оси, предположим, что первый датчик и направление на второй датчик известны, как предписано в [4].
rng default pos_std = 0.02; perturbed_pos = designed_pos + pos_std*[randn(2,N);zeros(1,N)]; perturbed_pos(:,1) = designed_pos(:,1); % The reference sensor has no % uncertainties perturbed_pos(1,2) = designed_pos(1,2); % The x axis is fixed down by % assuming the x-location of % another sensor is known
На рисунке ниже показана разница между развернутым и возмущенным массивом.
helperCompareArrayProperties('Position',perturbed_pos,designed_pos,... {'Perturbed Array','Deployed Array'}); view(90,90);

В предыдущем разделе показано различие между развернутым массивом и массивом, который претерпел возмущения во время работы. Если слепо использовать обработку, разработанную для развернутого массива, производительность массива снижается. Например, рассмотрим оценщик луча, используемый для оценки направлений 3 неизвестных источников при -20, 40 и 85 градусах азимута.
% Generate 100K samples with 30dB SNR ncov = db2pow(-30); Nsamp = 1e5; % Number of snapshots (samples) incoming_az = [-20,40,85]; % Unknown source locations to be estimated M = length(incoming_az); [x_pert,~,Rxx] = sensorsig(perturbed_pos,Nsamp,incoming_az,ncov); % Estimate the directions of the sources ula = phased.ULA('NumElements',N); spatialspectrum = phased.BeamscanEstimator('SensorArray',ula,... 'DOAOutputPort',true,'NumSignals',M); [y,estimated_az] = spatialspectrum(x_pert); incoming_az
incoming_az = 1×3
-20 40 85
estimated_az
estimated_az = 1×3
-19 48 75
Эти неопределенности ухудшают производительность массива. Самокалибровка может позволить перекалибровать массив с использованием источников возможностей без необходимости знать их местоположение.
Ряд подходов к самокалибровке основан на оптимизации функции затрат для совместной оценки неизвестных параметров массива и источника (таких как датчик массива и местоположение источника). Необходимо тщательно выбрать функцию затрат и алгоритм оптимизации, чтобы обеспечить максимально легкую и быструю реализацию глобального решения. Кроме того, параметры, связанные с алгоритмом оптимизации, должны быть настроены для данного сценария. В литературе существует ряд комбинаций функции затрат и алгоритма оптимизации. Для этого примера сценария вместе с алгоритмом оптимизации fmincon выбирается функция затрат MUSIC [3]. По мере изменения сценария может оказаться целесообразным адаптировать используемый подход в зависимости от надежности алгоритма калибровки. Например, в этом примере производительность алгоритма калибровки падает по мере того, как источники отходят от конечного пожара, или увеличивается число элементов матрицы. Первоначальные оценки исходных местоположений, оцененные ранее, используются в качестве критерия инициализации процедуры оптимизации.
fun = @(x_in)helperMUSICIteration(x_in,Rxx,designed_pos); nvars = 2*N - 3 + M; % Assuming 2D uncertainties x0 = [0.1*randn(1,nvars-M),estimated_az]; % Initial value locTol = 0.1; % Location tolerance angTol = 20; % Angle tolerance lb = [-locTol*ones(nvars-M,1);estimated_az.'-angTol]; % lower bound ub = [locTol*ones(nvars-M,1);estimated_az.'+angTol]; % upper bound options = optimoptions('fmincon','TolCon',1e-6,'DerivativeCheck','on',... 'Display','off'); [x,fval,exitflag] = fmincon(fun,x0,[],[],[],[],lb,ub,[],options); % Parse the final result [~,perturbed_pos_est,postcal_estimated_az]=helperMUSICIteration(... x,Rxx,designed_pos);
helperCompareArrayProperties('Position',perturbed_pos,perturbed_pos_est,... {'Perturbed Array','Calibrated Array'}); view(90,90);

polarplot(deg2rad(incoming_az),[1 1 1],'s',... deg2rad(postcal_estimated_az(1,:)),[1 1 1],'+',... deg2rad(estimated_az),[1 1 1],'o','LineWidth',2,'MarkerSize',10) legend('True directions','DOA after calibration',... 'DOA before calibration','Location',[0.01 0.02 0.3 0.13]) rlim([0 1.3])

Благодаря выполнению этого процесса калибровки точность оценки источника значительно улучшилась. Кроме того, были также оценены положения возмущенных датчиков, которые могут быть использованы в качестве новой геометрии матрицы в будущем.
В этом примере показано, как неопределенности формы массива могут повлиять на возможность оценки направления поступления неизвестных источников. Пример также иллюстрирует, как можно использовать самокалибровку для преодоления эффектов этих возмущений и оценки этих неопределенностей одновременно.
[1] Деревья фургонов, H. Оптимальная обработка массива. Нью-Йорк: Wiley-Interscience, 2002.
[2] E Tuncer и B Friedlander. Классическая и современная оценка направления прибытия. Elsevier, 2009.
[3] Шмидт, Р. О. «Оценка местоположения и параметров сигнала нескольких эмиттеров». Транзакции IEEE на антеннах и распространении. т. AP-34, март 1986, стр. 276-280.
[4] Я. Рокка и П. М. Шультхейс. Калибровка формы массива с использованием источников в неизвестных местоположениях - Часть I: Источники Фарфилда. IEEE Trans. ASSP, 35: 286-299, 1987.