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

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

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

Детектор

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

J=Pd+g(Pfa-a),

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

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

В этой конкретной ситуации с NP, поскольку ложное предупреждение вызывается одним только шумом, порог, который Th полон решимости шумом гарантировать фиксированному PFA. Общая форма LRT, показанного выше, часто затрудняет, чтобы оценить. В действительных приложениях мы часто используем легкое, чтобы вычислить количество из сигнала, i.e., достаточная статистика, чтобы заменить отношение двух функций плотности вероятности. Например, достаточная статистика, 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

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

z = real(y);

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

zH1><H0T

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

Pfa=12[1-erf(TNM)]

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

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, представлен в полученном сигнале, успешное обнаружение происходит когда полученный сигнал превышает порог, i.e. z> T. Возможность детектора обнаружить цель часто измеряется вероятностью правильного обнаружения Pd. При использовании метода Монте-Карло Pd может быть вычислен как отношение между числом раз, сигнал превышает порог и количество общих испытаний.

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

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

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

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

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

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

Figure contains an axes object. The axes object with title Nonfluctuating Coherent Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

Это видно от фигуры, что измеренный 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 может затем быть получен с помощью

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

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

Для целевого отсутствующего случая полученный сигнал содержит только шум. Мы можем вычислить 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);

Figure contains an axes object. The axes object with title Nonfluctuating Noncoherent Receiver Operating Characteristic (ROC) Curves contains 2 objects of type line, text.

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

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

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

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

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

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

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