Схемы металлоискателей MD4U
http://md4u.ru/

Базовый алгоритм работы МД на DSP
http://md4u.ru/viewtopic.php?f=24&t=5465
Страница 1 из 1

Автор:  Amdx [ Пт: 18 ноя 2011 9:07 ]
Заголовок сообщения:  Базовый алгоритм работы МД на DSP

Похоже многие радиолюбители рано или поздно пытаются сделать МД, вот меня сюда затянуло :D.

Имеем: тестовая плата ezdsp5505 от Texas Instruments.
На борту: аудиокодек TLV320AIC3204, DSP процессор TMS320VC5505 дружелюбно друг с другом соединенные, стерео вход и стереовыход.
(Для справки - цена $49 с учетом экспресс-доставки в магазине на ti.com, ко мне приехала за неделю в Ярославскую область).

Хочу обсудить с знающими людьми, в правильном ли я двигаюсь направлении.

Конфигурация:
Выход R аудиокодека подключен к ТХ, выход L - к пищалке. Вход R - к сигналу TX, вход L - к сигналу RX.
На выход R отправляется непрерывный сигнал (меандр, сумма синусоид f+1/3f?) с частотой Х, например, 7654 Гц.

Собственно алгоритм:

Калибровка:
1. Заводим на R канал DSP сигнал TX с катушки, ослабленный до приемлемого уровня аппаратно, на R - сингнал RX.
2. Выравниваем уровень RX с помощью встроенных усилителей.
3. Выполняем измерение разности фаз над грунтом для 1 и 3 гармоник на протяжении некоторого времени (скажем, ищем момент, пока в течении 1 сек. дисперсия не будет превышать некоторой константы на случай, если в грунте что-то лежит).

Измерение:
1. Запускаем синхронно семплирование на обоих каналах (RX, TX).
2. Над полученными семплами выполняем БПФ.
3. Для 1 и 3 гармоник берем Im и Re, что позволит вычислить фазу и амиплитуду.

Обработка:
1. Получаем с выхода измерения, измерения RX фильтруем ФВЧ с частотой среза 4-8-16 Гц? (цель - убрать неровности грунта и тычки катушкой в эти неровности), например, усредняем за период с помощью скользящего среднего.
2. Вычисляем разность углов и фаз RX и TX для 1 и 3 гармоник.
3. Делам выводы с учетом данных калибровки и пищим в соответствующей тональности.

Примечания: в аудиокодеке есть возможность реализовать ФНЧ и квадратурные фильтры для отсечения частот выше рабочей частоты TX.

И еще актуальный вопрос: кто-нибудь может подсказать схему RX и ТХ трактов, при условии, что для TX я могу выдавать стандартный сигнал для 16Ом наушников, а вход RX - стандартный линейный, то есть 30-50кОм, до 2В мах. амплитуда.

Автор:  YuKo [ Пт: 18 ноя 2011 9:41 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Нет смысла анализировать третью гармонику, если Вы ее специально не генерируете в сигнале ТХ, т.к. мишени в нашем деле "линейные".

Автор:  Amdx [ Пт: 18 ноя 2011 9:53 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

YuKo писал(а):
Нет смысла анализировать третью гармонику, если Вы ее специально не генерируете в сигнале ТХ, т.к. мишени в нашем деле "линейные".


Да, понял и поправил. Но меандр, например, содержит много гармоник, а с помощью аудиокодека можно намешать в сигнал что угодно скажем сумму 2-3х частот.

А направление в целом верное?

Автор:  Sergey_P [ Пт: 18 ноя 2011 13:32 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Amdx писал(а):
Электронная компенсация не обеспечит такого же подавления сигнала Тх, как простейший датчик IB (что-то не заметил следов фазовой коррекции... - одно усиление :) )…
«базовый алгоритм» МД => viewtopic.php?f=14&t=5420&start=25

Автор:  Ciklon [ Пт: 18 ноя 2011 14:06 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Для упражнений на микроконтроллере. В принципе почти реальный сигнал. Иммитатор грунта и сигнал цели . Очень наглядно видно как цель себя ведет по грунту. Это насчет среза частот. Положительная цель в канале Х . Это пример того куда девается глубина. Задачка для программы. Минерализация возможно тут и завышена конечно, реально с таким сигналом не справиться. Шумы схемы так же, не помогут.

ЗЫ.Высказывалось некое мнение о скудности спектра генератора грунта. Вот немного прибавил. Регистр позволяет однако, 18 разрядов . Хоть белый шум, хоть какой... Периода нет.

Автор:  Amdx [ Пт: 18 ноя 2011 14:12 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Ciklon писал(а):
Для упражнений на микроконтроллере. В принципе почти реальный сигнал. Иммитатор грунта и сигнал цели . Очень наглядно видно как цель себя ведет по грунту. Это насчет среза частот. Положительная цель в канале Х (как пример)

ЗЫ.Высказывалось некое мнение о скудности спектра генератора грунта. Вот немного прибавил. Регистр позволяет однако, 18 разрядов .


Спасибо, пробую пока чисто виртуально поиграться с БПФ, фильтрами и проч в самом DSP.

Если будут осмысленные результаты - выложу.

Грунт можно просто белым шумом имитировать?

Автор:  Ciklon [ Пт: 18 ноя 2011 14:22 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Нет конечно. Нужен фильтр. Откуда там белый шум. Это я о генераторе говорил а не о грунте. Принято считать что плотность спектра грунта распределена в области 0-3Гц

Автор:  Amdx [ Пт: 18 ноя 2011 14:37 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Sergey_P писал(а):
Amdx писал(а):
Электронная компенсация не обеспечит такого же подавления сигнала Тх, как простейший датчик IB (что-то не заметил следов фазовой коррекции... - одно усиление :) )…


Если я правильно понял, предложенные на этом форуме МД с непосредственной цифровой обработкой измеряют сигнал по принципу:
"в момент t0 (относительно сигнала TX, когда фаза=0) запускам семплирование, получив N семплов делаем ДПФ и вычисляем фазу и амплитуду основной гармоники."

В моем варианте момент t0 неизвестен, семплирование происходит непрерывно, поэтому для вычисления t0 используется сигнал с TX, и в качестве полезного сигнала рассматривается разность фаз TX и RX на нужной частоте.

Или я не прав?

Автор:  Amdx [ Пт: 18 ноя 2011 14:58 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Ciklon писал(а):
Нет конечно. Нужен фильтр. Откуда там белый шум. Это я о генераторе говорил а не о грунте. Принято считать что плотность спектра грунта распределена в области 0-3Гц


Ну я это и имел в виду - случайный сигнал со спектром в диапазоне от 0,1 до 4 Гц, амплитудой от нижнего до верхнего предела измерения, в который замешивается в полезный сигнал от цели.

Как-то так?

Автор:  Amdx [ Пт: 18 ноя 2011 15:19 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

И еще один практический вопрос: для типовой катушки DD отношение сигналов TX/RX примерно какое?

У меня под рукой катушки пока нет, померять нечего, но обещали подогнать катуху от какого-то старого призма.

В аудиокодеке есть встроенный входной предусилитель с диапазоном 0-47,5дБ, регулируемым программно с шагом 0,5дБ. Прикольно. М.б. вообще без предусилителя удастся обойтись?

Автор:  Andrew2 [ Пт: 18 ноя 2011 15:53 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Amdx писал(а):
В аудиокодеке есть встроенный входной предусилитель с диапазоном 0-47,5Дб, регулируемым программно с шагом 0,5Дб. Прикольно. М.б. вообще без предусилителя удастся обойтись?

Я бы так и сделал, а меняя усиления получаем большой динамический диапазон..
А на счет отношение сигналов TX/RX, если я правильно понял вопрос, то в отсутствии мишений и правильно настроенной катушки, должно стремиться к бесконечности...)

Автор:  Amdx [ Пт: 18 ноя 2011 16:02 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Andrew2 писал(а):
А на счет отношение сигналов TX/RX, если я правильно понял вопрос, то в отсутствии мишений и правильно настроенной катушки, должно стремиться к бесконечности...)


Да, очепятался :)
Я имел в виду примерную величину КУ для входного тракта, то есть если на катухе +-10В, то сколько может быть на выходе RX? 10мВ, 1мВ, 100мкВ?

Где то видел цифру 30мВ, при раскачке +-5В, на картинка выше получается около 100мВ на 5В, то есть КУ, например, 10 в моем случае достаточно, чтоб потом оцифровывать?

Автор:  Ciklon [ Пт: 18 ноя 2011 17:28 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Динамический диапазон реального сигнала может достигать 80-100дб. От десятков микровольт до приличных нескольких вольт. Дай бог 50 получить .

Автор:  Andrew2 [ Пт: 18 ноя 2011 17:58 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

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

Автор:  Sergey_P [ Пт: 18 ноя 2011 18:09 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Amdx писал(а):
Спектры сигналов грунта и целей накладываются друг на друга, а в статике они вообще совпадают, что приводит к невозможности их разделять с помощью частотных фильров без учета фаз откликов грунта и целей. В динамических МД с обрезанной фильтрами постоянкой чувствительность ограничена шумами неоднородностей грунта, кривизной поверхности плоскости поиска.
Тут привязка фаз: viewtopic.php?f=11&t=3772&p=94040#p94040
Наличие регулируемого усилителя расширяет динамический диапазон прибора, но не динамический диапазон обрабатываемых сигналов... не позволяет на фоне большого сигнала различить его малые изменения за счет отклика малых целей...

Автор:  Amdx [ Пт: 18 ноя 2011 20:43 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Andrew2 писал(а):
Вот! имея на борту усилитель с программируемой регулировкой усиления можно получить очень большой динамический диапазон..


К сожалению в риалтайме не получится усилением рулить: задержки, переходные процессы и прочее, а вот на кнопочки регулировки чувствительности можно завести усиление.

Динамический диапазон в аудиокодеке обещают 92 дБ, (24 бита) может хватит.

Автор:  Sergey_P [ Пт: 18 ноя 2011 21:02 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Amdx писал(а):
92 дБ, (24 бита) (между крайними точками зрения лежит истина)
Где-то, там... при условии, что 1 разряд АЦП - 6дБ (в 2 раза)... -1р на знак...-... :)

Автор:  Ciklon [ Пт: 18 ноя 2011 21:04 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

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

Автор:  Amdx [ Пт: 18 ноя 2011 21:16 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Sergey_P писал(а):
Amdx писал(а):
Тут привязка фаз: http://md4u.ru/forum/viewtopic.php?f=11 ... 040#p94040

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

Тогда уже ставить все это хозяйство на р/у платформу с автомобильным аккумулятором. А что – сидишь себе в шезлонге с термосом кофе, а нетбук катается, монетки на гугльмеп наносит, и к тебе на айфон сообщения шлет: «хозяина, тут шибко глубоко монетка, экскаватор будем вызывать?«

Про тношение фаз понял, надо смотреть и эспериментировать.

Автор:  Andy_F [ Сб: 19 ноя 2011 0:33 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Советую почитать статейку Роверта Хулко, вот например, у Петручо - http://w6k.narod.ru/files/IB_Project.zip . Это, конечно, "преданья старины глубокой", но разработческая мысль продвинулась не слишком далеко с тех пор...

Автор:  Andrew2 [ Сб: 19 ноя 2011 1:31 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Я бы вам посоветовал разобраться или вы прибор хотите сделать (на выбранном вами железе можно очень не плохой прибор сделать) или в полемике увязнуть, что чаще всего и бывает..., Думайте..)
PS: Здесь совета не ищите...Хотя почитайте форум может что то проясниться...

Автор:  Petrucho [ Сб: 19 ноя 2011 1:49 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Andy_F писал(а):
Советую почитать статейку Роверта Хулко, вот например, у Петручо - http://w6k.narod.ru/files/IB_Project.zip ...


Это не мой сайт а Dаеmon-a :wink:

Amdx писал(а):
... Имеем: тестовая плата ezdsp5505 от Texas Instruments.
На борту: аудиокодек TLV320AIC3204, DSP процессор TMS320VC5505 ...


О-ооо человек движется в правильном направлении :)

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

Из схемы Терры видно, что Тх качается одним из ЦАП-ов, второй ЦАП используется для вывода звука с отдельным усилителем чтобы не подливать грязи из аудио канала в измерительный.
Один из АЦП измеряет ток в цепи ТХ (предполагаю, что по току Тх компенсируется дрейф амплитуды Тх/Рх связанный с изменением добротности Тх) другой АЦП подключен к катушке Рх. В схеме не видно пред усилителя, скорее всего он есть в самом датчике, усиление порядка 30..100 должно хватить.

Есть ли у кого информация по датчику X-Terra 30/70 ?

P.S. О собственном опыте с TI DSP... После проекта с TMS320F2812, возвращаться к TI и его DSP-шкам по доброй воле вряд-ли захочется, CCS 4 на базе эклипса сильно напрягает всем а в особенности своими тормозами (из общения с коллегами - похоже что не меня одного), CCS 3 получше, но всё равно не так удобен как того хотелось бы. Документация - нет единого документа, собирай по кусочкам то там то сям. Но самое главное - отсутствие 8-bit переменных. Если пишешь код с нуля под DSP то никаких проблем, но если подцепить код писаный под "человеческие процессоры" то портирование превращается в тихий ужас. Организация RAM и FLASH памяти дурацкая, память нагрызена кусками, видимо наследие совместимости со старыми семействами. Заявленное быстродействие в 150 MIPS справедливо если код исполнятся из RAM, из FLASH 30 MIPS и будьте здоровы. Отладка проекта из FLASH с двумя брэйк-поинтами - мало удобна. Работать можно со всем конечно, но когда есть лучшая альтернатива - выбор падает на неё :)

Автор:  Amdx [ Сб: 19 ноя 2011 6:36 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Andy_F писал(а):
Спасибо за ссылку.

Andrew2 писал(а):
Ну пока вроде все по делу.

Petrucho писал(а):
Собственно схема XTerrы и сподвигла - увидел ее и понял, что у меня в закромах все уже есть.

Да, с катушкой TX и ее накачкой не все понятно. Максимум, что может выдать мой кодек - 64mW при питании 3.3V.
А лишние гармоники не помешают, мне кажется мощи DSP должно хватит на несколько гармоник, тогда можно будет раскачивать катуху 3-4 килогерцами, вот только хватит ли чувствительности на все, не знаю.

P.S. А DSP от TI не ругайте, хорошие кристаллы. Встроенный FFT процессор и два АЛУ - это просто сказка!
Флеш в DSP не используется - но и на персоналке программа сначала в ОЗУ грузится, а потом исполняется.
Еклипс я тоже не люблю, как коллективное произведение индусов, но ведь и плоскогубцы нас никто любить не заставляет - это инструмент. А если медленно работает - купите новый комп с 4-мя ядрами и 4 гигами памяти - и будет вам счастье, он кстати сейчас дешевле простого металлоискателя стоит, если без наворотов.
Доков у ТИ много - на мой взгляд даже слишком много - и примеры есть, а то, что не в одном файле - так только у Atmel даташиты в одном файле, у всех остальных по кусочкам собирать приходится, у тех же STM32 разве не так? Здорово нас всех на AVRки в свое время подсадили ;).

Автор:  tonks [ Сб: 19 ноя 2011 9:10 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Мне такая раскачка ТХ понравилась

Автор:  Sergey_P [ Сб: 19 ноя 2011 10:13 ]
Заголовок сообщения:  Re: Базовый алгоритм работы МД на DSP

Я, не возражаю… делайте по Хулко, но параметры вашего МД будут заведомо хуже, чем у аналоговых приборов… не смотря на мощную элементную базу. Терминаторы с Тесорками.. переплюнут любой цифровичек построенный на тех же принципах, а сам принцип (частотное разделение сигналов грунта и целей, их амплитудный спектр), описанный Р.Хулко, - с гнильцой… В этом убеждаешься, если снизить уровень отклика от цели до уровня отклика от грунта…

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/