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

Обработка ультразвукового сигнала

Передо мной стоит задача программно обработать принимаемый ультразвуковой сигнал и выделить в нём "наблюдаемые" объекты -- т.е. отражения того сигнала, который был излучён перед началом приёма. Для каждого объекта надо получить расстояние до него (по сути, время от начала захвата сигнала до появления отражения от данного объекта), "плотность" объекта (амплитуду отражённого сигнала) и "размер" объекта (длительность отражённого сигнала). Сам сигнал оцифровывается с достаточно высокой скоростью (1--3 МГц при частоте исходного излучаемого сигнала до 200-250 кГц), работать надо уже с полученными от АЦП данными. Сигнал, понятное дело, не идеальный: помимо отражений излучённого сигнала, там могут быть всякие разные помехи и т.д. и т.п.

Цифровой обработкой сигналов никогда не занимался, так что можно считать, что мои познания заключаются в нескольких умных словах вроде БПФ (но именно в словах :) ). Насколько понимаю, мне надо сначала "профильтровать" принятый сигнал, чтобы удалить из него помехи (сигналы с частотами, отличающимися от искомой -- что можно было бы сделать простым "железным" фильтром, но здесь задача обойтись чисто программными средствами; аппаратура лишь усиливает сигнал от датчика без какой-либо обработки), а затем в оставшемся наборе искать объекты по простому повышению амплитуды сигнала относительно некоего заданного уровня. Если понимаю суть правильно, то как эту задачу решить?

Замечу, что меня как таковое интересует не готовое решение (которое можно скопипастить, не приходя в сознание), а более-менее внятное объяснение, что и почему я должен сделать и как всё это называется по-научному (желательно, конечно, со ссылками на умные книжки, где это более-менее понятным языком изложено). Программировать расчётную часть буду сам, с этим проблем не возникнет.

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


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

Какой сигнал излучать собираетесь? Моночастоту в импульсе, ЛЧМ импульс, ФМ импульс, пачку импульсов? "Объекты" или сам источник импульсов - движутся или неподвижны? О какой среде распространения УЗЧ идёт речь и какой порядок расстояний измерения?

На каком уровне реализации в железе вы хотите участвовать: у вас уже полученный цифровой поток после АЦП? Или речь идёт и об аналоговой составляющей до АЦП?

Какой тип излучателя/антенны у вас : ФАР , что то другое? Сколько каналов?

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

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


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

Проведите патентно-информационный поиск. В этой области множество аппаратов разработано. 

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


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

Если нет нескольких микрофонов, то простой полосовой фильтр позволит выделить отраженный сигнал. Есть куча сред, позволяющих сгенерировать код мышкой. Например вот https://www.micromodeler.com/dsp/

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


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

3 часа назад, SII сказал:

мои познания заключаются в нескольких умных словах вроде БПФ

Вам пригодится ещё пара не менее умных: корреляционная и автокорреляционная функция.

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


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

4 hours ago, Lmx2315 said:

Какой сигнал излучать собираетесь? Моночастоту в импульсе, ЛЧМ импульс, ФМ импульс, пачку импульсов?

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

4 hours ago, Lmx2315 said:

"Объекты" или сам источник импульсов - движутся или неподвижны? О какой среде распространения УЗЧ идёт речь и какой порядок расстояний измерения?

Среда -- вода. Источник и приёмник условно неподвижны, объекты -- и неподвижные, и подвижные. Расстояние -- порядка нескольких десятков метров.

4 hours ago, Lmx2315 said:

На каком уровне реализации в железе вы хотите участвовать: у вас уже полученный цифровой поток после АЦП? Или речь идёт и об аналоговой составляющей до АЦП?

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

4 hours ago, Lmx2315 said:

Какой тип излучателя/антенны у вас : ФАР , что то другое? Сколько каналов?

Канал один-единственный: и излучатель, и датчик -- керамическая (?) пластина в единственном числе. Причём, сильно подозреваю, само подключение неправильное: у неё один конец сидит на земле, а другой сначала качают (два транзистора дёргают первичную обмотку трансформатора, вторичная -- на пластину), а потом принимают с него сигнал, который дальше идёт на усилитель и оттуда на АЦП. Лично мне кажется, что датчик к земле подключаться не должен (думаю, правильней оба конца датчика -- на вторичку трансформатора для излучения и на входы дифференциального усилителя при приёме или что-то в этом роде), но что дали, то дали...

4 hours ago, Lmx2315 said:

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

Ну, постановщиков помех как таковых точно нет: не ГАС для подводной лодки изобретаю, вероятность применения средств РЭБ не предусматривается :) Источники -- и природные, и всякие "бытовые".

2 hours ago, rkit said:

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

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

1 hour ago, SSerge said:

Вам пригодится ещё пара не менее умных: корреляционная и автокорреляционная функция.

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

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


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

10 hours ago, SII said:

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

Ну тогда непонятно чего ты вообще хочешь. Бери учебник по DSP и читай.

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


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

12 часов назад, rkit сказал:

Если нет нескольких микрофонов, то простой полосовой фильтр позволит выделить отраженный сигнал. Есть куча сред, позволяющих сгенерировать код мышкой. Например вот https://www.micromodeler.com/dsp/

там деньги надо платить.

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


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

Найдите какую нибудь ВУЗовскую методичку по радиолокации, операции не так и много для акф, вкф - свертка и для построения спектра - фурье, фильтрация

Все это в матлабе с примерами есть, в начале и данных с АЦП не нужно  строится модель сигнала и его обработки

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


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

10 часов назад, SII сказал:

Ну, постановщиков помех как таковых точно нет: не ГАС для подводной лодки изобретаю, вероятность применения средств РЭБ не предусматривается :) Источники -- и природные, и всякие "бытовые".

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

 

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


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

10 часов назад, SII сказал:

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

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

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

Потом накапливаете получившийся результат столько раз сколько импульсов в пачке. Это позволит поднять соотношение Сигнал/шум .

После этого смотрите где находятся отклики вашего эхо сигнала , в зависимости от начала измерения - считаете задержку.

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


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

10 часов назад, SII сказал:

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

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

Цитата

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

Ну - полосовой фильтр вещь не сложная вроде. :wink:

 

PS: 1-3MS/s - не особо высокая частота оцифровки. На каком МК решать собираетесь, если не секрет?

 

48 минут назад, Lmx2315 сказал:

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

А какое отношение это имеет к теме ТС? У него вроде как УЗ-излучатель. Который из себя представляет просто пьезопластину. Причём как я понял - единственную, а не многоэлементный излучатель, на подобие тех, что используют для УЗИ и стоят как самолёт. А значит - излучать он может только на одной частоте - частоте своего резонанса.

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


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

1 час назад, jcxz сказал:

А какое отношение это имеет к теме ТС? У него вроде как УЗ-излучатель. Который из себя представляет просто пьезопластину. Причём как я понял - единственную, а не многоэлементный излучатель, на подобие тех, что используют для УЗИ и стоят как самолёт. А значит - излучать он может только на одной частоте - частоте своего резонанса.

значит одной проблемой меньше.

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


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

1 hour ago, Lmx2315 said:

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

Это без проблем: поскольку зондирующий сигнал посылаю я, то, естественно, я знаю и могу изменять время между посылкой и приёмом.

1 hour ago, Lmx2315 said:

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

Потом накапливаете получившийся результат столько раз сколько импульсов в пачке. Это позволит поднять соотношение Сигнал/шум .

После этого смотрите где находятся отклики вашего эхо сигнала , в зависимости от начала измерения - считаете задержку.

А вот тут бОльшую часть не понял (ибо пока что я полный даун в этих вещах), но, по крайней мере, появились дополнительные умные слова для вникания в тему :) Как выше говорили, мне надо б найти некий учебник да изучать. Пока серьёзно я не искал, а сходу не удалось: попадается либо что-то вроде "возмите DSP от TI, используйте вот эту магическую библиотеку, которая всё сделает за вас, и будет вам щастье", либо сплошная математика без привязки к реальному применению -- грубо говоря, набор формул, по которым понятно, как считать, но неясно, как их использовать в реальной задаче.

1 hour ago, jcxz said:

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

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

1 hour ago, jcxz said:

Ну - полосовой фильтр вещь не сложная вроде.

Надеюсь. Сейчас вот почитал всё, что мне здесь написали, и начну второй заход поиска умных книжек.

1 hour ago, jcxz said:

PS: 1-3MS/s - не особо высокая частота оцифровки. На каком МК решать собираетесь, если не секрет?

На той плате, что мне торжественно вручили, стоит STM32G4, но при нужде можно перепроектировать под что-нибудь другое. Я пока что проверил, что работает сам проц, дисплей, кнопочки... в общем, всё, что не связано прямо с сигналом. У этого МК есть некий железный блок -- Filter math accelerator, который умеет на железном уровне вот такие вещи:

• Filter functions: FIR, IIR (direct form 1)
• Vector functions: Dot product, convolution, correlation

1 hour ago, jcxz said:

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

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

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


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

19 минут назад, SII сказал:

А вот тут бОльшую часть не понял (ибо пока что я полный даун в этих вещах), но, по крайней мере, появились дополнительные умные слова для вникания в тему :) Как выше говорили, мне надо б найти некий учебник да изучать. Пока серьёзно я не искал, а сходу не удалось: попадается либо что-то вроде "возмите DSP от TI, используйте вот эту магическую библиотеку, которая всё сделает за вас, и будет вам щастье", либо сплошная математика без привязки к реальному применению -- грубо говоря, набор формул, по которым понятно, как считать, но неясно, как их использовать в реальной задаче.

Всё таки откройте какую-нить книжку по радиолокации, там будут структурные схемы с операциями в них. Вот уже операции надо будет смотреть в книжках по DSP.

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

http://www.dsplib.ru

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


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

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

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

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

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

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

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

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

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

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