О сайте Группа в контакте RSS Годограф Volksturm Импульсные металлоискатели IB металлоискатели Пинпоинтеры Другие схемы Заказать Конструкции металлоискателей Полезные ссылки

Схемы металлоискателей MD4U

Сборка, настройка, обсуждение, теория и практика построения металлоискателей.
Текущее время: Вс: 16 июн 2024 6:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему
 [ Сообщений: 199 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пт: 24 июн 2011 18:07 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Для того, чтобы представить синусоидальную составляющую сигнал в аналитическом виде необходимо иметь все её компоненты: амплитуду+ фазу (в полярных координатах) или sin/cos-ые составляющие (в декартовых).В цифре эту операцию производит ДПФ:
a = (2/M)*Sum[S(t)*cos(2*Pi*F*t)] и
b = (2/M)*Sum[S(t)*sin(2*Pi*F*t)]
S(t) – это массив входных данных
cos(wt)_sin(wt) – два массива опорной (заданной) частоты точно сдвинутые на 90гр!
S(t) мы не можем сдвинуть на 90гр, у нас просто НЕТ этих данных… в отличии от cos(wt)_sin(wt), которые мы можем сгенерировать.
Поэтому каждый принятый Tx и Rx каналы должны быть обработаны отдельно для их точного аналитического представления по отношению к опорному, а уже затем определен фазовый сдвиг между Tx и Rx.
=cos(b)= Re Tx = Sum[Tx*cos(wt)) (произведение двух массивов)
=sin(b)= Im Tx = Sum[Tx*sin(wt)) (ещё одно произведение двух массивов)
=cos(a)= Re Rx = Sum[Rx*cos(wt)) (произведение двух массивов)
=sin(a)= Im Rx = Sum[Rx*sin(wt)) (ещё одно произведение двух массивов)
и наконец собственно сам сигнал Rx с фазой относительно Tx:
sin(a–b) = sin(a)cos(b) – cos(a)sin(b)
cos(a-b) = cos(a)cos(b) + sin(a)sin(b)
(нормировать вычисления не стоит, т.к. в результате суммирования повышается точность измерения не менее чем в sqrt(n) раз... увеличивается чувствительность МД :) )


Вернуться к началу
 Профиль  
 


Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пт: 24 июн 2011 19:38 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
типа так:
float coswt[512];
float sinwt[512];
Freg=10000 гц
amp= амплитуда сигнала
OutBufSize=512 длина буферов

изготавливаем два массива опорной (заданной) частоты точно сдвинутые на 90гр!

double x = (Freg*3.14)/OutBufSize;
for(i = 0; i <OutBufSize; i++)
{
coswt[i] = cos(i*x) * amp;
sinwt[i] = sin(i*x) * amp;
}
далее уже ясно. Только одно смущает - вышеприведенном коде
coswt и sinwt всегда будут начинаться с нуля и будут ровненькие и идеальные, а захват звука то идет не так синхронно.. то есть если график нарисовать захваченый звук не наложиться 1:1 на sinwt. это пофиг ?

Цитата:
cos(wt)_sin(wt) – два массива опорной (заданной) частоты точно сдвинутые на 90гр!
S(t) мы не можем сдвинуть на 90гр, у нас просто НЕТ этих данных

Дык есть же данные ! Я же пишу синусоидальный сигнал Tx который идет в катушку прямо сразу в MIC IN через резистор. А принимаемый с Rx да, согласен, он фиг знает какой там получается. Так что в одном канале у меня выходит по сути массив опорной частоты, а в другом то, что наловилось на катушке Rx


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пт: 24 июн 2011 19:55 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Mobilemedved писал(а):
coswt и sinwt всегда будут начинаться с нуля... это пофиг ?
первый с /1/, другой с /0/... "пофиг", фаза к опорному каналу вычитается в /ноль/
.. и Тх, фиг знает какой... и фаза его неизвестна и 90гр фиг получишь... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Сб: 25 июн 2011 9:16 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Цитата:
и наконец собственно сам сигнал Rx с фазой относительно Tx:
sin(a–b) = sin(a)cos(b) – cos(a)sin(b)
cos(a-b) = cos(a)cos(b) + sin(a)sin(b)



На основании двух квардатур считаем амплитуду (корень из суммы квадартов) и фазу (арктангенс от частного) типа как у Алекса

фаза=atan2(sin(a–b), cos(a-b) );
амплитуда=sqrt(sin(a–b)^2+cos(a-b)^2);

так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Сб: 25 июн 2011 17:12 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Mobilemedved писал(а):
так?
Да, можно использовать в режиме «все металлы»
Вы получили параметры сигнала соответствующие произведению -> Rx*Tx*Sопорн., т.е. принятый сигнал Rx дважды пропущен через фильтры: узкополосный по частоте и по образу сигнала Tx .
GEB, GB…так же не помешают…
Для режима дискриминации целей для монетника, всё же считаю, что лучше использовать фазовый фильтр viewtopic.php?f=24&t=4754


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пн: 27 июн 2011 12:41 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Между прочим!
Alex Zorg писал(а):
Sergey_P писал(а):
Ну, например: какой отсчет входных данных брать в квадратурном канале… правый или левый, если реальный момент переключения находится в промежутке?
Хм… Хотя, если иметь достаточно производительный компьютер, то можно и лучше квадратурные каналы формировать перемножением входных данных на отсчеты синусоиды + косинусоиды, передаваемые на TX. В этом случае эффективность преобразования стремится к единице, а побочные каналы приема к нулю…


Конечно же я умножаю входной сигнал на синусоиду и косинусоиду (та же самая косинусоида идет на Tx), т.е. синхронный детектор работает не в ключевом режиме, как у большинства аналоговых устройств, а в режиме двойного балансного смесителя - выполняется "чистое" умножение на cos и sin. Тут нет проблем. Производительности для такой операции хватает, это простая операция, хватило бы и процессора i386 (а вот на счет PIC/AVR сомневаюсь).

Хотя... если делать на AVR/PIC (не DSP и серьезных RISC), то можно честно взять частоту дискретизации ровно в четыре раза больше рабочей частоты - тоже проблемм с потерями и побочными каналами приема не будет.

P.S. ссылку на схему "Вератора" или описание не моглы бы дать? И что такое GEB?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пн: 27 июн 2011 18:37 
Не в сети

Зарегистрирован: Чт: 02 июн 2011 22:44
Сообщения: 8
http://www.jayceooi.com/2010/04/13/down ... r-htc-hd2/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вт: 28 июн 2011 11:05 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
cossak33 писал(а):
http://www.jayceooi.com/2010/04/13/download-metal-detector-for-htc-hd2/

Аццкий отжиг:) Жаль у меня КПК без компасу, было бы весело


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вт: 28 июн 2011 15:38 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Считая что -sin(a)=cos(a+pi/2)
поменял я всю математику в сторону упрощения. схема подключения катушек таже, через резистор к какому нибудь из каналов. Добавлен выбор на какой канал подключена запись Tx, а на какой Rx. Потому как с кабелями путаться надоело.
В качестве опорного синуса используется синус записаный с Tx, а в качестве опорного косинуса -sin(a)


Последний раз редактировалось Mobilemedved Вс: 03 июл 2011 16:02, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вт: 28 июн 2011 18:01 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Mobilemedved писал(а):
а в качестве опорного косинуса -sin(a)
В школу... читать тригонометрию...
На Realtek AC97 ничего не работало... какие-то фазовые гонки... и прочие скачки...
(реальная частота в 4 раза ниже отображаемой на мониторе)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Ср: 29 июн 2011 13:04 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Ога. AC'97 еще микрофонный вход - моно! У меня лично. Так что опроный сигнал и сигнал с катухи просто смешиваются и идут в оба канала!
Мене непонятно почему правильный метод
Цитата:
=cos(b)= Re Tx = Sum[Tx*cos(wt)) (произведение двух массивов)
=sin(b)= Im Tx = Sum[Tx*sin(wt)) (ещё одно произведение двух массивов)
=cos(a)= Re Rx = Sum[Rx*cos(wt)) (произведение двух массивов)
=sin(a)= Im Rx = Sum[Rx*sin(wt)) (ещё одно произведение двух массивов)
и наконец собственно сам сигнал Rx с фазой относительно Tx:
sin(a–b) = sin(a)cos(b) – cos(a)sin(b)
cos(a-b) = cos(a)cos(b) + sin(a)sin(b)

не дает результатов, тем паче что вот здесь http://forum.sources.ru/index.php?showtopic=294909&st=0 чувак при помощи него решает точно такую задачу и у него все получается!!


Вернуться к началу
 Профиль  
 
В сети

Вы можете отключить эти сообщения.
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Ср: 29 июн 2011 14:16 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Mobilemedved писал(а):
AC'97 еще микрофонный вход - моно
Да, моно. При этом формирует совершенно идентичные буферы L, R только за счет проникновения Тх на микрофонный вход (проверено CoolEdit - чистый синус на уровне -40дБ), а амплитуды получаются - произвольные!?... Может быть что-то с частотами Тх и опорных каналов или фазы прыгают во время одного и того же накопления (суммирования)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Ср: 29 июн 2011 17:41 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Не, я не настолько дибил чтобы делать на моно карте разные каналы:) Это я вам предупреждаю, что на моно карте моя прога не будет работать:)
Далее.
1. Я нашел ошибку, правда ее исправление ничо не дало. Дело вот в чем - я набиваю выходной буфер синусом, и массив sin(wt) тоже синусом. Формула неправильная была и синус в буфере и аналитический получался разный, когда я график построил.
2. Прыгает. Запись и воспроизведение буферов несинхронные. Потому скажем, на середине записи, буфер воспроизведения может кончится и начаться сначала вновь. Будет дырко в записи. Но, я думаю это непринципиально, т.к. такие быстрые прыжки можно легко фильтровать.
Хочу попробовать Гильберта но не могу найти исходников, а в книгах полный мрак:(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Ср: 29 июн 2011 18:06 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Моно, была включено преднамеренно, для проверки Арифметики..., а вот скачек фазы и есть причина её неработоспособности!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Чт: 30 июн 2011 10:15 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Ну математика яснее ясного вроде как:
//математика КВАДРАТУРНЫЙ МЕТОД
x1=0;
y1=0;
x2=0;
y2=0;

for (int i=0; i<DinBufSize/4; i++)
{
//можно так, тогда опорный сигнал ваще ненужен и можно моно вход
/*
x1 =x1+ SoundDataL[i]*coswt[i];
y1 =y1+ SoundDataL[i]*sinwt[i];
x2 =x2+ SoundDataR[i]*coswt[i];
y2 =y2+ SoundDataR[i]*sinwt[i];
*/
//или так синус взять опрорный а косинус вычисленый
x1 =x1+ SoundDataL[i]*coswt[i];
y1 =y1+ SoundDataL[i]*SoundDataOpor[i];
x2 =x2+ SoundDataR[i]*coswt[i];
y2 =y2+ SoundDataR[i]*SoundDataOpor[i];

}
//=это можно выбросить на ответ не влияет говорят
x1=(2*x1)/M;
y1=(2*y1)/M;
x2=(2*x2)/M;
y2=(2*y2)/M;
//Определяешь угол между векторами (x1,y1) и (x2,y2)
PhaseEtalon[viborka] =atan2(y1,x1);
PhaseRx[viborka] =atan2(y2,x2);
Phase[viborka] = PhaseEtalon[viborka]-PhaseRx[viborka]; //Фазовый сдвиг!!!
AmplitudeR[viborka]=sqrt(x1*x1+y1*y1); //амплитуда
AmplitudeL[viborka]=sqrt(x2*x2+y2*y2); //амплитуда

viborka=viborka+1;
if (viborka>=ViborkaSize) viborka=0; //накапливаем 25 выборок дальше покругу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Чт: 30 июн 2011 13:41 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
С фазами необходимо работать очень аккуратно и произвольные допуски тут недопустимы…
Я использовал моно, чтобы гарантированно получить одинаковые выборки L и R с микрофонного входа, что должно дать ноль по фазе и константу по амплитуде… если арифметика верна. Только, для проверки арифметики!
Сигнал излучаемый катушкой Tx не соответствует по фазе опорному, принятый сигнал Rx не соответствует по фазе ни Tx, ни опорному.
Моменты оцифрованных данных с микрофонных входов не синхронизированы с выборками передаваемыми на Тх, что вынудило Алекса проводить предварительную юстировку для компенсации этого расхождения.
Предложенный метод не требует какой-либо предварительной юстировки, но требует наличия двух входных микрофонных каналов (Tx, Rx), а sin/cos опорные каналы необходимы в обоих случаях…
Я не понимаю, что вам непонятно и откуда берутся такие идеи: «или так синус взять опрорный а косинус вычисленый»… ведь, уже разбирали, чему равно произведение sin(a)*sin(b)=…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вс: 03 июл 2011 16:05 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Цитата:
Я использовал моно, чтобы гарантированно получить одинаковые выборки L и R с микрофонного входа, что должно дать ноль по фазе и константу по амплитуде… если арифметика верна. Только, для проверки арифметики!


Во, здесь все работает. Проверял и на моно и на нетбуке со стерео входом. Теперь надо всякие ФНЧ и ФВЧ сделать... пойду читать всю тему заново


Последний раз редактировалось Mobilemedved Вт: 19 июл 2011 12:06, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пн: 04 июл 2011 10:10 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Дайте кто нить ссылку на исходник годографа. Чтоб на С++, а то тут токо на асме нашел, я его уже забыл давно. Или алгоритм, что вобще там рисуется и от чего


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пн: 04 июл 2011 17:34 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Mobilemedved писал(а):
Во, здесь все работает
Нет, не работает… Нет синхронности между циклами обработки семплов и выдачи накопленного результата, т.к. они привязаны к совершенно другому времени – развертке осциллографа, что приводит к путанице и ложным вычислениям.
Да, фазу можно и так считать, имея достаточный вычислительный ресурс…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пн: 04 июл 2011 21:42 
Не в сети
Аватара пользователя

Зарегистрирован: Сб: 04 июл 2009 18:24
Сообщения: 48
Откуда: Московская обл.
Mobilemedved писал(а):
Дайте кто нить ссылку на исходник годографа. Чтоб на С++, а то тут токо на асме нашел, я его уже забыл давно. Или алгоритм, что вобще там рисуется и от чего

qsdmd - пробовали понять как работает?
Там рисуется Y=Re(t), X=Im(t). Ось OY вертикально вверх, ось OX горизонтально слева на право. Для наглядности нужно отображать точки за последние пару секунд (я это называл алгоритмом "послесвечения"). Точки можно соединять линиями для наглядности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Пн: 04 июл 2011 22:46 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
Sergey_P писал(а):
Нет синхронности между циклами обработки семплов и выдачи накопленного результата, т.к. они привязаны к совершенно другому времени – развертке осциллографа, что приводит к путанице и ложным вычислениям.

при частоте дискретизации 44100 семплов в сек, выборка длиной 512 семплов заполняется за 0,0116 секунды. Из нее считается результирующая фаза и амплитуда. Ложится в массив размером 20 значений. и индекс увеличивается на единицу. Стало быть целиком масив заполнентся за 0.23 секунды (это я не учел время потраченое на обсчет выборки) и начнет заполнятся по новой уже с начала.
А отрисовка массива происходит по таймеру, несихронно да.
Вы таки предлагаете обновлять картинку по заполнению массива например? Невозражаю

Alex Zorg писал(а):
Для наглядности нужно отображать точки за последние пару секунд (я это называл алгоритмом "послесвечения").

спасибо, понял, попробуем!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вт: 05 июл 2011 5:48 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
Mobilemedved писал(а):
«Будет дырко в записи...» - вот, основная причина неработоспособности! Эту «дырку» (30мС) необходимо обходить и обходить кратно циклу вычислений (512 отсчетов). Если же датчик предполагается резонансный, то ещё и отступать от начала генерации на количество периодов равных добротности контуров (ещё, на столько же :) ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вт: 19 июл 2011 12:07 
Не в сети

Зарегистрирован: Чт: 12 май 2011 21:36
Сообщения: 37
С годографом.. вроде бы :D


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вс: 24 июл 2011 7:55 
Не в сети

Зарегистрирован: Чт: 02 июн 2011 22:44
Сообщения: 8
ура
все на полевые испытания :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Металлоискатель на основе Ноутбука (Нетбука)
СообщениеДобавлено: Вс: 24 июл 2011 8:52 
Не в сети

Зарегистрирован: Сб: 21 ноя 2009 12:10
Сообщения: 2694
Откуда: Новосибирск
cossak33 писал(а):
Нечего там испытывать... обработка - "дырявая" :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 199 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: