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

 
 
> Алгоритм на основе FFT и интерполяции, помогите разобраться
Burenkov Sergey
сообщение Jan 11 2013, 09:07
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Доброго дня!
Нашел в сети древнюю статью про тюнер для пианино, там сигнал после ких фильра подается на бпф с последующей интерполяцией по двум соседним бинам. Мне непонятен следующий момент:
Описан Down Sampling, как я понял по описанию тут после фильтра в массив для бпф заносится каждый 11 сэмпл, чтобы увеличить разрешение по частоте... в этом случае разрешение будет 2.112 Гц на бин, но тогда при размере буфера в 512 сэмплов частота самого последнего бина будет только 1кГц, а нужно определять до 4кГц. Тут видимо я что то недопонимаю
Если кому-то не лень прочитать статью, буду благодарен за советы!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexey Lukin
сообщение Jan 24 2013, 23:00
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Определить ноту можно и без прореживания, тут особая точность по частоте не нужна.
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Jan 29 2013, 07:33
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Цитата(Alexey Lukin @ Jan 25 2013, 03:00) *
Определить ноту можно и без прореживания, тут особая точность по частоте не нужна.

На низких нотах разница между двумя соседними нотами чуть больше герца, точность нужна хорошая.


Цитата(Alex11 @ Jan 26 2013, 04:43) *
В статье, похоже, пытались минимальными аппаратными средствами получить максимальную точность определения частоты. Можно получить ту же точность увеличив буфер. При этом не требуется различное прореживание для различных нот, достаточно длинного буфера. Время счета, естественно, возрастает. Но для современных DSP это не проблема. RealTime все равно получается. В статье не учтено совершенно различие частоты для нескольких струн, по которым ударяет одна клавиша. Это упомянуто во введении, а дальше как-то опущено. Мне кажется, что точность настройки должна быть очень хорошей. Можно смотреть по огибающей, но, мне кажется, лучше применить окно, чтобы увеличить разрешение по частоте.
Для одной частоты можно получить интерполяцией очень высокую точность ее определения. Когда же там смесь близких частот, то нужно их разрешать, чтобы понять какая струна дает какую частоту.

У меня немного другая задача, мне не нужно определять частоту для двух струн, только для одной. Более длинная выборка это не только время счета но время самой выборки. Например, нота Ми большой октавы, ее частота 82.41Гц. на пол тона ниже (на 9,63Гц) на частоте 77.78Гц находится ми бемоль, т.е. даже если я определю частоту с точностью 0,5Гц я получу на этих нотах ошибку в 5%, это будет заметно на слух. Можно поподробнее насчет "окна"?
Go to the top of the page
 
+Quote Post
Alexey Lukin
сообщение Jan 29 2013, 18:23
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Цитата(Burenkov Sergey @ Jan 29 2013, 10:33) *
На низких нотах разница между двумя соседними нотами чуть больше герца, точность нужна хорошая.

Я имел в виду, что без прореживания можно определить примерное положение ноты, а затем уже выбрать нужный коэффициент прореживания в зависимости от этого.
Go to the top of the page
 
+Quote Post



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

 


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


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