|
Определение периода сигнала, нужен простой алгоритм |
|
|
|
 |
Ответов
|
Aug 23 2010, 14:16
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(Taradov Alexander @ Aug 23 2010, 16:01)  На картинке приведено несколько периодов колебания басовой струны гитары. Красным отмечен ожидаемый период. Необходимо определить частоту колебаний, но прямой подсчет дает в 2 раза завышенный результат, так как там полно гармоник, но на глаз период хоршо заметен. При этом амплитуда "внутреннего" колебания изменяется от полного пропадания, до равной и даже большей, чем "основного" колебания. Нужен способ определить период, Странная проблема.... "Ожидаемый период"- скорее всего, "неожиданный", это попытка измерить вторую субгармонику. Из теории колебаний период однозначно связан с основонй частотой колебаний. Никакие гармоники не могут изменить его, могут изменить только форму колебаний, но не период. Т.е тембр струны может быть разным, но не основонй тон, частота. Посему, нужно считать время меж пересечениями сигналом нуля, это даст полупериод. Время между фронтами или спадами даст период. Сигнал перед оцифровкой нужно пропустить через нуль-компаратор (усилитель с большим коэффициентом усиления). "Ля" первой октавы должно давать 440гц.
|
|
|
|
|
Aug 23 2010, 14:47
|

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

|
QUOTE (Microwatt @ Aug 23 2010, 18:16)  Странная проблема.... "Ожидаемый период"- скорее всего, "неожиданный", это попытка измерить вторую субгармонику. Красным изображен период соответствующей частоте 82 Гц, 6 струна гитары. Синим - реальное колебание этой струны. Есть моменты, когда реальное колебание почти синус, но большую часть времени по нему бегут такие "волны". Програмные тюнеры схватываются за моменты чистой синусоиды, но они длятся долю секунды. QUOTE (Microwatt @ Aug 23 2010, 18:16)  Из теории колебаний период однозначно связан с основонй частотой колебаний. Никакие гармоники не могут изменить его, могут изменить только форму колебаний, но не период. Т.е тембр струны может быть разным, но не основонй тон, частота. Именно так. Форма колебаний изменяется настолько, что в определенные моменты времени пересечений сигнала с 0 становится больше, но период сигнала не изменился и это видно из картинки. Такого искажения формы достаточно, чтобы простой метод подсчета длительности сигнала между пересечениями нуля давал сбои. QUOTE (Microwatt @ Aug 23 2010, 18:16)  Посему, нужно считать время меж пересечениями сигналом нуля, это даст полупериод. Время между фронтами или спадами даст период. Сигнал перед оцифровкой нужно пропустить через нуль-компаратор (усилитель с большим коэффициентом усиления). "Ля" первой октавы должно давать 440гц. Это все в теории (ну и на практике для более высокочастотных струн), но не работает для басовых струн, у них очень богатый спектр. QUOTE (Oldring @ Aug 23 2010, 18:31)  В настоящее время уже очень странное требование. В конечном итоге важны цена и потребление. Если по цене действительно можно найти альтернативы, то по потреблению уже сложнее (ну если не пускать АРМ на 16 МГц, конечно). Кроме применение мощного процессор противоречит самой идее простого гитарного тюнера.
|
|
|
|
|
Aug 23 2010, 15:27
|

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

|
QUOTE (Oldring @ Aug 23 2010, 19:17)  У вас действительно миллионные тиражи, чтобы бороться за плюс-минус доллар цены? Нет, у меня вообще нет планов по выпуску его. Возможно DSP будет и лучше. Можно убрать из вопроса требование к ресурсам. FFT напрямую все-равно не подходит из-за недостаточного разрешения и неоднозначности результатов. Необходимо разрешение в единицы герц, желательно в десятые доли (это то, что заявляют китайцы в железках, но насколько им можно верить не мне судить). В спектре ложные составляющие иногда превышают по амплитуде правильные. ----------- Прицепил wav-файл с записью звука всех струн, если кому интересно поэкспериментировать. В матлабе можно сделать data = wavread('guitar2.wav'); и он весь ваш
Сообщение отредактировал Taradov Alexander - Aug 23 2010, 15:31
|
|
|
|
Сообщений в этой теме
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    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 rezident Может я чего-то не понял, но почему из всего спект... Aug 23 2010, 17:51 Taradov Alexander QUOTE (rezident @ Aug 23 2010, 21:51) Мож... Aug 23 2010, 18:29  demiurg_spb Я для настройки гитары пользуюсь вот этой софтинко... Aug 23 2010, 19:14   Taradov Alexander QUOTE (demiurg_spb @ Aug 23 2010, 23:14) ... Aug 23 2010, 19:21    demiurg_spb Цитата(Taradov Alexander @ Aug 23 2010, 23... Aug 23 2010, 19:36    Самурай Alexander, попробуйте посмотреть в сторону алгорит... Aug 23 2010, 19:57 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|