exponenta event banner

Оценка направления прибытия с высоким разрешением

Этот пример иллюстрирует несколько методов оценки направления поступления с высоким разрешением (DOA). В нем представлены варианты алгоритмов MUSIC, root-MUSIC, ESPRIT и root-WSF и обсуждаются их соответствующие достоинства в контексте источников узкополосных сигналов дальнего поля, принимаемых антенной с однородной линейной решеткой (ULA).

Моделирование принимаемых сигналов массива

Определите однородную линейную матрицу (ULA), состоящую из 10 изотропных антенн. Интервал между элементами массива составляет 0,5 метра.

N = 10;
ula = phased.ULA('NumElements',N,'ElementSpacing',0.5)
ula = 
  phased.ULA with properties:

           Element: [1x1 phased.IsotropicAntennaElement]
       NumElements: 10
    ElementSpacing: 0.5000
         ArrayAxis: 'y'
             Taper: 1

Смоделировать выходной сигнал массива для двух сигналов инцидента. Оба сигнала падают от 90 ° по азимуту. Их углы возвышения 73 ° и 68 ° соответственно. В этом примере мы предполагаем, что эти два направления неизвестны и должны быть оценены. Имитировать принятый сигнал основной полосы частот в матрице, демодулированной с рабочей частоты 300 МГц.

fc = 300e6;                               % Operating frequency
fs = 8192;                                % Sampling frequency
lambda = physconst('LightSpeed')/fc;      % Wavelength
pos = getElementPosition(ula)/lambda;     % Element position in wavelengths
ang1 = [90;73]; ang2 = [90;68];           % Direction of the signals
angs = [ang1 ang2];
Nsamp = 1024;                             % Number of snapshots
noisePwr = 0.01;                          % Noise power

rs = rng(2012);                           % Set random number generator
signal = sensorsig(pos,Nsamp,angs,noisePwr);

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

Вычислите широкополосные углы, соответствующие двум углам падения.

ang_true = az2broadside(angs(1,:),angs(2,:))
ang_true = 1×2

   17.0000   22.0000

Поперечные углы 17 ° и 22 °.

Оценка направления поступления (DOA)

Предположим, что мы априори знаем, что есть два источника. Для оценки DOA используется метод root-MUSIC. Создайте оценщик DOA с помощью алгоритма root-MUSIC.

rootmusicangle = phased.RootMUSICEstimator('SensorArray',ula,...
            'OperatingFrequency',fc,...
            'NumSignalsSource','Property','NumSignals',2)
rootmusicangle = 
  phased.RootMUSICEstimator with properties:

                 SensorArray: [1x1 phased.ULA]
            PropagationSpeed: 299792458
          OperatingFrequency: 300000000
            NumSignalsSource: 'Property'
                  NumSignals: 2
    ForwardBackwardAveraging: false
            SpatialSmoothing: 0

Поскольку вектор отклика массива ULA является сопряженным симметричным, мы можем использовать усреднение вперед-назад (FB) для выполнения вычислений с вещественными матрицами и уменьшения вычислительной сложности. FB-основанные оценщики также имеют меньшую дисперсию и уменьшают корреляцию между сигналами.

Чтобы применить усреднение вперед-назад, установите для свойства ForwardBackedAveraging оценщика root-MUSIC DOA значение true. В этом случае алгоритм root-MUSIC также называется унитарным алгоритмом root-MUSIC.

rootmusicangle.ForwardBackwardAveraging = true;

Выполните оценку DOA:

ang = rootmusicangle(signal)
ang = 1×2

   16.9960   21.9964

Мы также можем использовать оценщик ESPRIT DOA. Как и в случае root-MUSIC, задайте свойству ForwardBackedAveraging значение true. Этот алгоритм также называется унитарным ESPRIT.

espritangle = phased.ESPRITEstimator('SensorArray',ula,...
             'OperatingFrequency',fc,'ForwardBackwardAveraging',true,...
             'NumSignalsSource','Property','NumSignals',2)
espritangle = 
  phased.ESPRITEstimator with properties:

                 SensorArray: [1x1 phased.ULA]
            PropagationSpeed: 299792458
          OperatingFrequency: 300000000
            NumSignalsSource: 'Property'
                  NumSignals: 2
            SpatialSmoothing: 0
                      Method: 'TLS'
    ForwardBackwardAveraging: true
                RowWeighting: 1

ang = espritangle(signal)
ang = 1×2

   21.9988   16.9748

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

musicangle = phased.MUSICEstimator('SensorArray',ula,...
             'OperatingFrequency',fc,'ForwardBackwardAveraging',true,...
             'NumSignalsSource','Property','NumSignals',2,...
             'DOAOutputPort',true)
musicangle = 
  phased.MUSICEstimator with properties:

                 SensorArray: [1x1 phased.ULA]
            PropagationSpeed: 299792458
          OperatingFrequency: 300000000
    ForwardBackwardAveraging: true
            SpatialSmoothing: 0
                  ScanAngles: [1x181 double]
               DOAOutputPort: true
                  NumSignals: 2
            NumSignalsSource: 'Property'

[~,ang] = musicangle(signal)  
ang = 1×2

    17    22

plotSpectrum(musicangle)

Figure contains an axes. The axes with title MUSIC Spatial Spectrum contains an object of type line. This object represents 1 GHz.

Направления прибытия на MUSIC ограничены углами сканирования в ScanAngles собственность. Потому что истинные направления прибытия в этом примере совпадают с углами поиска в ScanAngles, MUSIC предоставляет точные оценки угла DOA. На практике root-MUSIC обеспечивает превосходное разрешение для MUSIC. Однако алгоритм MUSIC может также использоваться для оценки DOA как по азимуту, так и по высоте с использованием массива 2-D. См. раздел Оценка направления поступления с помощью Beamscan, MVDR и MUSIC.

Оценка количества источников сигнала

На практике вы, как правило, не знаете количество источников сигнала и должны оценить количество источников из принятого сигнала. Можно оценить количество источников сигнала, указав значение «Auto» для свойства NumDiscursedSource и выбрав значение «AIC» или «MDL» для свойства NumTachedMethod. Для AIC используется информационный критерий Акайке (AIC), а для MDL - критерий минимальной длины описания (MDL).

Перед установкой NumReservedSource необходимо деблокировать объект DOA, поскольку он заблокирован для повышения эффективности во время обработки.

release(espritangle);
espritangle.NumSignalsSource = 'Auto';
espritangle.NumSignalsMethod = 'AIC';
ang = espritangle(signal)
ang = 1×2

   21.9988   16.9748

Снижение сложности вычислений

В дополнение к усреднению вперед-назад, другие методы могут уменьшить вычислительную сложность. Один из этих подходов заключается в решении эквивалентной проблемы с уменьшенными размерами в пространстве луча. В то время как алгоритм ESPRIT выполняет разложение собственных значений (EVD) вещественной матрицы 10x10 в нашем примере, версия пространства луча может уменьшить проблему до EVD вещественной матрицы 3x3. Этот метод использует априорное знание сектора, в котором расположены сигналы, для позиционирования центра вентилятора луча. В этом примере установите вентилятор балки на 20 ° по азимуту.

bsespritangle = phased.BeamspaceESPRITEstimator('SensorArray',ula,...
               'OperatingFrequency',fc,...
               'NumBeamsSource','Property','NumBeams',3,...
               'BeamFanCenter',20);
ang = bsespritangle(signal)
ang = 1×2

   21.9875   16.9943

Другой метод - алгоритм подпространства с корневым взвешиванием (WSF). Этот алгоритм итеративен и наиболее требователен с точки зрения вычислительной сложности. Можно задать максимальное количество итераций, указав свойство MaximumIterationCount, чтобы поддерживать стоимость ниже определенного предела.

rootwsfangle = phased.RootWSFEstimator('SensorArray',ula,...
          'OperatingFrequency',fc,'MaximumIterationCount',2);
ang = rootwsfangle(signal)
ang = 1×2

   16.9961   21.9962

Оптимизация производительности

В дополнение к усреднению FB можно использовать взвешивание строк для улучшения статистических характеристик оценщика ESPRIT пространства элементов. Взвешивание строк - это метод, который применяет различные веса к строкам матрицы подпространства сигнала. Параметр взвешивания строки определяет максимальный вес. В большинстве случаев его выбирают как можно большим. Однако его значение никогда не может быть больше (N-1 )/2, где N - количество элементов массива.

release(espritangle);
espritangle.RowWeighting = 4
espritangle = 
  phased.ESPRITEstimator with properties:

                 SensorArray: [1x1 phased.ULA]
            PropagationSpeed: 299792458
          OperatingFrequency: 300000000
            NumSignalsSource: 'Auto'
            NumSignalsMethod: 'AIC'
            SpatialSmoothing: 0
                      Method: 'TLS'
    ForwardBackwardAveraging: true
                RowWeighting: 4

ang = espritangle(signal)
ang = 1×2

   21.9884   17.0003

Оценка когерентных источников в средах многолучевого распространения

Если несколько источников коррелированы или когерентны (как в средах многолучевого распространения), пространственная ковариационная матрица становится дефицитной по рангу, и методы оценки DOA на основе подпространства могут оказаться неудачными. Чтобы показать это, моделируйте принятый сигнал, состоящий из 4 узкополосных компонентов. Предположим, что 2 из первых 3 сигналов являются многолучевыми отражениями первого источника, имеющими величины, равные 1/4 и 1/2, соответственно, первого источника.

scov = eye(4);
magratio = [1;0.25;0.5];
scov(1:3,1:3) = magratio*magratio';

Все сигналы падают на отметке 0 °, с углами падения азимута -23 °, 0 °, 12 ° и 40 °.

% Incident azimuth
az_ang = [-23 0 12 40];

% When the elevation is zero, the azimuth within [-90 90] is the same as
% the broadside angle.
el_ang = zeros(1,4);

% The received signals
signal = sensorsig(pos,Nsamp,[az_ang; el_ang],noisePwr,scov);
rng(rs);  % Restore random number generator

Сравните производительность алгоритма DOA, когда источники являются когерентными. Чтобы упростить пример, запустите только одну пробную версию для каждого алгоритма. Учитывая высокое ОСШ, результаты будут хорошим показателем точности оценки.

Сначала проверьте, что критерий AIC занижает количество источников, заставляя унитарный алгоритм ESPRIT давать неверные оценки. АПК оценивает число источников как два, поскольку три источника коррелируют.

release(espritangle);
espritangle.NumSignalsSource = 'Auto';
espritangle.NumSignalsMethod = 'AIC';
ang = espritangle(signal)
ang = 1×2

  -15.3535   40.0024

Алгоритм корня-WSF является надежным в контексте коррелированных сигналов. При правильном количестве источников в качестве входных данных алгоритм правильно оценивает направления поступления.

release(rootwsfangle);
rootwsfangle.NumSignalsSource = 'Property';
rootwsfangle.NumSignals = 4;
ang = rootwsfangle(signal)
ang = 1×4

   40.0016  -22.9919   12.0693    0.0737

ESPRIT, root-MUSIC и MUSIC, однако, не могут оценить правильные направления поступления, даже если указать количество источников и использовать унитарные реализации.

release(rootmusicangle);
rootmusicangle.NumSignalsSource = 'Property';
rootmusicangle.NumSignals = 4;
rootmusicangle.ForwardBackwardAveraging = true;
ang = rootmusicangle(signal)
ang = 1×4

   40.0077  -22.8313    4.4976  -11.9038

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

release(rootmusicangle);
Nr = 2;    % Number of multipath reflections 
rootmusicangle.SpatialSmoothing = Nr
rootmusicangle = 
  phased.RootMUSICEstimator with properties:

                 SensorArray: [1x1 phased.ULA]
            PropagationSpeed: 299792458
          OperatingFrequency: 300000000
            NumSignalsSource: 'Property'
                  NumSignals: 4
    ForwardBackwardAveraging: true
            SpatialSmoothing: 2

ang = rootmusicangle(signal)
ang = 1×4

   40.0010  -22.9959   12.1376    0.1843

Сравнение алгоритмов DOA

Таким образом, ESPRIT, MUSIC, root-MUSIC и root-WSF являются важными алгоритмами DOA, которые обеспечивают хорошую производительность и разумную вычислительную сложность для ULA. Unitary ESPRIT, unitary root-MUSIC и beampace unitary ESPRIT обеспечивают способы значительного снижения вычислительных затрат оценщиков, одновременно повышая их производительность. root-WSF особенно привлекателен в контексте коррелированных источников, поскольку, в отличие от других методов, он не требует пространственного сглаживания для правильной оценки DOA, когда известно количество источников.