Обнаружение сигнала в белом гауссовом шуме

Этот пример обсуждает обнаружение детерминированного сигнала в комплексном, белом, Гауссовом шуме. С этой ситуацией часто сталкиваются в радаре, гидролокаторе и коммуникационных приложениях.

Обзор

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

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

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

И шумовая модель сигнала

Полученный сигнал принят, чтобы следовать модели

x(t)=s(t)+n(t)

где s (t) является сигналом, и n (t) является шумом. Не теряя общность, мы принимаем, что степень сигнала равна 1 ватту, и шумовая степень определяется соответственно на основе сигнала к шумовому отношению (ОСШ). Например, для ОСШ 10 дБ, шумовая степень, т.е. шумовое отклонение составит 0,1 ватта.

Согласованный фильтр

Согласованный фильтр часто используется во фронтэнде получателя, чтобы улучшить ОСШ. С дискретной точки зрения сигнала коэффициенты согласованного фильтра просто даны спрягаемыми инвертированными выборками комплекса сигнала.

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

y=s*x=s*(s+n)=|s|2+s*n.

Обратите внимание на то, что несмотря на то, что общий вывод y является все еще комплексным количеством, сигнал полностью характеризуется |s|2, который является вещественным числом и содержавшийся в действительной части y. Следовательно, детектор после согласованного фильтра в когерентном получателе обычно использует только действительную часть полученного сигнала. Такой получатель может обычно обеспечивать лучшую производительность. Однако когерентный получатель уязвим для ошибок фазы. Кроме того, когерентный получатель также требует, чтобы дополнительное оборудование выполнило обнаружение фазы. Для некогерентного получателя полученный сигнал моделируется как копия исходного сигнала со случайной ошибкой фазы. С некогерентным полученным сигналом обнаружение после того, как согласованный фильтр обычно основан на степени или значении сигнала, поскольку вам нужны и действительные и мнимые части, чтобы полностью задать сигнал.

Детектор

Целевая функция правила решения NP может быть записана как

J=Pd+g(Pfa-a),

т.е. максимизировать вероятность обнаружения, Фунта, при ограничении вероятности ложного предупреждения, PFA на заданном уровне a. Переменная g в уравнении является множителем Лагранжа. Детектор NP может быть сформирован как тест отношения правдоподобия (LRT) можно следующим образом:

py(y|H1)py(y|H0)H1><H0Th.

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

z=|y|,

затем упрощенный детектор становится

zH1><H0T.

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

Одно демонстрационное обнаружение Используя когерентный получатель

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

Примите, что сигнал является модульной выборкой степени, и ОСШ составляет 3 дБ. Используя симуляцию Монте-Карло с 100000 испытаниями, мы генерируем сигнал и шум как

% fix the random number generator
rstream = RandStream.create('mt19937ar','seed',2009);

Ntrial = 1e5;             % number of Monte-Carlo trials
snrdb = 3;                % SNR in dB
snr = db2pow(snrdb);      % SNR in linear scale
spower = 1;               % signal power is 1
npower = spower/snr;           % noise power
namp = sqrt(npower/2);    % noise amplitude in each channel
s = ones(1,Ntrial);       % signal  
n = namp*(randn(rstream,1,Ntrial)+1i*randn(rstream,1,Ntrial));  % noise

Обратите внимание на то, что шум является комплексным, белым и Гауссов распределенный.

Если полученный сигнал содержит цель, им дают

x = s + n;

Согласованный фильтр в этом случае тривиален, поскольку сам сигнал является модульной выборкой.

mf = 1;

В этом случае усиление согласованного фильтра равняется 1, поэтому, нет никакого усиления ОСШ.

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

y = mf'*x;  % apply the matched filter

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

z = real(y);

Давайте примем, что мы хотят зафиксировать PFA к 1e-3. Учитывая достаточную статистику, z, правило решения становится

zH1><H0T

где порог T связан с PFA как

Pfa=12[1-erf(TNM)]

В уравнении N является степенью сигнала, и M является усилением согласованного фильтра. Обратите внимание на то, что T является порогом сигнала после согласованного фильтра, и NM представляет шумовую степень после согласованного фильтра, таким образом, TNM может быть рассмотрен как отношение между и шумовым значением сигнала, т.е. это связано с сигналом к шумовому отношению, ОСШ. Поскольку ОСШ обычно упоминается как отношение между и шумовой степенью сигнала, рассматривая модули каждого количества в этом выражении, мы видим это

TNM=SNR.

Поскольку N и M фиксируются, если шумовая и форма волны сигнала выбрана, существует соответствие между T и ОСШ. Данный T является порогом сигнала, ОСШ может быть рассмотрен как порог сигнала к шумовому отношению. Поэтому пороговое уравнение может затем быть переписано в форме

Pfa=12[1-erf(SNR)].

Необходимый порог ОСШ, учитывая комплексный, белый Гауссов шум для детектора NP может быть вычислен с помощью функции npwgnthresh можно следующим образом:

Pfa = 1e-3;
snrthreshold = db2pow(npwgnthresh(Pfa, 1,'coherent'));

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

Истинный порог T может затем быть выведен от этого порога ОСШ как

T=NMSNR.

mfgain = mf'*mf;
% To match the equation in the text above
% npower - N
% mfgain - M
% snrthreshold - SNR
threshold = sqrt(npower*mfgain*snrthreshold);

Обнаружение выполняется путем сравнения сигнала с порогом. Поскольку исходный сигнал, s, представлен в полученном сигнале, успешное обнаружение происходит когда полученные пассы сигнала порог, т.е. z> T. Возможность детектора обнаружить цель часто измеряется Фунтом. В симуляции Монте-Карло Фунт может быть вычислен как отношение между числом раз, сигнал передает порог и количество общих испытаний.

Pd = sum(z>threshold)/Ntrial
Pd = 0.1390

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

x = n;
y = mf'*x;
z = real(y);
Pfa = sum(z>threshold)/Ntrial
Pfa = 9.0000e-04

который удовлетворяет наше требование.

Чтобы видеть отношение среди ОСШ, Фунта и PFA в графике, мы можем построить теоретическую кривую ROC с помощью функции rocsnr для значения ОСШ 3 дБ как

rocsnr(snrdb,'SignalType','NonfluctuatingCoherent','MinPfa',1e-4);

Это видно от фигуры, что измеренный Pd=0.1390 и Pfa=0.0009, полученный выше для значения ОСШ 3 дБ, совпадают с теоретической точкой на кривой ROC.

Одно демонстрационное обнаружение Используя некогерентный получатель

Некогерентный получатель не знает фазу полученного сигнала, поэтому, для целевого данного случая, сигнал x содержит термин фазы и задан как

% simulate the signal
x = s.*exp(1i*2*pi*rand(rstream,1,Ntrial)) + n;
y = mf'*x;

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

z = abs(y);

Учитывая наш выбор достаточной статистики z, порог связан с PFA уравнением

Pfa=exp(-T2NM)=exp(-SNR).

Сигнал к шумовому пороговому ОСШ отношения для детектора NP может быть вычислен с помощью npwgnthresh можно следующим образом:

snrthreshold = db2pow(npwgnthresh(Pfa, 1,'noncoherent'));

Порог, T, выведен от ОСШ как прежде

mfgain = mf'*mf;
threshold = sqrt(npower*mfgain*snrthreshold);

Снова, Фунт может затем быть получен с помощью

Pd = sum(z>threshold)/Ntrial
Pd = 0.0583

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

Для целевого отсутствующего случая полученный сигнал содержит только шум. Мы можем вычислить PFA с помощью симуляции Монте-Карло как

x = n;
y = mf'*x;
z = abs(y);
Pfa = sum(z>threshold)/Ntrial
Pfa = 9.5000e-04

Кривая ROC для некогерентного получателя построена как

rocsnr(snrdb,'SignalType','NonfluctuatingNoncoherent','MinPfa',1e-4);

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

Сводные данные

Этот пример показывает, как моделировать и выполнить различные методы обнаружения с помощью MATLAB®. Пример иллюстрирует отношение среди нескольких переменных, с которыми часто сталкиваются, в обнаружении сигнала, а именно, вероятности обнаружения (Фунт), вероятность ложного предупреждения (PFA) и сигнал к шумовому отношению (ОСШ). В частности, пример вычисляет производительность детектора с помощью симуляций Монте-Карло и проверяет результаты метрик с кривыми рабочей характеристики получателя (ROC).

Существует два значения ОСШ, с которыми мы сталкиваемся в обнаружении сигнала. Первый является ОСШ одной выборки данных. Это - значение ОСШ, появившееся в графике кривой ROC. Точка на ROC дает необходимый один демонстрационный ОСШ, необходимый, чтобы достигнуть соответствующего Фунта и PFA. Однако это не порог ОСШ, используемый для обнаружения. Используя правило решения Неимен-Пирсона, порог ОСШ, второе значение ОСШ, которое мы видим в обнаружении, определяется шумовым распределением и желаемым уровнем PFA. Поэтому такой порог ОСШ действительно соответствует оси PFA в кривой ROC. Если мы зафиксируем ОСШ одной выборки, как изображено в вышеупомянутых графиках кривой ROC, каждая точка на кривой будет соответствовать значению PFA, которое в свою очередь переводит в пороговое значение ОСШ. Используя этот конкретный порог ОСШ, чтобы выполнить обнаружение затем приведет к соответствующему Фунту.

Обратите внимание на то, что порог ОСШ не может быть порогом, используемым непосредственно в фактическом детекторе. Фактический детектор обычно использует легкое, чтобы вычислить количество достаточной статистики, чтобы выполнить обнаружение. Таким образом истинный порог должен быть выведен от вышеупомянутого порога ОСШ соответственно так, чтобы это было сопоставимо с выбором достаточной статистики.

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

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