Этот пример показывает сам калибровочная процедура на основе ограниченного процесса оптимизации. Источники возможности используются, чтобы одновременно оценить неопределенность формы массивов и исходные направления.
Этот пример требует Optimization Toolbox™.
В теории можно спроектировать совершенную универсальную линейную матрицу (ULA), чтобы выполнить все виды обработки, такие как beamforming или направление оценки прибытия. Обычно этот массив будет калиброван в управляемой среде прежде чем быть развернутым. Однако неопределенность может возникнуть в системе во время операции, указывающей, что для массива нужно перекалибрование. Например, воздействие на окружающую среду может заставить положения элемента массива становиться встревоженными, введя неопределенность формы массивов. Присутствие этой неопределенности вызывает быстрое ухудшение в обнаружении, разрешении и производительности оценки алгоритмов обработки матриц. Поэтому очень важно удалить эту неопределенность массивов как можно скорее.
Существует много калибровочных алгоритмов массивов. Этот пример фокусируется на одном классе их, сам калибровка (также названный автокалибровкой), где неопределенность оценивается совместно с положениями многих внешних источников в неизвестных местоположениях [1]. В отличие от экспериментальной калибровки, это позволяет массиву быть перекалиброванным в менее известной среде. Однако в целом это приводит к небольшому количеству наблюдений сигнала с большим количеством неизвестных. Существует много подходов к решению этой задачи как описано в [2]. Нужно создать и оптимизировать против функции стоимости. Эти функции стоимости имеют тенденцию быть очень нелинейными и содержать локальные минимумы. В этом примере функции стоимости на основе Нескольких Классификация Сигнала (MUSIC) алгоритм [3] сформирован и решен как fmincon задача оптимизации с помощью Optimization Toolbox(TM). В литературе много других комбинаций также существуют [2].
Полагайте сначала, что ULA с 5 элементами, действующий с половиной интервала длины волны, развертывается. В таком массиве могут быть с готовностью вычислены положения элемента.
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);
Предыдущий раздел показывает различие между развернутым массивом и массивом, который подвергся возмущениям в то время как в операции. Если вы вслепую используете обработку, спроектированную в развернутом массиве, производительность массива уменьшает. Например, полагайте, что beamscan средство оценки используется, чтобы оценить направления 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
Эта неопределенность ухудшает производительность массива. Сам калибровка может позволить массиву быть перекалиброванным с помощью источников возможности, не будучи должен знать их местоположения.
Много сам калибровочные подходы основаны на оптимизации функции стоимости, чтобы совместно оценить неизвестный массив и исходные параметры (такие как датчик массивов и исходные местоположения). Функция стоимости и алгоритм оптимизации должны быть тщательно выбраны, чтобы поощрить глобальное решение быть достигнутым максимально легко и быстро. Кроме того, параметры, сопоставленные с алгоритмом оптимизации, должны быть настроены для данного сценария. Много комбинаций функции стоимости и алгоритма оптимизации существуют в литературе. Для этого сценария в качестве примера функция стоимости [3] MUSIC выбрана вместе с fmincon алгоритмом оптимизации. Когда сценарий изменяется, может быть уместно адаптировать подход, используемый в зависимости от робастности калибровочного алгоритма. Например, в этом примере, производительности калибровочных отбрасываний алгоритма, когда источники переезжают от огня конца или количества увеличения элементов массива. Первоначальные оценки исходных местоположений, оцененных ранее, используются в качестве критерия инициализации процедуры оптимизации.
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-межнаука, 2002.
[2] Э Тансер и Б Фридлендер. Классическая и современная оценка направления прибытия. Elsevier, 2009.
[3] Шмидт, R. O. "Несколько Эмиттерное Местоположение и Оценка Параметра Сигнала". Транзакции IEEE на Антеннах и Распространении. Издание AP-34, март 1986, стр 276-280.
[4] И. Рока и пополудни Schultheiss. Калибровка формы массивов с помощью источников в неизвестных местоположениях - Первая часть: источники Фарфилда. Сделка IEEE ASSP, 35:286-299, 1987.