step

Системный объект: phased.CFARDetector
Пакет: поэтапный

Выполните обнаружение CFAR

Синтаксис

Y = step(H,X,cutidx)
[Y,th] = step(___)
[Y,noise] = step(___)
Y = step(H,X,cutidx,thfac)
[Y,TH,N] = step(H,X,cutidx,thfac)

Описание

Примечание

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

Y = step(H,X,cutidx) выполняет обнаружение CFAR на указанных элементах входных данных, XX может или быть M с действительным знаком-by-1 вектор-столбец или M с действительным знаком-by-N матрица. cutidx вектор длины-D из индексов, указывающих входные элементы или ячейки под тестом (CUT), на которых можно выполнить обработку обнаружения. Когда X вектор, cutidx указывает элемент. Когда X матрица, cutidx задает строку элемента. Тот же индекс применяется ко всем столбцам матрицы. Обнаружение выполняется независимо вдоль каждого столбца X для индексов, заданных в cutidx. Можно задать входные параметры как одинарную или двойную точность.

Выходной аргумент Y содержит результаты обнаружения. Формат Y зависит от OutputFormat свойство.

  • Когда OutputFormat 'Cut result'Y D-by-1 вектор или D-by-N матрица, содержащая логические результаты обнаружения. D является длиной cutidx и N является количеством столбцов X. Строки Y соответствуйте строкам в cutidx. Для каждой строки, Y содержит 1 в столбце, если существует обнаружение в соответствующем столбце X. В противном случае, Y содержит 0.

  • Когда OutputFormat 'Detection report'Y 1-by-L вектор или 2 L матрицей, содержащей индексы обнаружений. L является количеством обнаружений, найденных во входных данных. Когда X вектор-столбец, Y содержит индекс для каждого обнаружения в X. Когда X матрица, Y содержит индексы строки и столбца каждого обнаружения в X. Каждый столбец Y имеет форму [detrow;detcol]. Когда NumDetectionsSource свойство установлено в 'Property', L равняется значению NumDetections свойство. Если количество фактических обнаружений меньше этого значения, столбцы без обнаружений установлены в NaN.

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

[Y,th] = step(___) также возвращает порог обнаружения, th, примененный обнаруженные ячейки под тестом.

  • Когда OutputFormat 'CUT result'th возвращает порог обнаружения каждый раз, когда элемент Y 1 и NaN каждый раз, когда элемент Y 0th имеет тот же размер как Y.

  • Когда OutputFormat 'Detection index'th возвращает порог обнаружения для каждого соответствующего обнаружения в Y. Когда NumDetectionsSource свойство установлено в 'Property', L равняется значению NumDetections свойство. Если количество фактических обнаружений меньше этого значения, столбцы без обнаружений установлены в NaN.

Чтобы включить этот синтаксис, установите ThresholdOutputPort свойство к true.

[Y,noise] = step(___) также возвращает предполагаемую шумовую мощность, noise, для каждой обнаруженной ячейки под тестом в X.

  • Когда OutputFormat 'CUT result', noise возвращает оценку шумовой мощности когда Y 1 и NaN каждый раз, когда Y нуль. noise имеет тот же размер как Y.

  • Когда OutputFormat 'Detection index', noise возвращает оценку шумовой мощности для каждого соответствующего обнаружения в Y. Когда NumDetectionsSource свойство установлено в 'Property', L равняется значению NumDetections свойство. Если количество фактических обнаружений меньше этого значения, столбцы без обнаружений установлены в NaN.

Чтобы включить этот синтаксис, установите NoisePowerOutputPort свойство к true.

Y = step(H,X,cutidx,thfac), кроме того, задает thfac когда пороговый фактор раньше вычислял порог обнаружения. thfac должна быть положительная скалярная величина. Чтобы включить этот синтаксис, установите ThresholdFactor свойство к 'Input port'.

Можно объединить дополнительные аргументы ввода и вывода, когда их свойства включения установлены. Дополнительные вводы и выводы должны быть перечислены в том же порядке как порядок свойств включения. Например, [Y,TH,N] = step(H,X,cutidx,thfac).

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать 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

Алгоритмы

phased.CFARDetector ячейка использования, составляющая в среднем на трех шагах:

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

    МетодШумовая оценка
    'CA'Используйте среднее значение значений во всех учебных ячейках.
    'GOCA'Выберите большие из средних значений в передних учебных ячейках и задних учебных ячейках.
    'OS'Сортировка значений в учебных ячейках в порядке возрастания. Выберите N th элемент, где N является значением Rank свойство.
    'SOCA'Выберите меньшие из средних значений в передних учебных ячейках и задних учебных ячейках.
  2. Умножьте шумовую оценку порогового фактора, чтобы сформировать порог.

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

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

Ссылки

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