Улучшение SNR с использованием методов DSP

14

Я строю оптическую систему OOK (On off Key Ring) без несущей частоты. [Однако у меня есть защитное время между символами, поэтому последовательные сообщения «1» приведут к последовательности импульсов в отличие от постоянного тока, см. Изображение]. По сути, наличие сигнала указывает на один, а отсутствие его указывает на ноль. У меня есть точные часы, которые синхронизируют приемник с передатчиком. Система работает с низким SNR, и мне нравится улучшать SNR, используя методы DSP.

У меня есть несколько вопросов:

Я делаю выборочную выборку на своем оборудовании, другими словами, я не непрерывно производю выборку канала, а выполняю выборку только тогда, когда вероятность увидеть сигнал максимальна (т. Е. Это световой импульс, я измеряю время АЦП так, чтобы АЦП выполнял выборку в конце импульса, где я знаю, что вся аналоговая цепь стабилизируется). Смотрите изображение. введите описание изображения здесь

Естественно, этот рисунок не показывает шум, но он есть. Это, в частности, система с низким уровнем сигнала, и первичными источниками шума являются дробовые шумы, шумы Джонсона и внутренние шумы усилителей. (оптическая система, поэтому нет другого источника помех, кроме Солнца). Мое наблюдение шума показывает, что он похож на всех частотах. (По крайней мере то, что я вижу в Scope)

Теперь я использую простое сравнение порогов в программном обеспечении, чтобы определить, равны ли данные единице или нулю. Есть ли способ лучше? Я думал о некоторых вариантах, но мне нравится слышать от экспертов.

Пока что я рассмотрел следующие варианты:

  • Проводите непрерывный АЦП и пытайтесь интегрироваться во время повышения: Не совсем уверен в преимуществе (могут быть и другие преимущества, я не знаю).

  • Соответствующий фильтр в программном обеспечении: не совсем понимаю математику, но на основании того, что я прочитал, возможность

  • Сэмплируйте в течение защитного времени и вычтите его из значения АЦП сигнала (это может дать некоторые дополнительные детали, но также не вполне уверенно, что защитное время будет измерением шума)

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

Фрэнк
источник
Как ваш пробоотборник узнает, когда произойдут импульсы? Есть ли какая-то другая форма синхронизации времени между передатчиком и приемником?
Джейсон Р
@JasonR да. Это упоминается в тексте.
Фрэнк
1
Извините, я пропустил это во время моего начального чтения. Как характеризуется шум? Это белый? Gaussian? Это вообще шум или помехи от какого-то другого источника? Как примечание, я бы посчитал, что первые два варианта, которые вы перечислили, эквивалентны, и они могут иметь отношение к вашей проблеме, но я сначала хотел получить больше информации о состоянии вашей системы.
Джейсон Р
@JasonR спасибо за отзыв, я обновил вопрос относительно шума.
Фрэнк
Я бы сделал несколько серьезных ставок на соответствующий фильтр.
Фонон

Ответы:

9

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

Теория:

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

H0:signal is not presentH1:signal is present

Проблема такого рода часто решается с использованием байесовских правил принятия решений , которые пытаются принять оптимальное решение в соответствии с определенной мерой риска. Это обеспечивает основу, в которой можно оптимально принимать решения об обнаружении на основе гибкого набора критериев. Например, если ваша система имеет большие штрафы за неспособность обнаружить сигнал, если он действительно присутствует (т. Е. Вы выбираете когда H 1 истинно), вы можете встроить его в свое правило принятия решений, если это необходимо.H0H1

Для такой проблемы обнаружения, как ваша, когда вы пытаетесь выбрать между нулями и единицами на выходе приемника, штраф обычно считается равным (вывод нуля, когда единица была передана, и наоборот, «одинаково болит») ). Байесовский подход в этом случае сводится к оценке максимального правдоподобия (также описанной здесь ): вы выбираете наиболее вероятную гипотезу с учетом наблюдения, сделанного вашим приемником. То есть, если величина, которую соблюдает ваш получатель, равна , тогда он будет принимать решение на основе гипотезы, которая имеет наибольшее значение функции правдоподобия . Для бинарного решения вместо этого можно использовать отношение правдоподобия:x

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | signal is not present)P(x | signal is present)

Используя вышеупомянутую модель, для каждого наблюдения канала оптимальный приемник решит, что сигнал не присутствует (следовательно, выдает ноль), если отношение правдоподобия Λ ( x ) больше единицы (и, следовательно, сигнал был наиболее вероятным не присутствовать на основании наблюдения), и наоборот.xΛ(x)

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

H0:x=NH1:x=s+N

где - случайная переменная, взятая из некоторого распределения (часто предполагаемого как гауссиана с нулевым средним), а s - детерминистическая составляющая наблюдения, обусловленная искомым сигналом. Следовательно, распределение наблюдаемого x получателя изменяется в зависимости от того, верна ли гипотеза H 0 или H 1 . Чтобы оценить отношение правдоподобия, вам нужна модель того, каковы эти распределения. Для случая Гаусса, упомянутого выше, математика выглядит следующим образом:nsxH0H1

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | x=N)P(x | x=s+N)

Λ(x)=P(x | H0 is true)P(x | H1 is true)=ex22σ2e(xs)22σ2

где - дисперсия члена гауссовского шума. Обратите внимание, что аддитивная составляющая сигнала имеет функцию только смещения среднего результирующего гауссова распределения x . Отношение логарифмического правдоподобия может использоваться, чтобы избавиться от экспонент:σ2x

ln(Λ(x))=ln(ex22σ2e(xs)22σ2)=(x22σ2)((xs)22σ2)

Напомним, что наше решение о выборе выбрало если отношение правдоподобия было больше единицы. Эквивалентным правилом принятия решения о правдоподобии является выбор H 0, если правдоподобие больше нуля. Некоторая алгебра показывает, что решающее правило сводится к:H0H0

x<s2choose H0x>s2choose H1

x=s2sT=s2xT

Практика:

s

Как я упоминал ранее, шум часто считается гауссовым, потому что с нормальным распределением очень легко работать: сумма группы независимых гауссианов по-прежнему гауссова, а их среднее значение и дисперсии также просто добавляются. Кроме того, статистики распределения первого и второго порядка достаточно для их полной характеристики (учитывая среднее значение и дисперсию гауссовского распределения, вы можете написать его pdf ). Так что, надеюсь, это достойное приближение по крайней мере для вашего приложения.

sNs

Pe=P(choose H0 | H1 true)P(H1 true)+P(choose H1 | H0 true)P(H0 true)=12P(x<s2 | x=s+N)+12P(x>s2 | x=N)=12Fx | x=s+N(s2)+12(1Fx | x=N(s2))

Fx | x=s+N(z)xx=s+N

Pe=12(1Q(s2sσ))+12Q(s2σ)=12+12(Q(s2sσ)+Q(s2σ))=12+12(Q(s2σ)+Q(s2σ))=12+12(Q(SNR2)+Q(SNR2))=Q(SNR2)

Q(x)

Q(x)=12πxez22dz

1SNRsσSNRsσ

sx1x2x1 а сумма двух независимых?

SNR1=sσ

SNR2=2s2σ=2SNR1

EsN0

Более точно, можно показать, что согласованный фильтр имеет импульсную характеристику, которая идентична по форме (то есть «согласована», с единственным тонким исключением, состоящим в том, что импульсная характеристика обращена во времени) к форме импульса, которую приемник принимает видит (таким образом, он взвешивает больше выборок, которые имеют большие компоненты сигнала). Эта форма является функцией формы передаваемого импульса, а также любых эффектов, вызванных внешним интерфейсом канала или приемника, таких как ограничение полосы или многолучевое распространение .

x

s

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

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

Джейсон Р
источник
спасибо за подробный ответ, я многому у него научился. Я хотел бы попросить несколько разъяснений. Я получаю балл более чем за 1 образец на продолжительности. В этом случае, как выглядит согласованный фильтр? Скажем, у меня есть три образца x1, x2, x3 (x3 в хвостовой части и x1 в начале). Основываясь на том, что я прочитал, я должен сверить это с тем же, но симметричным сигналом формы. Можете ли вы объяснить эту часть? [Я думаю, что знаю ответ, но только для того, чтобы убедиться] Вторая часть, я знаю, каков будет динамический диапазон входящего сигнала, так как я провел измерения. Могу ли я использовать этот диапазон для установки порога?
Фрэнк
Согласованный фильтр - это способ реализации скользящей взаимной корреляции между сигналом, видимым вашим приемником, и ожидаемой формой импульса. Диаграмма, показанная в вашем вопросе, иллюстрирует импульс, воспринимаемый АЦП как экспоненциальный рост; если это действительно ваша модель для того, что видит приемник, то соответствующий согласованный фильтр будет иметь ту же форму, только обращенную во времени (изменение времени превращает операцию свертки в корреляцию). Если внешний интерфейс приемника заметно не искажает импульс, вы можете использовать «идеальный» прямоугольный согласованный фильтр, который проще реализовать.
Джейсон Р
Что касается вашего второго вопроса: да, если вы априори знаете ожидаемую амплитуду компонента сигнала, то вы можете использовать это для выбора порога. Используя статистическую модель системы (основанную на типе присутствующего шума), вы можете рассчитать частоту ошибок по битам как функцию отношения сигнал / шум (которое пропорционально амплитуде сигнала). Если основным источником является тепловой шум вашего приемника, то обычно используется белый гауссов шум.
Джейсон Р
Мой приемник имеет BPF, который режет высокочастотные сигналы. BPF округляет начальный всплеск импульса, и он становится более экспоненциальным по своей природе. Я могу отключить BPF, но это приведет к появлению высокочастотного шума, который в настоящее время отсутствует в цепи. Похоже, у меня есть компромисс, как я могу определить, какой путь лучше. (т.е. удалить BPF и использовать согласованный фильтр для импульса, не удалять BPF и использовать согласованный фильтр для экспоненциального роста)
Фрэнк,
Я вручил вам награду, большое спасибо за отличный ответ.
Фрэнк
0

Одним из возможных методов может быть попытка использовать периодические обучающие последовательности для сбора статистики, не только для того, чтобы различать 1 и 0, либо для вычисления показателя надежности для любого заданного порога, но и для анализа того, как различные битовые последовательности могут влиять на порог принятия адаптивного бита. ,

hotpaw2
источник
интересное мышление, но не подходит. Мне нужно быстро принять решение, и даже если я буду работать с предыдущими данными, разница в поле будет большой.
Фрэнк