Jump to content

    

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

Есть канал связи, что-то вроде пассивной RFID метки. "Метка" отвечает путем шунтирования колебательного контура. Т.е. принимаем ответ в виде затухающего синуса. Или не принимаем. Надо определить на фоне помех, был отклик или нет.

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

Предложите идеи, пожалуйста, как улучшить алгоритм.

Спасибо!

Share this post


Link to post
Share on other sites
34 минуты назад, Абырвалг сказал:

Частота примерно известна. Фаза тоже примерно известна. 

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

37 минут назад, Абырвалг сказал:

но никак не учитывается затухающий характер сигнала.

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

Share this post


Link to post
Share on other sites

Повторите свой опыт с возбуждением ответного сигнала N раз и копите результат столько сколько вам надо для вытаскивания вашего синуса из под шумов соответствующим по длинне БПФ-фом или усреднением.

Share this post


Link to post
Share on other sites
6 minutes ago, Grizzly said:

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

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

Резонансная частота контура известна примерно. Точно цифр не помню, но на частотах порядка 100 кГц разброс, кажись, порядка 1 кГц. Расстоянием можно пренебречь. Фаза колебаний по идее должна совпадать с фазой генератора, но пока дойдёт до синхронного детектора, несколько провернётся.

 

6 minutes ago, Grizzly said:

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

Меткой я обозвал само устройство с контуром. Колебания глохнут стремительно. Так-то всё работает, но малость не дотягиваем по дальности до конкурентов.

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

Share this post


Link to post
Share on other sites
33 minutes ago, Lmx2315 said:

Повторите свой опыт с возбуждением ответного сигнала N раз и копите результат столько сколько вам надо для вытаскивания вашего синуса из под шумов соответствующим по длинне БПФ-фом или усреднением.

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

Share this post


Link to post
Share on other sites

Умножать нужно и на косинус - т.е. измерять именно амплитуду без влияния фазы. И, желательно, делать измерения и на соседних частотах для оценки помех.

И повторять возбуждение несколько раз в зависимости от амплитуды принимаемого сигнала - чем он меньше - тем большая статистика требуется для его распознавания. То же самое при обнаружении высокого уровня помех.

Share this post


Link to post
Share on other sites
Just now, rudy_b said:

Умножать нужно и на косинус - т.е. измерять именно амплитуду без влияния фазы. И, желательно, делать измерения и на соседних частотах для оценки помех. 

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

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

Share this post


Link to post
Share on other sites
1 час назад, Абырвалг сказал:

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

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

Share this post


Link to post
Share on other sites
2 часа назад, Абырвалг сказал:

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

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

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

з.ы.

перед подачей на набор оптимальных фильтров сигнал можно N раз повторить и усреднить.

Share this post


Link to post
Share on other sites
On 8/21/2019 at 4:17 PM, Lmx2315 said:

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

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

з.ы.

перед подачей на набор оптимальных фильтров сигнал можно N раз повторить и усреднить.

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

 

Share this post


Link to post
Share on other sites
2 часа назад, my504 сказал:

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

 

..длинна метки ограничена ведь? А если ограничена то и множество меток будет ограниченным.

Вопрос производительности при обработке.

Share this post


Link to post
Share on other sites

Причем тут длина метки? Даже для 64 - битного ID создать столько образцов сигнала и по каждому считать корелляционную функцию - это безумие. 

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

 

Share this post


Link to post
Share on other sites
13 минут назад, my504 сказал:

Причем тут длина метки? Даже для 64 - битного ID создать столько образцов сигнала и по каждому считать корелляционную функцию - это безумие. 

Так может автор знает какие конкретно метки он ждёт , ему может не надо всё множество ?

Share this post


Link to post
Share on other sites

Ну если обнаружение выводится в фильтрацию, тады ой... 

Аффтару виднее...))) 

Автор в курсе относительно ресурсоемкости даже одного экземпляра ВКФ для сигнала подобного представленному? 

Вы предлагаете считать скалярную ВКФ или все таки комплексную?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this