реклама на сайте
подробности

 
 
> Определение периода сигнала, нужен простой алгоритм
ataradov
сообщение Aug 23 2010, 13:01
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



На картинке приведено несколько периодов колебания басовой струны гитары. Красным отмечен ожидаемый период. Необходимо определить частоту колебаний, но прямой подсчет дает в 2 раза завышенный результат, так как там полно гармоник, но на глаз период хоршо заметен. При этом амплитуда "внутреннего" колебания изменяется от полного пропадания, до равной и даже большей, чем "основного" колебания.

Нужен способ определить период, при этом сложные вычисления (типа FFT) не желательны, так как должно работать все на 8-бит микроконтроллере.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Aug 23 2010, 17:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Может я чего-то не понял, но почему из всего спектра нельзя выбрать наименьшую частоту? К тому же, если диапазон изменения основной частоты при разном натяжении для каждой струны примерно известен, то можно корреляцию с требуемой частотой посчитать.
Go to the top of the page
 
+Quote Post
ataradov
сообщение Aug 23 2010, 18:29
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (rezident @ Aug 23 2010, 21:51) *
Может я чего-то не понял, но почему из всего спектра нельзя выбрать наименьшую частоту? К тому же, если диапазон изменения основной частоты при разном натяжении для каждой струны примерно известен, то можно корреляцию с требуемой частотой посчитать.
Вот спектр той-же 6-ой струны. Нужен какой-то хороший критерий поиска. Курсором помечена нужная частота. Слева от нее сравнимого уровня "палка" 50 Гц - это похоже сеть, не ожидал ее тут увидеть, попробую отфильтровать. Максимум - это 160 Гц, та самая "помеха".

Кроме того приведеный FFT сделан по 83000 точек (вся выборка), если делать окнами реального размера, то получется каша и недостаточное разрешение (хотя для первого приближения может и подойдет).

Делать фильтры на частоты конкретных струн нельзя, так как они могу быть значительно рассторены (иногда специально), нужно именно определить частоту и сказать к какой ноте она ближе всего и на сколко процентов не совпадает с ней.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Aug 23 2010, 19:14
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Я для настройки гитары пользуюсь вот этой софтинкой.
Вполне сносно работает.

Я бы опыты на компе ставил, записал wav файлик и давай на нём реальные эксперименты с фильтрами ставить...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ataradov
сообщение Aug 23 2010, 19:21
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



QUOTE (demiurg_spb @ Aug 23 2010, 23:14) *
Я для настройки гитары пользуюсь вот этой софтинкой.
Вполне сносно работает.
Настройка не проблема, железный тюнер тоже нормально работатет. Просто интересная задача для разминки мозгов.

Попробовал программу, тоже на этой струне показывет некоторое время 82 Гц, а потом перескакивает на 164 Гц. Настройке это не мешает, конечно. А вообще она показывает заниженные значения относительно аппаратного китайского тюнера. Кто-то врет smile.gif Нужно камертон купить.

QUOTE (demiurg_spb @ Aug 23 2010, 23:14) *
Я бы опыты на компе ставил, записал wav файлик и давай на нём реальные эксперименты с фильтрами ставить...
Так я и сижу с матлабом.

Сообщение отредактировал Taradov Alexander - Aug 23 2010, 19:26
Go to the top of the page
 
+Quote Post
Самурай
сообщение Aug 23 2010, 19:57
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Alexander, попробуйте посмотреть в сторону алгоритмов обработки речи, точнее на методы измерения частоты основного тона (Pitch detection algorithm). Кажется, Ваша задача именно из этого класса. Но не ждите готовых и простых решенийsmile.gif.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Taradov Alexander   Определение периода сигнала   Aug 23 2010, 13:01
- - scifi   Что-то мне подсказывает, что здесь без "сложн...   Aug 23 2010, 14:00
|- - Taradov Alexander   QUOTE (scifi @ Aug 23 2010, 18:00) И ещё ...   Aug 23 2010, 14:10
- - Microwatt   Цитата(Taradov Alexander @ Aug 23 2010, 16...   Aug 23 2010, 14:16
|- - Taradov Alexander   QUOTE (Microwatt @ Aug 23 2010, 18:16) Ст...   Aug 23 2010, 14:47
|- - Oldring   Цитата(Taradov Alexander @ Aug 23 2010, 18...   Aug 23 2010, 15:17
|- - Taradov Alexander   QUOTE (Oldring @ Aug 23 2010, 19:17) У ва...   Aug 23 2010, 15:27
|- - Andrey_1   Цитата(Taradov Alexander @ Aug 23 2010, 19...   Apr 2 2011, 19:10
- - Oldring   Цитата(Taradov Alexander @ Aug 23 2010, 17...   Aug 23 2010, 14:31
- - Alex11   Вы бы поиграли с модельками, тем более, что у Вас ...   Aug 23 2010, 15:28
|- - Taradov Alexander   QUOTE (Alex11 @ Aug 23 2010, 19:28) Вы бы...   Aug 23 2010, 15:51
|- - Microwatt   Цитата(Taradov Alexander @ Aug 23 2010, 18...   Aug 23 2010, 16:06
|- - Taradov Alexander   QUOTE (Microwatt @ Aug 23 2010, 20:06) Во...   Aug 23 2010, 16:18
- - @Ark   Судя по Вашему описанию и картинкам, главное отлич...   Aug 23 2010, 17:42
|- - demiurg_spb   Цитата(Taradov Alexander @ Aug 23 2010, 23...   Aug 23 2010, 19:36
- - Microwatt   Ага, теперь из картинки "ОК" и "Пло...   Aug 23 2010, 19:08
- - GetSmart   Автокореляцию не пробовали? Вроде идеальная для эт...   Aug 23 2010, 23:04
- - Wise   ЦитатаВ идеале нужен алгоритм, который найдет подо...   Aug 23 2010, 23:22
- - fontp   Здесь много всего муыкального, в том числе и опред...   Aug 24 2010, 09:59
- - Taradov Alexander   И так, приемлемое решение нашлось. Алгоритм: 1. Вх...   Aug 24 2010, 18:39
|- - jer   Цитата(Taradov Alexander @ Aug 24 2010, 22...   May 11 2011, 12:34
- - Dmitry Valento   Александр, но ведь ваш алгоритм не дает высокой то...   Mar 31 2011, 08:05
- - Alexey Lukin   Улучшить точность можно с помощью параболической и...   Apr 7 2011, 09:15
- - Make_Pic   Цитата(Alexey Lukin @ Apr 7 2011, 12:15) ...   Apr 18 2011, 09:59


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016