Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как определить начало сигнала?
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Altair
Коллеги, не знаю сюда или нет, но все же.

Есть сигнал от пьезодатчика (сам датчики (и TX, и RX) - от китайского парктроника). Источник возбуждаю одним импульсом, точнее даже фронтом (от бустера на индуктивности). На приеме после усиления вижу этот импульс. Заполнение - это видимо частота собственного резонанса датчика, т.к. она 40 кГц. Нужно определить момент прихода импульса на приеме. Пробовал детектировать аналогово - плохо получается - сам сигнал нестабилен. То сильный придет, то послабее, то в шумах и компаратор потом неточно определяет фронт.

Есть ли какие то иные способы определить событие "пришел импульс"?
GetSmart
Цитата(Altair @ Jan 11 2012, 10:31) *
То сильный придет, то послабее, то в шумах и компаратор потом неточно определяет фронт.

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

Фильтрация была?
MaslovVG
Цитата(Altair @ Jan 11 2012, 09:31) *
Коллеги, не знаю сюда или нет, но все же.

Есть сигнал от пьезодатчика (сам датчики (и TX, и RX) - от китайского парктроника). Источник возбуждаю одним импульсом, точнее даже фронтом (от бустера на индуктивности). На приеме после усиления вижу этот импульс. Заполнение - это видимо частота собственного резонанса датчика, т.к. она 40 кГц. Нужно определить момент прихода импульса на приеме. Пробовал детектировать аналогово - плохо получается - сам сигнал нестабилен. То сильный придет, то послабее, то в шумах и компаратор потом неточно определяет фронт.

Есть ли какие то иные способы определить событие "пришел импульс"?

Имея эталон импульса вычислять корреляцию эталона и сигнала. А если нет ресурсов. Для начала узкополосный фильтр на собственную частоту датчика существеено задавит прочие шумы.
Altair
Спасибо за наводки!

Задержка опознания нужна стабильная от начала. Фильтрации не было.

Как вычислять корреляцию? Формулу видел, в Экселе считал, а "на пальцах" не очень алгоритм представляю.
GetSmart
Кореляция прокатит, если сигналы всегда одинаковые (амплитуда не важна).
ivan219
Можно с помощью динамического Герцеля.
С начало узкополосный фильтр потом Герцель.
Ну опят токи фильтр даст задержку и Герцель то же.
Так что всё зависит от уровня шума возможно не нужно фильтровать а просто пройтись Герцелем и на определённом уровне выше шума поставить порог. В идеале точно будет порядка одного периода.
Altair
Цитата(GetSmart @ Jan 11 2012, 11:32) *
Кореляция прокатит, если сигналы всегда одинаковые (амплитуда не важна).


Да, как минимум начало сигнала всегда будет одинаковое.


Тут некая громоздкая брутфорсная идея пришла в голову. С Герцелем то разбираться надо :-)

Я примерно представляю когда придет импульс, так можно с некоторого времени начать "записывать" его в память, ее есть у меня и много это не займет. Проц - STM32, там АЦП 1 MSPS и память имеется.
По уровню определить факт прихода импульса и прекратить запись. Причем точно зафиксировать момент прекращения записи.
После этого пофильтровать то что в буфере (а вот как раз узкополосным на собственную частоту сенсора) и уже на чистом отфильтрованном сигнале найти его начало, да хоть по переходу через "0" и относительно времени окончания записи в буфер понять время начала сигнала.
Кстати искать можно и корреляцией, т.к. "околонулевое" начало сигнала скорее всего зафильтруется.

Как решение?
GetSmart
...
ivan219
Altair Что с ним разбираться?
Здесь посмотрите http://dspsystem.narod.ru/ ещё там же форум почитайте.
Дела на 3 копейки.
За то скорость и точность зависят в основном от зашумлённости и стабильности сигнала.
анатолий
Задача совпадает с задачей измерения начала импульса в навигационной системе Loran-C или Чайка.
Там такой же импульс. Кажись, там ловится 3-й переход через 0.
Altair
Коллеги, спасибо за помощь. Узнал как моя проблема называется официально :-)
Вот так попробовал сделать - http://electronix.ru/forum/index.php?showt...st&p=968578
Помоделировал, вполне удовлетворило.
Сейчас в железо перенесу.
MaslovVG
Цитата(Altair @ Jan 14 2012, 06:07) *
Коллеги, спасибо за помощь. Узнал как моя проблема называется официально :-)
Вот так попробовал сделать - http://electronix.ru/forum/index.php?showt...st&p=968578
Помоделировал, вполне удовлетворило.
Сейчас в железо перенесу.

Так это и есть вычисление взаимной корреляции.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.