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

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

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

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

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


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


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

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


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

Сообщение Alex080969 » 16 июн 2010, 18:20

а зачем три микрофона то? Это принципиальное условие?

Добавлено спустя 51 минуту 12 секунд:
Re: Проект звукового модуля под шину RoboBus
blindman писал(а):А может попробуешь? ;) Может не такая и чудовищная она получится ? ;)

Предлагаю задачу упростить - оставить 2 микрофона, и определить направление на источник с точностью до знака. Потом использовать третий микрофон для устранения неоднозначности

Дык это, любой микрофон имеет диаграму направленности. Соответственно если направлены вперёд то определим направление на источник звука в передней полусфере.
Я кстате не понял - зачем разности расстояний нужны? Разве нехватит для определения направления разности фаз принимаемого сигнала?
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

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

Сообщение blindman » 16 июн 2010, 18:23

Alex080969 писал(а):Разве нехватит для определения направления разности фаз принимаемого сигнала?
Разность фаз однозначно определяет разность расстояний.
Проект [[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

Сообщение Alex080969 » 16 июн 2010, 18:30

blindman писал(а):У меня 3 микрофона и 1 источник звука, который может быть где угодно

А какой источник? Эта тоновый сигнал или любой звук больше некоего порогового значения?
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

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

Сообщение blindman » 16 июн 2010, 18:37

Читай тему полностью.
Проект [[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, звук]

Сообщение Alex080969 » 16 июн 2010, 19:29

да я как раз этим и занимаюсь и нифига понять не могу. А собственно что нужно то найти? По условиям вроде как направление на источник звука(хотя источник непонятен, нет его конкретного определения), в то же время на 2 странице пишешь что надо найти координаты ( опять же в какой именно координатной системе), на третьей опять же утверждаешь что направление...
Ладно читаю дальше..
P.S. походу это задача пассивной пеленгации акустического источника
А ещё хотелось бы уточнить - направление надо искать по всему горизонту? ну тобишь на 360 градусов? а по Z? только верхняя полусфера?

Добавлено спустя 19 минут 52 секунды:
=DeaD= писал(а):
contr писал(а):вот фрагмент учебника под методику с подвижными микрофонами
расстояние в плоскости горизонта однозначно определено по 3 варианту - два угла и база=b (рис79). Высота по вертикали вычисляется аналогично (один из углов прямой).

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

А с каких это пор углы невходят в математику? Кстате углы элементарно расчитываются
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

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

Сообщение =DeaD= » 16 июн 2010, 21:33

Alex080969 писал(а):
=DeaD= писал(а):Какие еще углы? Мы математику обсуждаем в заданных условиях - углов среди них нету.

А с каких это пор углы невходят в математику? Кстате углы элементарно расчитываются

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

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

Сообщение Alex080969 » 17 июн 2010, 03:56

Да пусть не обидется ТС, но заданные условия немного некорректные. Математика это хорошо, но здесь речь вроде как идёт о конкретной задаче пеленгации объекта. Цели не заданы, можно только догадатся что это необходимо для реагирования на голос ну или просто на звук и поворота того что может считаться головой или поворота всего корпуса. Минимальная громкость то же не задана, а ведь ведь в реале источников шумов очень много может быть.
Опять же любая система будет иметь некие ограничения,например где и как будут расположены микрофоны, если вокруг чего то, то один всегда будет в зоне акустической тени. Опять же абсолютно неучитывается диаграма направленности микрофонов.
А на счёт того что в начальных условиях несказано про углы - так ведь это похоже на измерение расстояние в попугаях или неиспользуя линейки. Углы то спокойно расскитываются, так что утверждение что никакой инфа по углам нет - несколько надумано. Я никого не хотел обидеть если чего.
Первая заповедь радиотехника - почисти контакты!
Аватара пользователя
Alex080969
 
Сообщения: 763
Зарегистрирован: 10 ноя 2009, 13:13
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр

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

Сообщение blindman » 17 июн 2010, 05:36

Долго писал ответ, потом плюнул и все стер. Лучше, чем описано в первом посте все равно не написать. Есть некоторое количество точек Ai (i=0..n) в пространстве с известными координатами, и точка X с неизвестными координатами. Для любой пары точек Ak, Al известна разность расстояний |Ak-X| - |Al-X|. Требуется найти вектор LaTeX: \vec{V'} = c \vec{V}, где c - произвольная константа, LaTeX: \vec{V} - вектор с началом в начале координат и концом в точке X. А также найти минимальное n при котором задача имеет единственное решение. Можно ввести дополнительные ограничения на координаты точек A (например, не на одной прямой в случае 3 и более точек, либо не в одной плоскости в случае 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, звук]

Сообщение =DeaD= » 17 июн 2010, 07:36

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

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

Сообщение uz6 » 17 июн 2010, 09:00

Разность фаз однозначно определяет разность расстояний.


Неоднозначно! разность фаз не учитывает разность целых периодов(которые больше разности фаз)
Аватара пользователя
uz6
 
Сообщения: 110
Зарегистрирован: 12 фев 2008, 15:00
Откуда: Шахты
прог. языки: Delphi, Python, ну и асм немного

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

Сообщение blindman » 17 июн 2010, 09:13

Это всего лишь вопрос выбора рабочей частоты и расстояния между микрофонами. Считаем, что расстояние между микрофонами не превышает длины волны наибольшей рабочей частоты.
Проект [[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, звук]

Сообщение Rome » 17 июн 2010, 09:24

А чего спорим то? Задача решена с тремя микрофонами!!! Исходники на предыдущей странице.
Rome
 
Сообщения: 7
Зарегистрирован: 10 июн 2010, 13:18
Откуда: Киров
прог. языки: C#, pascal
ФИО: Роман Веснин

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

Сообщение =DeaD= » 17 июн 2010, 09:45

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

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

Сообщение blindman » 17 июн 2010, 09:45

С 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, звук]

Сообщение Rome » 17 июн 2010, 10:40

Для полупространства напрашивается пока такое решение:
Перебрать вертикальные углы от 0 до 90 допустим с шагом 1. Пересчитать проекцию скорости на плоскость. В каждом случае решить задачу. Выбрать вариант, где ошибка (разброс трех решений) будет минимальна.
ИЛИ
Как я находил расстояние делением отрезка, также делить угловой сектор на три части и отбрасывать треть. За 11 итераций сектор сузится до градуса.

Добавлено спустя 42 минуты 36 секунд:
Математическое приближенное решение поиска направления выглядит так:
Даны точки B,A,C. Сигнал достигает сперва точки B, затем с задержкой ta точки A и потом с задержкой tс точки C. Пусть неизвестная точка X бесконечно удалена. Фронт волны от X будет походить на плоскость. Нужно построить уравнение плоскости, которая проходит через точку B и касается сферы с центром в A и радиусом ta и сферы с центром в C и радиусом tc. Из уравнения плоскости получаем координаты нормального вектора - искомое направление. Тут уже можно будет получить и горизонтальное направление и вертикальное.
Погрешность метода будет возрастать по мере приближения точки X к плоскости ABC. Поэтому чтобы повысить точность нужны четыре точки, чтобы строить 4 приближенных решения и усреднять их.
Собственно, такой подход я использовал для решения задачи на плоскости.

По поводу расположения микрофонов: как мне кажется, они должны составлять правильную фигуру на плоскости или в пространстве. Значительно увеличивать количество микрофонов наверно нет смысла: либо расстояние между ними будет уменьшаться, что повлечет увеличение погрешности, либо сама конструкция будет расти в размерах.
Rome
 
Сообщения: 7
Зарегистрирован: 10 июн 2010, 13:18
Откуда: Киров
прог. языки: C#, pascal
ФИО: Роман Веснин

Пред.След.

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

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

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