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

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

Обзор

Существует много различных видов детекторов, доступных для использования в различных приложениях. Немногими из наиболее популярных таковых являются байесовский детектор, детектор максимальной вероятности (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),

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

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

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

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

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

Figure contains an axes. The axes 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. The axes 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, которое, в свою очередь, переводится в значение порога SNR. Использование этого конкретного порога ОСШ для выполнения обнаружения приводит затем к соответствующему Pd.

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

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