Тестирование гипотезы Неимен-Пирсона

Цель тестирования гипотезы

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

Поддержка тестирования гипотезы Неимен-Пирсона

Когда вы используете программное обеспечение Phased Array System Toolbox™ для приложений, таких как радар и гидролокатор, вы обычно используете Неимен-Пирсона (NP) критерий оптимальности, чтобы сформулировать ваш тест гипотезы.

Когда вы выбираете критерий NP, можно использовать npwgnthresh определить порог для обнаружения детерминированных сигналов в белом Гауссовом шуме. Оптимальное правило решения выводит из likelihood ratio test (LRT). LRT выбирает между пустыми и альтернативными гипотезами на основе отношения условных вероятностей.

npwgnthresh позволяет вам задать максимальную ложно-сигнальную вероятность как ограничение. false alarm означает решать, что данные состоят из сигнала плюс шум, когда только шум присутствует.

Для получения дополнительной информации о статистических предположениях npwgnthresh функция делает, смотрите страницу с описанием для этой функции.

Порог для сигнала с действительным знаком в белом Гауссовом шуме

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

Определите необходимый сигнал к шуму (ОСШ) в децибелах для детектора NP, когда максимальная терпимая ложно-сигнальная вероятность будет 10^-3.

Pfa = 1e-3;
T = npwgnthresh(Pfa,1,'real');

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

variance = 1;
threshold = sqrt(variance * db2pow(T));

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

rng default
N = 1e6;
x = sqrt(variance) * randn(N,1);
falsealarmrate = sum(x > threshold)/N
falsealarmrate = 9.9500e-04

Постройте первые 10 000 выборок. Красная горизонтальная линия показывает порог обнаружения.

x1 = x(1:1e4);
plot(x1)
line([1 length(x1)],[threshold threshold],'Color','red')
xlabel('Sample')
ylabel('Value')

Figure contains an axes. The axes contains 2 objects of type line.

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

Порог для двух импульсов сигнала с действительным знаком в белом Гауссовом шуме

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

Определите необходимый ОСШ для детектора NP, когда максимальная терпимая ложно-сигнальная вероятность будет 10-3.

pfa = 1e-3;
T = npwgnthresh(pfa,2,'real');

Сгенерируйте два набора одного миллиона выборок Гауссовой случайной переменной.

rng default
variance = 1;
N = 1e6;
pulse1 = sqrt(variance)*randn(N,1);
pulse2 = sqrt(variance)*randn(N,1);
intpuls = pulse1 + pulse2;

Вычислите пропорцию выборок, которые превышают порог.

threshold = sqrt(variance*db2pow(T));
falsealarmrate = sum(intpuls > threshold)/N
falsealarmrate = 9.8900e-04

Эмпирический ложный сигнальный уровень очень близко к.001

Порог для сигналов с комплексным знаком в комплексном белом Гауссовом шуме

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

Определите необходимый ОСШ для детектора NP в когерентной схеме обнаружения с одной выборкой. Используйте максимальную терпимую ложно-сигнальную вероятность 10-3.

pfa = 1e-3;
T = npwgnthresh(pfa,1,'coherent');

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

rng default
variance = 1;
N = 1e6;
x = sqrt(variance/2)*(randn(N,1)+1j*randn(N,1));
threshold = sqrt(variance*db2pow(T));
falsealarmrate = sum(real(x)>threshold)/length(x)
falsealarmrate = 9.9500e-04