поэтапный. CFARDetector

Детектор постоянного ложного сигнального уровня (CFAR)

Описание

Объект CFARDetector реализует одномерный детектор постоянного ложно-сигнального уровня (CFAR). Обработка обнаружения выполняется на выбранных элементах (названный ячейками) входных данных. Обнаружение объявляется, когда значение ячейки изображений превышает порог. Чтобы поддержать постоянный ложный сигнальный уровень, порог устанавливается к кратному степени шума изображения. Детектор оценивает шумовую степень для ячейки под тестом (CUT) от окружающих ячеек с помощью одного из трех методов усреднения ячейки или метода статистики порядка. Методы усреднения ячейки являются усреднением ячейки (CA), самым большим - ячейки, составляющей в среднем (GOCA), или самый маленький - ячейки, составляющей в среднем (SOCA).

Для получения дополнительной информации о детекторах CFAR, см. [1].

Для каждой тестовой ячейки, детектора:

  1. оценивает шумовую статистическую величину от значений ячеек в учебной полосе, окружающей ячейку CUT.

  2. вычисляет порог путем умножения шумовой оценки порогового фактора.

  3. сравнивает значение ячейки CUT с порогом, чтобы определить, присутствует ли цель или отсутствует. Если значение больше, чем порог, цель присутствует.

Запускать детектор

  1. Задайте и настройте свой детектор CFAR. Смотрите Конструкцию.

  2. Вызовите step, чтобы выполнить обнаружение CFAR согласно свойствам phased.CFARDetector. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Конструкция

H = phased.CFARDetector создает Системный объект детектора CFAR, H. Объект выполняет обнаружение CFAR на входных данных.

H = phased.CFARDetector(Name,Value) создает объект, H, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

Method

Алгоритм CFAR

Задайте алгоритм детектора CFAR как один из

'CA'Составляющий в среднем ячейку CFAR
'GOCA'Самый большой - составляющего в среднем ячейку CFAR
'OS'Закажите статистический CFAR
'SOCA'Самый маленький - составляющего в среднем ячейку CFAR

Значение по умолчанию: 'CA'

Rank

Ранг статистической величины порядка

Задайте ранг статистической величины порядка как положительный целочисленный скаляр. Значение должно быть меньше чем или равно значению свойства NumTrainingCells. Это свойство применяется только, когда вы устанавливаете свойство Method на 'OS'. Это свойство поддерживает одинарную и двойную точность,

Значение по умолчанию: 1

NumGuardCells

Количество защитных ячеек

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

Значение по умолчанию: 2, указывая, что существует одна защитная ячейка в обоих передняя и задняя часть ячейки под тестом

NumTrainingCells

Количество учебных ячеек

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

Значение по умолчанию: 2, указывая, что существует одна учебная ячейка в обоих передняя и задняя часть ячейки под тестом

ThresholdFactor

Методы получения порогового фактора

Задайте, прибывает ли пороговый фактор из автоматического вычисления, свойства CustomThresholdFactor этого объекта или входного параметра в step. Значения этого свойства:

'Auto'Приложение вычисляет пороговый фактор автоматически на основе желаемой вероятности ложного предупреждения, заданного в свойстве ProbabilityFalseAlarm. Вычисление принимает, что каждый независимый сигнал во входе является одним импульсом, выходящим из квадратичного детектора без импульсного интегрирования. Вычисление также принимает, что шум белый Гауссов.
'Custom'Свойство CustomThresholdFactor этого объекта задает пороговый фактор.
'Input port'Входной параметр в каждом вызове step задает пороговый фактор.

Значение по умолчанию: 'Auto'

ProbabilityFalseAlarm

Желаемая вероятность ложного предупреждения

Задайте желаемую вероятность ложного предупреждения как скаляр между 0 и 1 (не включительно). Это свойство применяется только, когда вы устанавливаете свойство ThresholdFactor на 'Auto'.

Значение по умолчанию: 0.1

CustomThresholdFactor

Пользовательский пороговый фактор

Задайте пользовательский пороговый фактор как положительную скалярную величину. Это свойство применяется только, когда вы устанавливаете свойство ThresholdFactor на 'Custom'. Это свойство является настраиваемым. Это свойство поддерживает одинарную и двойную точность,

Значение по умолчанию: 1

OutputFormat

Формат результатов обнаружения

Формат результатов обнаружения возвращен методом step, заданным как 'CUT result' или 'Detection index'.

  • Когда установлено в 'CUT result', результатами являются логические значения обнаружения (1 или 0) для каждой протестированной ячейки. 1 указывает, что значение протестированной ячейки превышает порог обнаружения.

  • Когда установлено в 'Detection index', результаты формируют вектор или матрицу, содержащую индексы протестированных ячеек, которые превышают порог обнаружения. Можно использовать этот формат в качестве входа к Системным объектам phased.DopplerEstimator и phased.RangeEstimator.

Значение по умолчанию: 'CUT result'

ThresholdOutputPort

Выведите порог обнаружения

Чтобы получить порог обнаружения, установите это свойство на true и используйте соответствующий выходной аргумент при вызове step. Если вы не хотите получать порог обнаружения, установите это свойство на false.

По умолчанию: false

NoisePowerOutputPort

Выведите оцененный шум

Чтобы получить предполагаемый шум, установите это свойство на true и используйте соответствующий выходной аргумент при вызове step. Если вы не хотите получать предполагаемый шум, установите это свойство на false.

По умолчанию: false

NumDetectionsSource

Источник количества обнаружений

Источник количества обнаружений, заданных как 'Auto' или 'Property'. Когда вы устанавливаете это свойство на 'Auto', количество индексов обнаружения, о которых сообщают, является общим количеством ячеек под тестом, которые имеют обнаружения. Если вы устанавливаете это свойство на 'Property', количество обнаружений, о которых сообщают, определяется значением свойства NumDetections.

Зависимости

Чтобы включить это свойство, установите свойство OutputFormat на 'Detection index'.

Значение по умолчанию: 'Auto'

NumDetections

Максимальное количество обнаружений, чтобы сообщить

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

Зависимости

Чтобы включить это свойство, установите свойство OutputFormat на 'Detection index' и свойство NumDetectionsSource к 'Property'.

Значение по умолчанию: 1

Методы

шагВыполните обнаружение CFAR
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

развернуть все

Выполните составляющее в среднем ячейку обнаружение CFAR на данном Гауссовом шумовом векторе с желаемой вероятностью ложного предупреждения (PFA) 0,1. Примите, что данные прибывают из квадратичного детектора, и никакое импульсное интегрирование не выполняется. Используйте 50 ячеек, чтобы оценить, что уровень шума и 1 ячейка разделяют тестовую ячейку и учебные ячейки. Выполните обнаружение на всех ячейках входа.

detector = phased.CFARDetector('NumTrainingCells',50,...
    'NumGuardCells',2,'ProbabilityFalseAlarm',0.1);
N = 1000;
x = 1/sqrt(2)*(randn(N,1) + 1i*randn(N,1));
dets = detector(abs(x).^2,1:N);
pfa = sum(dets)/N
pfa = 0.1140

Выполните составляющее в среднем ячейку обнаружение CFAR на данном Гауссовом шумовом векторе с желаемой вероятностью ложного предупреждения (PFA) 0,005. Примите, что данные прибывают из квадратичного детектора, и никакое импульсное интегрирование не выполняется. Выполните обнаружение на всех ячейках входа. Используйте 50 ячеек, чтобы оценить, что уровень шума и 1 ячейка разделяют тестовую ячейку и учебные ячейки. Отобразите индексы обнаружения.

rng default;
detector = phased.CFARDetector('NumTrainingCells',50,'NumGuardCells',2, ...
    'ProbabilityFalseAlarm',0.005,'OutputFormat','Detection index');
N = 1000;
x1 = 1/sqrt(2)*(randn(N,1) + 1i*randn(N,1));
x2 = 1/sqrt(2)*(randn(N,1) + 1i*randn(N,1));
x = [x1,x2];
cutidx = 1:N;
dets = detector(abs(x).^2,cutidx)
dets = 2×11

   339   537   538   734   786   827   979   136   418   539   874
     1     1     1     1     1     1     1     2     2     2     2

Алгоритмы

развернуть все

Ссылки

[1] Ричардс, M. A. Основные принципы радарной обработки сигналов. Нью-Йорк: McGraw-Hill, 2005.

Расширенные возможности

Представленный в R2012a