roboforum.ru

Технический форум по робототехнике.

Математика определения источника звука[RoboBus, звук]

Обсуждаем рождающиеся мысли и результаты экспериментов.

Математика определения источника звука[RoboBus, звук]

Сообщение blindman » 14 май 2009, 15:00

Тема выделена оттуда: Проект звукового модуля под шину RoboBus.
<Digit>


Внимание!
Правила темы:
Все сообщения, отклоняющиеся от математического направления в общие принципы и прочие сопутствующие обсуждения считаются оффтопиком, т.е. ЗАПРЕЩЕНЫ!


Кто шарит в математике, помогите плиз

micro.png
micro.png (7.96 КиБ) Просмотров: 23106


Есть 3 точи расположенных на окружности заданного радиуса LaTeX: R = \left|O-B\right| через 120°. Есть некая точка LaTeX: X, координаты которой неизвестны. A,B,C - это микрофоны, X - источник звука. Считаем, что микрофоны и источник звука лежат в одной плоскости (горизонтальной). Известны LaTeX: \left|X-B\right| - \left|X-A\right| и LaTeX: \left|X-B\right| - \left|X-C\right|.
  1. Надо найти LaTeX: \angle XOB и LaTeX: \left|X-O\right|
  2. Если перейти из плоскости в пространство, и допустить, что источник звука может находиться вне плоскости микрофонов, то будет ли формула из п.1 справедлива для LaTeX: \angle X'OB и LaTeX: \left|X'-O\right|, где LaTeX: X' - проекция точки LaTeX: X на плоскость микрофонов.
  3. Верно ли, что 3 микрофонов недостаточно, чтобы определить не только LaTeX: \angle X'OB (LaTeX: \angle XOB), но и угол возвышения источника звука? Похоже что это верно ...
Последний раз редактировалось Digit 15 май 2009, 16:45, всего редактировалось 2 раз(а).
Причина: дорисовал правила этой темы
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект звукового модуля под шину RoboBus

Сообщение =DeaD= » 15 май 2009, 11:54

Ээээээ.... что такое это направление? Если у нас известная кривая в 3-мерном пространстве (а множество решений неполной системы - именно кривая) - "направление на неё" это как?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проект звукового модуля под шину RoboBus

Сообщение blindman » 15 май 2009, 11:58

Направление на источник звука, естественно.
=DeaD= писал(а):множество решений неполной системы - именно кривая
совершенно верно. именно поэтому
blindman писал(а):Выберем некоторое значение y, и решим систему этих уравнений относительно x и z
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект звукового модуля под шину RoboBus

Сообщение =DeaD= » 15 май 2009, 12:00

А если наше "y" неудачное? Сколько их брать и какие?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проект звукового модуля под шину RoboBus

Сообщение blindman » 15 май 2009, 12:08

y надо брать >a если c2>0, иначе берем y<a. Хватит меня пытать, ты же математик, а не я :) Пойду напишу программку, погоняю на наборе случайных значений :)
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект звукового модуля под шину RoboBus

Сообщение =DeaD= » 15 май 2009, 12:14

ну то есть берём кучу разных Y соответствующих допустимым в нашем помещении и в наших условиях значениями и смотрим чего получается. Если всё в 1 направлении и вписывается в рамки помещения (в том числе по координате z) - тогда говорим что нашли - так? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проект звукового модуля под шину RoboBus

Сообщение blindman » 15 май 2009, 12:33

Хочется думать, что достаточно правильно выбрать одно значение y - и в результате получить набор 4 значений x,y из которых только один верный (пару критериев я написал выше) ...

Формулы получаются монструозные, типа такого:

LaTeX: x=\frac{-\left(c_{1}\sqrt{((c_{1}^{2}+a^{2})c_{2}^{2}+a^{2}c_{1}^{2}+a^{4})y^{2}+(-2a^{3}c_{1}^{2}-2a^{5})y-a^{4}c_{2}^{2}+a^{4}c_{1}^{2}+a^{6}}-ac_{1}^{2}\right)}{\left(c_{1}^{2}+a^{2}\right)c_{2}}
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект звукового модуля под шину RoboBus

Сообщение contr » 15 май 2009, 12:53

зная расстояние от 3 точек (микрофоны) до объекта имеем однозначное решение. К сожалению, только математическое, а не физическое. Расстояние можно определить лишь по времени прихода фронта и весьма приблизительно, поскольку база разноса микрофонов маленькая.
Вариант с двумя подвижными узконаправленными микрофонами позволяет вычислить положение для горизонтальной и вертикальной плоскостей по уровню сигнала, но точность опять зависит от базы, диаграммы направленности, помех и пр.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Проект звукового модуля под шину RoboBus

Сообщение Duhas » 15 май 2009, 13:01

таак, погодите, ка... у меня вроде получилось направление по 3-м микрофонам получить...

пусть микрофоны расположены в точках (-1,0,0), (1,0,0) и (0,1,0), S - кратчайшее из расстояния до источника (пусть это будет первая точка)
тогда:
(x+1)^2+y^2+z^2=S
(x-1)^2+y^2+z^2=S+dS1
x^2+(y-1)^2+z^2=S+dS2
раскроем скобки и вычтем 2 первых и суммы второго и третьего
x^2+y^2+z^2 +2x+1=S
x^2+y^2+z^2 -2x+1=S+dS1
x^2+y^2+z^2 -2y+1=S+dS2
итого :
-6x -2y=dS1+dS2...

или я гоню?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Проект звукового модуля под шину RoboBus

Сообщение blindman » 15 май 2009, 13:05

А z где ?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект звукового модуля под шину RoboBus

Сообщение Duhas » 15 май 2009, 13:08

кончилось )) для Z нада 4 микрофон....
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Проект звукового модуля под шину RoboBus

Сообщение blindman » 15 май 2009, 13:15

с 4 можно не только направление, но и координаты определить :)
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект звукового модуля под шину RoboBus

Сообщение Duhas » 15 май 2009, 13:27

як? расстояние то неизвесно
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Проект звукового модуля под шину RoboBus

Сообщение =DeaD= » 15 май 2009, 14:13

contr писал(а):зная расстояние от 3 точек (микрофоны) до объекта имеем однозначное решение.

1. Это не верно, имеем обычно 2 решения.
2. Расстояния мы тут не знаем!!! Только их разности.

Добавлено спустя 1 минуту 7 секунд:
Duhas писал(а):як? расстояние то неизвесно

А вот :)

2blindman: хотя там надо смотреть системы уравнений, вдруг не 1 решение будет, а пара?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проект звукового модуля под шину RoboBus

Сообщение contr » 15 май 2009, 15:07

1. Это не верно, имеем обычно 2 решения.

Справедливо, но у нас микрофоны, т.е. уже направленность и поверхность ниже которой источник быть не может :)
Для пеленга в плоскости достаточно 2 точек. А лучше 3 и источник внутри. В пространстве хватит 3х приемников или сканирующего луча - радиолокатор так работает. Животные достаточно точно двумя приемниками по фазе и времени прихода пеленгуют, но там и приемники крутятся, и направленность хитрая, и контроллер хороший
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Проект звукового модуля под шину RoboBus

Сообщение =DeaD= » 15 май 2009, 15:31

contr писал(а):Справедливо, но у нас микрофоны, т.е. уже направленность и поверхность ниже которой источник быть не может :)

Я бы на вашем месте сначала спросил разработчика - направленные ли у него микрофоны? К тому же нигде не сказано, что громкость звука фиксирована.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Идеи

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25