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

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

Все настолько плохо, что обычные "старинные" методы не подходят?

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

 

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

1. Оцифруйте реальный сигнал и сохраните его в виде файла (файлов), желательно в разных условиях (чистый, зашумленный, разные образцы...)

2. Данный файл обрабатывайте до посинения (или до получения нужного результата) на компьютере в любой удобной среде (например,  Матлаб). Фильтруйте, преобразовывайте, и вообще  делайте все допустимое в рамках уголовного кодекса.

3. Замените встренные функции Матлаба своими, используя библиотеки не сложнее, чем у Вас на STM32 есть.

4. Скопируйте получившийся m-скрипт в STM32,  подкорректировав его под Ваш язык и библиотеки, и на вход подайте тот же файл данных. Этап завершен, когда Ваша программа на STM32 показывает те же результаты как Матлаб.

5. Попробуйте с реальными сигналами. Если что-то не так- идем на пункт 1.

6. Все. Пропиваем полученную премию или покупаем жене бентли (зависит от).

 

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

 

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


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

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

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


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

On 10/25/2020 at 7:46 PM, SII said:

Передо мной стоит задача программно обработать принимаемый ультразвуковой сигнал и выделить в нём "наблюдаемые" объекты

Обратите еще внимание на методы обработки на основе нейронных сетей, сейчас это становится модным. 

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


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

11 hours ago, SII said:

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

Проблема в том, что полный курс ЦОС в данном случае не нужен, а нужно только некоторые методы из него. И если нужен результат, а не процесс- то лучше идти от частного к общему, а не наоборот.

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

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

Ну и, конечно, провести обзор существующих решений- очень помогает понять, кто чего достиг и за какие деньги это решение продается в виде готового прибора. Как правило, идея "все дураки, а я за пять копеек и два дня лучше сделаю", не работает.

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


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

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

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


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

26.10.2020 в 03:58, SII сказал:

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

Непонятно, вы сами формируете сигнал возбуждения(частоту и огибающую) излучателя или он на собственной частоте импульсом возбуждается? (Что значит "два транзистора дёргают" ?)

И непонятно - излучатель и приемник отдельные пластины?

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


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

17 hours ago, SII said:

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

Кстати, покажите сигнал (результат АЦП). Думаю, многие вопросы просто отпадут. Еще можно до кучи выложить файл с данными (типа csv) для этой же картинки.

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


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

Набросал простенькую модель обнаружителя с КИХ фильтром и с переносом в 0 ПЧ (матлаб r2020a).  Поиграйтесь, посмотрите графики. (Для ленивых - из матлаба можно сгенерировать с++ код).

forum_echo_r2020a.slx

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


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

Непотянет стм-ка "классику" в реал тайме. Проверено. Автору нужно эхолот сделать.

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


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

9 часов назад, svn79 сказал:

Непотянет стм-ка "классику" в реал тайме. Проверено. Автору нужно эхолот сделать.

А что именно "не потянет"? Цифровую обработку? Какую?

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


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

9 часов назад, svn79 сказал:

Непотянет стм-ка "классику" в реал тайме. Проверено. Автору нужно эхолот сделать.

Лично проверено, эхолот практик, сделан на STM32F103.

 

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


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

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

Лично проверено, эхолот практик, сделан на STM32F103.

Это что! В этом девайсе (тоже УЗ-эхолокация):  https://eurosmed.ru/products/ehosinuskop-sinuscan-201

вообще вся обработка на древнем 8-битнике сделана. И ничего - справляется.

Не то что нонче частенько.... Видимо программисты уже не те... :russian_ru:

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


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

On 5/7/2021 at 11:14 AM, Vasily_ said:

Лично проверено, эхолот практик, сделан на STM32F103.

 

Ну и? Там аналог приемник выдает уровень rssi  который медленно цифруется, там и мега авр справится. Автору надо молотить все в цифре. 

Автор, как успехи? 

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


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

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

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

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

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

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

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

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

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

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