Перейти к содержанию
    

Детектирование затухающего сигнала

28 минут назад, my504 сказал:

ЗЫ. И почему Вы постоянно говорите об отдельной помехе? Нет никакой отдельной помехи и выделить ее невозможно. Есть только сигнал с помехой. 

пока обработка линейна нам нет разницы сумма у нас сигналов или они по отдельности идут а мы потом складываем результат обработки. 

28 минут назад, my504 сказал:

На практике Вы получите НИКАКОЕ разрешение БПФ, причем обсуждаемая модуляция размажет спектр по нескольким бинам. Что с этим делать? 

О каком разрешении идёт речь - о частотном? Если да то можно получить какое угодно частотное разрешение, дополняй нули до любой размерности БПФ и считай.

Другое дело что с/ш это не улучшит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и зачем добавлять разрешение, которое ничего не улучшит? 

Я по прежнему никак не могу взять в толк зачем делать БПФ там, где нужно всего максимум 3 фильтра, а паче вообще одного за глаза? 

Или Вы БПФ для любого случая суете? 

На самом деле, я решил обсуждаемую задачу ещё года 4  назад. Аффтару я намекнул на путь. Остальное - его путь и его проблема. Итак слишком много сказал. 

3 hours ago, Lmx2315 said:

пока обработка линейна нам нет разницы сумма у нас сигналов или они... 

Любезный, Вы вообще о чем? Вы в курсе относительно нелинейной фильтрации? 

))) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, my504 сказал:

и зачем добавлять разрешение, которое ничего не улучшит? 

вы же выше сами горились что спектр по бинам размажет - повысьте частотное разрешение и и не размажет.

Цитата

Я по прежнему никак не могу взять в толк зачем делать БПФ там, где нужно всего максимум 3 фильтра, а паче вообще одного за глаза? 

БПФ это просто быстрый способ расчёта для чего угодно: свёртки, фильтрации, построения спектра. Это не вместо фильтрации, это для фильтрации. И я его не предлагал, вы увидели БПФ и вас понесло.

Цитата

Любезный, Вы вообще о чем? Вы в курсе относительно нелинейной фильтрации? 

и как вы хотите её применить в данном случае?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если Вы успокоитесь с БПФ, сверткой и иной линейной операцией с ЭКЗЕМПЛЯРОМ и, наконец сообразите, что фильтровать нужно ВЕРТИКАЛЬНО, используя основной признак примененного сигнала, тогда и сообразите зачем и как использовать нелинейную фильтрацию... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что это за "вертикальная фильтрация" ? в двух словах или может даже ссылку на научный труд дадите? А то гугл ничего такого в приложении к электронике не находит.

8 минут назад, my504 сказал:

и, наконец сообразите, что фильтровать нужно ВЕРТИКАЛЬНО, используя основной признак примененного сигнала, тогда и сообразите зачем и как использовать нелинейную фильтрацию... 

я некомпетентный , нижайше прошу милости - объяснить дураку что да как, на основе вашего многолетнего опыта обработки сигналов по тематике данной темы?

По пунктам , для особо альтернативно одарённых.

Нижайше прошу!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вертикальная фильтрация - это многоканальная фильтрация одноименных выборок АНСАМБЛЯ ЭКЗЕМПЛЯРОВ сигнала. 

Таким образом, если двумерный сигнал имеет, например, 1024 отсчета и 16 экземпляров, то у нас будет 2048 фильтров 16 порядка. Вертикальный массив образующий фильтр в идеальном случае должен содержать одинаковые значения всех отсчетов. На самом деле значения колеблются статистически.

С этим и работаем. 

Экземпляры образуют скользящее окно. То есть фильтруются последние 16 (для нашего примера) входящие в это окно. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой, оказывается, я пропустил продолжение.

Lmx2315, спасибо большое за обсуждение. Специфика задачи такова, как описал my504, но ваш с ним спор вышел очень полезным.

my504. Я, если честно, так и не понял ваш вариант. Пусть каждый отклик состоит из 1024 отсчётов и таких откликов пусть 16 штук.
Множим на синус/косинус, получаем 2*1024 отсчёта в 16 экземплярах. Дальше не понятно. Отбрасываем экземпляры, которые выбиваются из общего ряда по фазе? Или усредняем 16 штук, после суммируем 1024 штуки? Или что? Голову сломал.

16 откликов - это 16 чтений одного и того же бита/полубита?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 hours ago, Абырвалг said:

Я, если честно, так и не понял ваш вариант. Пусть каждый отклик состоит из 1024 отсчётов и таких откликов пусть 16 штук.
Множим на синус/косинус...

После умножения на синус и косинус  следует фильтровать КИХом оба массива с целью выделения самих квадратурных сигналов. Далее каждая из квадратурных составляющих становится строкой матриц. Отдельно матрица синусов, отдельно косинусов.

Следующий кадр сигнала будет следующей строкой матриц и так далее.

Строки в матрицах будут образовывать скользящее окно - каждая новая строка будет вытеснять самую старую.

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

Например, если период следования кадров 5 мс, а допустимое время обнаружения 100 мс, то вертикальный размер матрицы максимум может быть вдвое больше отношения времени обнаружения к периоду кадров. То есть 2*100/5=40. Но в течении этих 100 мс сигнал должен быть стабилен.

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

Чтобы наглядно представить себе механизм того, что я вам описал, приведу аналогию из осциллографа.

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

Как то так.

Ниже привел графическую иллюстрацию многоканального вертикального фильтра. Таких должно быть ДВА - отдельно по Real и Imaginary компонентам сигнала.

После раздельной фильтрации можно посчитать значения модулей по каждой точке выходных буферов по известной тригонометрической формуле корня из суммы квадратов Re и  Im. Это и будет искомый принятый сигнал.

Снимок.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за пояснения.

Не понятно, зачем надо таки два компонента сигнала. После всей обработки получим амплитуду и фазу принятого сигнала. Но фаза то у всех экземпляров одинаковая. Должна быть. Разве что как критерий отбраковки. Но тут дилемма, чувствительность/достоверность.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Абырвалг said:

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

Это ОЧЕНЬ БОЛЬШАЯ ошибка. Одинакова будет только НАЧАЛЬНАЯ фаза. Частота накачки может не совпадать с частотой свободных колебаний контура и фаза будет разбегаться. Мало того, даже начальная фаза может быть ЛЮБОЙ, стабильной для данного образца метки, но иной для другого. Так же это зависит от многих схемотехнических факторов, включая софтовые задержки при преобразовании сигнала в цифру. Синусно-косинусное (квадратурное) преобразование позволяет получить высококачественное амплитудное детектирование. И не требует особых ресурсов от МК. Фаза. к слову, Вам не нужна. Считать нужно только модуль-амплитуду. Но и для этого нужен комплексный сигнал.

1 hour ago, Абырвалг said:

По идее всё, что даёт косинус - это вклад помехи.

Это с какого перепуга? Сигнал от способа обработки неизменен.

1 hour ago, Абырвалг said:

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

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

PS. Я Вам дал ГОТОВЫЙ СЕРИЙНЫЙ алгоритм (изделия под его управлением имеют тиражи примерно 10...15К+  в год). Изделия с практически идентичным принципом работы.

Все о чем я умолчал - это примененная мной нелинейная фильтрация в вертикальных фильтрах. Но Вы можете взять медианную. Тоже прокатит. На ранних этапах я ее и применял.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

59 minutes ago, Абырвалг said:

Был вариант с вычислением фазы через квадратурный детектор

А зачем ее вычислять? Фаза при АМПЛИТУДНОМ квадратурном детектировании вообще не нужна. И следить за ней нет никакого смысла. Это в следящей системе НЕИЗБЕЖНО возникают шумы в петле слежения.

При фильтрации ДО НАХОЖДЕНИЯ МОДУЛЯ по предложенному выше алгоритму помех НЕТ ВООБЩЕ. Их нет как раз после нелинейной фильтрации.

Устройство может не видеть сигнал на выходе нелинейного фильтра по причине высокого уровня СИНХРОННЫХ помех, но эта ситуация вообще ни при каких условиях не может быть разрулена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ещё раз спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, Абырвалг said:

В конце концов шумят свои преобразователи, ...

FYI: Improve RFID by killing noise

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...