Хочу обратить внимание заинтересованных товарищей (особенно любителей ADUC'ов и ARM'ов
) на патент
US6586938. Так как народ не любит сам читать "по ангельски", кратко рассказываю. Патент посвящён вопросам подавления откликов ферромагнетиков (железа и грунта) в импульсниках. Утверждается, что ферромагнетики и "кондуктивные объекты" (не ферромагнетики) отличаются формой отклика.
Для кондуктивных мишеней V(t) = K * exp(-t / tau) , где t - время после окончания импульса, tau - характеристическая константа мишени (от 5 до 100 us), и K - коэффициент.
Для ферромагнетиков V(t) = K * t ^ (-alpha) , где alpha - величина, зависящая от свойств ферромагнетика и
длительности воздействующего импульса. Величина alpha нелинейно меняется при изменении длительности воздействующего импульса в диапазоне от 10 до 1000 uS. Далее идут закономерности поведения alpha (кому интересно - почитайте в оригинале), и приводятся 3 способа подавления отклика от ферромагнетиков:
1. Излучаются импульсы только одной длительности, после импульса производится 4 замера (вырожденный случай - 3), и путём простейшей комбинации этих замеров подавляется отклик грунта, интерференция (асинхронная помеха), и ослабляется отклик от железных целей. Недостаток метода - необходимость подстройки под конкретный грунт (и железяку
).
2. Излучаются импульсы 2-х длительностей, после каждого берётся по 2 отсчёта, опять же путём сложения с коэффициентами добиваются подавления отклика от ферромагнетиков. Способ позволяет значительно ослабить отклик от большинства ферромагнетиков.
3. Собственно, этому способу и посвящён патент. Излучаются импульсы 3-х длительностей, после каждого берётся по 2 отсчёта:
Утверждается, что для любого ферромагнетика всегда выполняется выражение:
alpha1 / alpha2 = K * alpha2 / alpha3 , где K - найденный экспериментально коэффициент.
Иными словами, если выполняется выражение
log(V11 / V21) / log(V12 / V22) = K * log(V12 / V22) / log(V13 / V23) ,
то мишень - ферромагнетик.
K выбирается раз и навсегда, экспериментально, по заведомо "железной" мишени. Ничего регулировать больше не нужно. Если выражения слева и справа не равны, мишень - "цветнина". Вывод желающие могут опять же почитать в оригинале.
Что хочу добавить от себя. Попробовал я это дело (1-й и 3-й способы) на макете. Макет с прямой оцифровкой (в смысле - без интегратора), с отдельными RX и TX обмотками (DD от Экспа), формировал импульсы 80, 200 и 500 uS... Результаты оцифровки "гнал" через COM-порт в PC, и обрабатывал в своей программе...
Выводы:
1-й способ вполне жизненен (в этом никто и не сомневался), но на практике не слишком удобен.
3-й способ похож на правду, для моего случая K подобрался 0,94 , но различие между "железом" и "цветниной" довольно слабое. Очень мешают помехи, для некоторых типов мишеней даже при сильном отклике разницу ("цвет-нецвет") уловить трудно из-за дёрганий индикатора. Т.е., метод вычислений не слишком "устойчивый". Ну, и метод относительно ресурсоёмкий - вычислять в реальном времени это дело на AVR может не получиться...