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

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

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

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

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


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


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

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


Есть 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, звук]

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

=DeaD= , может подумаешь над теми уравнениями что я писал? Может там ошибка ?
Проект [[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, 19:49

viewtopic.php?p=98735#p98735 - эти?

Добавлено спустя 5 минут 26 секунд:
Из твоих рассуждений: Искомая кривая - пересечение двух гиперболоидов вращения, причем не целых, а их половинок (по 1 "чашке" от каждого").

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

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

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

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

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

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

Еще вариант:

Перебираем все возможные реальные расстояния с шагом Х от источника звука до первого услышавшего его микрофона и тупо вычисляем решения в этом случае. Как это делать без сложной математики? Да вроде так:

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

Тут математики тоже не мало - зато найдём все решения и формулы попроще.

По моему ни один из методов в 3Д не будет на AVR быстро работать, хотя может мне кажется.

Добавлено спустя 1 минуту 17 секунд:
Duhas писал(а):ПС я что-то так и не догнал принципа в тех уравнениях ))

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

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

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

анти эллипс блин ))

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

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

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

Не надо прикидывать. Надо вычислять :)
Проект [[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, звук]

Сообщение Timmy » 15 май 2009, 20:56

мне кажется что недостаточно данных для определения угла, по единичному импульсу

могу быть не прав
две точки описывают прямую, те могут найти точку на прямой
по идее три точки описывают плоскость, позволяют найти точку в плоскости
четыре пространство

растояние по трем найти можно(вроде как),
но угол по разности импульсов не получается
нехватает запятых? возьми пару отсюда ,,,,,,,,,,,,,,,,,,, =)
Timmy
 
Сообщения: 225
Зарегистрирован: 13 янв 2009, 11:19
Откуда: Санкт Петербург

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

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

blindman, Вы книжку ту скачали, что я ссылку давал? там почти вся нужная теория есть. :pardon: может и вся, еще не всё просмотрел
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

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

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

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

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

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

=DeaD= , со сферами не понял. Взяв любую произвольную длину, мы всегда найдем некую точку, так как теперь у нас 3 расстояния. А вот как проверить, та ли эта точка, что нам нужна?
Проект [[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, 21:26

Angel71 писал(а):blindman, Вы книжку ту скачали, что я ссылку давал? там почти вся нужная теория есть. :pardon: может и вся, еще не всё просмотрел

По ходу там только сказано что решения составляют часть гиперболы на плоскости и всё. Это и так уже выяснили вроде... Или я плохо ищу?

Добавлено спустя 40 секунд:
blindman писал(а):=DeaD= , со сферами не понял. Взяв любую произвольную длину, мы всегда найдем некую точку, так как теперь у нас 3 расстояния. А вот как проверить, та ли эта точка, что нам нужна?

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

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

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

Таких точек будет бесконечное множество. Нужен какой-то критерий, позволяющий оценить отклонение от истинного направления (ну или одного из возможных направлений - потом отсеять неправдоподобные).
Проект [[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, 21:37

2blindman: Эта задача по типу эквивалентна тому, что мы в плоскости получили инфу по 2 микрофонам - решения - все точки 1 ветки гиперболы. Никаких более или менее правдоподобных точек нет, кроме того что ограничивается известными размерами помещения.

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

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

Сообщение Timmy » 15 май 2009, 21:39

линейная задача

два микрофона А и В (на трубе не сидели)
есть искомая точка Х

и известно ХА - ХВ и АВ

найти растояние ха и хв

мне даж стало смешно когда понял что написал
нехватает запятых? возьми пару отсюда ,,,,,,,,,,,,,,,,,,, =)
Timmy
 
Сообщения: 225
Зарегистрирован: 13 янв 2009, 11:19
Откуда: Санкт Петербург

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

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

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

Пред.След.

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

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

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