exponenta event banner

Использование калибровки пилота для компенсации неопределенностей массива

В этом примере показано, как использовать калибровку пилот-сигнала для улучшения рабочих характеристик антенной решетки при наличии неизвестных возмущений.

Введение

В принципе, можно легко сконструировать идеальную однородную линейную матрицу (ULA) для выполнения задач обработки матрицы, таких как формирование луча или оценка направления прихода. На практике идеального массива не существует. Например, всегда существуют некоторые неизбежные производственные допуски для различных элементов массива. Поскольку в целом невозможно получить точные знания об этих вариациях, их часто называют неопределенностями или возмущениями. Обычно наблюдаемые неопределенности включают в себя факторы усиления элемента и неопределенности фазы элемента (электрические неопределенности), а также факторы неопределенности местоположения элемента (геометрические неопределенности).

Наличие неопределенностей в системе массива вызывает быстрое ухудшение характеристик обнаружения, разрешения и оценки алгоритмов обработки массива. Поэтому перед развертыванием массива необходимо выполнить его калибровку. В дополнение к вышеупомянутым факторам могут возникать неопределенности из-за других факторов, таких как старение оборудования и воздействие окружающей среды. Поэтому калибровка также выполняется на регулярной основе во всех развернутых системах.

Существует множество алгоритмов калибровки массива. Этот пример фокусируется на подходе калибровки пилот-сигнала [1], где неопределенности оцениваются по реакции матрицы на один или более известных внешних источников в известных местоположениях. В примере сравнивается влияние неопределенностей на производительность массива до и после калибровки.

Моделирование электрических и геометрических неопределенностей

Рассмотрим идеальную 6-элементную ULA вдоль оси y, работающую с полуволновым интервалом и равномерным сужением. Для ULA можно вычислить ожидаемые позиции и конусы элементов.

N = 6;
designed_pos = [zeros(1,N);(0:N-1)*0.5;zeros(1,N)];
designed_taper = ones(N,1);

Затем смоделируйте возмущения, которые могут существовать в реальном массиве. Обычно они моделируются как случайные величины. Например, предположим, что величина конусности и фаза возмущены нормально распределенными случайными переменными со стандартными отклонениями 0,1 и 0,05 соответственно.

rng(2014);
taper = (designed_taper + 0.1*randn(N,1)).*exp(1i*0.05*randn(N,1));

На следующем рисунке показана разница между величиной и фазой возмущенного конуса и расчетным конусом.

helperCompareArrayProperties('Taper',taper,designed_taper,...
    {'Perturbed Array','Designed Array'});

Figure contains 2 axes. Axes 1 with title Array Taper Magnitude contains 2 objects of type line. These objects represent Perturbed Array, Designed Array. Axes 2 with title Array Taper Phase contains 2 objects of type line. These objects represent Perturbed Array, Designed Array.

Возмущения в местоположениях датчиков в направлениях x, y и z генерируются аналогично со стандартным отклонением 0,05.

pos = designed_pos + 0.05*randn(3,N);

На рисунке ниже показано расположение элементов возмущенного массива и идеального массива.

helperCompareArrayProperties('Position',pos,designed_pos,...
    {'Perturbed Array','Designed Array'});

Figure contains an axes. The axes with title Array Element Positions contains 2 objects of type scatter. These objects represent Perturbed Array, Designed Array.

Эффект возмущения массива

В предыдущем разделе показано различие между спроектированным идеальным массивом и реальным возмущенным массивом. Из-за этих ошибок, если один слепо применяет этапы обработки, такие как весовые коэффициенты формирования луча, вычисленные с использованием спроектированного массива, на возмущенном массиве, производительность значительно снижается.

Рассмотрим случай формирователя луча LCMV, предназначенного для направления идеальной матрицы в направлении 10 градусов по азимуту с двумя пересечениями из двух известных направлений -10 градусов по азимуту и 60 градусов по азимуту. Цель состоит в том, чтобы сохранить интересующий сигнал при подавлении помех.

Если точное знание конусности и геометрии массива известно, веса для формирования луча можно вычислить следующим образом:

% Generate 10K samples from target and interferences with 30dB SNR
az = [-10 10 60];
Nsamp = 1e4;
ncov = db2pow(-30);
[~,~,rx_cov] = sensorsig(pos,Nsamp,az,ncov,'Taper',taper);

% Compute LCMV beamforming weights assuming the designed array
sv = steervec(pos,az);
w = lcmvweights(bsxfun(@times,taper,sv),[0;1;0],rx_cov);

Однако, поскольку массив содержит неизвестные возмущения, веса формирования луча должны вычисляться на основе положений и конусности проектируемого массива.

designed_sv = steervec(designed_pos,az);
designed_w = lcmvweights(bsxfun(@times,designed_taper,designed_sv),...
    [0;1;0],rx_cov);

На следующем рисунке сравнивается ожидаемая картина луча с картиной, полученной в результате применения проектируемых весов к возмущенной матрице.

helperCompareBeamPattern(pos,taper,w,designed_w,-90:90,az,...
    {'Expected Pattern','Uncalibrated Pattern'},...
    'Beam Pattern Before Calibration');

Figure contains an axes. The axes with title Beam Pattern Before Calibration contains 5 objects of type line. These objects represent Expected Pattern, Uncalibrated Pattern.

Из рисунков на графике ясно, что узор, полученный из некалиброванных весов, не удовлетворяет требованиям. Он устанавливает нулевое значение вокруг требуемого направления азимута 10 градусов. Это означает, что требуемый сигнал больше не может быть извлечен. К счастью, калибровка массива может помочь вернуть шаблон в порядок.

Калибровка пилота

Существует множество алгоритмов для выполнения калибровки массива. Одним из классов часто используемых алгоритмов является калибровка пилот-сигнала. Алгоритм устанавливает несколько источников в известных направлениях и затем использует матрицу для приема сигнала от этих передатчиков. Поскольку эти передатчики находятся в известных направлениях, ожидаемый принятый сигнал идеальной матрицы может быть вычислен. Сравнивая их с фактическим принятым сигналом, можно получить разность из-за неопределенностей и исправить их.

В приведенном ниже коде показан процесс калибровки массива. Во-первых, необходимо выбирать пилотные источники в разных направлениях. Следует отметить, что количество источников пилот-сигнала определяет, сколько неопределенностей может исправить алгоритм. В этом примере для коррекции неопределенностей местоположения датчика и неопределенности конусности требуется минимум четыре внешних источника. При использовании большего числа источников оценка улучшится.

pilot_ang = [-60, -5 ,5, 40; -10, 0, 0, 30];

Четыре пилотных источника расположены на следующих парах азимута и угла места: (-60, -10), (-5, 0), (5, 0) и (40, 30). Принятый сигнал от этих пилотов может быть смоделирован как

for m = size(pilot_ang,2):-1:1
    calib_sig(:,:,m) = sensorsig(pos,Nsamp,pilot_ang(:,m),...
        ncov,'Taper',taper);
end

Используя принятый сигнал от пилот-сигналов в матрице вместе с позициями элементов и конусами проектируемой матрицы, алгоритм калибровки [1] оценивает позиции элементов и конусы для возмущенной матрицы.

[est_pos,est_taper] = pilotcalib(designed_pos,...
    calib_sig,pilot_ang,designed_taper);

Как только расчетные положения и конусность будут доступны, они могут быть использованы вместо расчетных параметров массива при расчете весов формирователя луча. Это приводит к массиву, представленному красной линией ниже.

corrected_w = lcmvweights(bsxfun(@times,est_taper,...
    steervec(est_pos,az)),[0;1;0],rx_cov);

helperCompareBeamPattern(pos,taper,...
    w,corrected_w,-90:90,az,...
    {'Expected Pattern','Calibrated Pattern'},...
    'Beam Pattern After Calibration');

Figure contains an axes. The axes with title Beam Pattern After Calibration contains 5 objects of type line. These objects represent Expected Pattern, Calibrated Pattern.

Рисунок выше показывает, что рисунок, полученный из калиброванной матрицы, намного лучше, чем рисунок из некалиброванной матрицы. В частности, теперь сохраняются сигналы с нужного направления.

Резюме

В этом примере показано, как неопределенности массива могут повлиять на его шаблон отклика и, в свою очередь, ухудшить производительность массива. В примере также показано, как калибровка пилот-сигнала может использоваться для восстановления рабочих характеристик массива.

Ссылки

[1] Н. Фистас и А. Маникас, «A New General Global Array Calibration Method», IEEE Proceedings of ICASSP, Vol. IV, pp. 73-76, April 1994.