![]() |
Страницы: (9) Все « Первая ... 3 4 [5] 6 7 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Да, действительно - и переходной процесс и фильтр в магитометре присутствуют. Причём фильтр настраивается по максимуму сигнала... Я в своё время перестраивал фильтр и вверх и вниз от целевой частоты - всё равно затяжка вниз была! Основной алгоритм был как у Pavia , но процедура нахождения максимума по частоте - итерационная (кстати, с помощью параболы ![]() Это сообщение отредактировал(а) Santik - 14.3.2012, 00:15 |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Kpeved,
А если вернуться к основной задаче... Если я, зажав на 3 ладу, 5 струну ударю, что я должен получить с учётом всех гармоник? Аккорд До- мажор! То есть До будет само собой , какая то из гармоник - Ми и Соль А уж если взять аккорд До-мажор - мне даже трудно представить. Хотя надо посчитать - может всё не так страшно... Для полифонии всё-таки надо взаимную корреляцию. Через FFT это просто. Делаешь FFT своих данных, FFT эталона (хотя эталоны уже могут храниться в виде FFT ) - умножаешь и делаешь обратное FFT (получишь функцию взаимной корреляции). Может какую-то итерационную процедуру можно придумать для более быстрого выбора эталона. Эталоны можно эмулировать. Я бы на твоём месте просто вычислил sin( До )+sin( Ми )+sin( Соль ) и нашел ФВК с записанными аккордами. На записи с До- мажор должен быть максимум ФВК. Это сообщение отредактировал(а) Santik - 14.3.2012, 08:42 |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Santik,
Да напутал с частотой дескритизации. Вот правильные. 2606,337; 2606,338; 2606,338; 2606,338; 2606,338; 2606,338; 2606,339; 2606,339; 2606,339; 2606,339; 2606,339; 2606,340; 2606,340; 2606,340; 2606,340; 2606,340; 2606,340; 2606,340; 2606,340; 2606,340; 2606,340; 2606,341; 2606,341; 2606,347; 2606,322; |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Pavia ,Ну вот это уже другое дело! Хотел свою программу восстановить для сравнения, но наверное не получится. 10 лет прошло. Она ещё на Паскале писана. Паскаля у меня нет давно, я только текст с трудом в Блокноте смог прочитать. Да и смысла теперь особого не вижу.
Единственное могу сказать, что выигрышь по сравнению с другими методами получился только при большых шумах. Мой магнитометр заработал в помещении!!! И чувствовал проезжающие по трассе "Жигули" (расстояние около 100 метров)! А так тяжелый алгоритм. У меня тогда только Р-133 был. ![]() |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
||||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Конечно грубее при такой частоте дискретизации
![]() В реальном магнитометре - 1 бит , но время очень точно считают. |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Посмотрел спектр сигнала (1-ая стуна 44кГц). В некотором шоке. Вообще-то надо струну "дёргать" надо было автору на 12 ладу... Но от этого пока интерес к задаче не потерялся.
Смысл: "Кто нам мешает - тот нам поможет!" (С) Кто мешает для расчёта использовать гармоники? Это сообщение отредактировал(а) Santik - 14.3.2012, 22:25 |
|||
|
||||
Kpeved |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.2.2012 Репутация: нет Всего: нет |
Santik, если мы зажмем на 3м ладу 5ую струну то мы получим .. мм.. С - то есть До . Ноту До - не До мажор. Если ударить 5 струн и зажать С -аккорд то тогда мы его получим . Разобрать такой аккорд не зная что за он - нереально (мозг то умеет , а вот с фурье врятли ))- ноты имеют свойство иметь двойную или тройную частоту какой нибудь совершенно другой ноты - эта же совершенно другая имеет свойство н-ых гармоник и т.д , поэтому и возникает путанница .
Не думаю что взаимная корелляция подойдет . Даже если мы и будем брать взаимную корреляцию с какой то забитой частотой , то определить частоту мы никак не сможем в силу того что частота у гитары не постоянная , к тому же минимальное отклонение и все идет на смарку - а нам ведь как раз нужно определить отклонение частоты , чего мы не сможем сделать. Да билн .. Вы тут точности считаете до тысячных . Достаточно 10х ). Частота струн гитары плавает - думаю обычное явление - дерево вибрирует + другие струны + ещё хз что .Это ведь не генератор сигналов . Начет алгоритма Pavia - очень медленный . На слабенькой машинке считает 2000 знач с частотой +-2 Гц (первый проход по 0.5 гц , второй +-0.5 по 0.1 Гц ) пол секунды . Тут и речи не может быть о мульти где 6 раз нужно пики считать .. |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Kpeved,
Ускорить в 100 раз это не проблема. |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Вот возьми и сам посчитай штук 11 гармоник от ноты С !!! Увидишь там и Е и G !!! А это уже - аккорд ![]() |
|||
|
||||
Kpeved |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.2.2012 Репутация: нет Всего: нет |
Santik, интересная особенность ). 5ую я нашёл точно (G ) , а вот 3ая немного не строит на 5Гц .
Получается в мажоре выходит немного больше этой частоты , а в миноре немного меньше ) Pavia, и как это можно сделать не потеряв точность ? |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
"Кто нам мешает - тот нам поможет!" (С)
Сделал взаимную корреляцию сигнала не с чистым синусом, а со смесью гармоник. Результаты положительные! Это сообщение отредактировал(а) Santik - 15.3.2012, 17:05 |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Вот ещё добавление.
Интересно, что при изменении начала записи существенного изменения частоты не обнаружил! Скачком изменилась частота на 0.2 Гц . Как будто 2 конкурирующих процесса существуют.... Амплитудная модуляция??? Но тогда 3 частоты должно быть... Не понятно... ![]() Подробности в файле (лист "Задержка") Это сообщение отредактировал(а) Santik - 15.3.2012, 22:38 Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
Santik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Где: Мирный (Якутия) Репутация: нет Всего: нет |
Проблема быстродействия существует. Кто-то обещал в 100 раз увеличить?
Я пока двигаюсь в сторону FFT:
Проблема в том, что каждый раз приходится FFT считать для суммы синусов и косинусов. Как это сделать без FFT??? В файле - результаты расчёта интегралом и FFT. Это сообщение отредактировал(а) Santik - 17.3.2012, 08:48 Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Santik,
Построить можно, но много не выиграешь N*ng против N*log(N) А вот если ng=1. То там FFT можно вынести из цикла. Правда потребует переделки FFT. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |