Анализ спектра wav файла
От: spacer123  
Дата: 09.11.05 20:46
Оценка:
Подскажите пожалуйста что можно почитать или покавырять, чтоб понять как с помощью БФП строить спектр wav файла?
Т.е. интересует по какому принципу брать шаг? Какой буфер использовать? И на что это влияет?
Re: Анализ спектра wav файла
От: OpenGL  
Дата: 10.11.05 02:56
Оценка:
Здравствуйте, spacer123, Вы писали:

S>Подскажите пожалуйста что можно почитать или покавырять, чтоб понять как с помощью БФП строить спектр wav файла?

S>Т.е. интересует по какому принципу брать шаг? Какой буфер использовать? И на что это влияет?

Бери частоты кратные двойке, БПФ по моему всегда так и делается.
Re: Анализ спектра wav файла
От: Isaev_Max Россия  
Дата: 10.11.05 06:05
Оценка:
Здравствуйте, spacer123, Вы писали:

S>Подскажите пожалуйста что можно почитать или покавырять, чтоб понять как с помощью БФП строить спектр wav файла?

S>Т.е. интересует по какому принципу брать шаг? Какой буфер использовать? И на что это влияет?

Здесь про FFT анализ и оконные функции неплохо написанно:
http://art.bdk.com.ru/govor/infast30.htm
Re: Анализ спектра wav файла
От: jhng Россия  
Дата: 10.11.05 16:03
Оценка:
Здравствуйте, spacer123, Вы писали:

S>Подскажите пожалуйста что можно почитать или покавырять, чтоб понять как с помощью БФП строить спектр wav файла?

S>Т.е. интересует по какому принципу брать шаг? Какой буфер использовать? И на что это влияет?
Длина FFT обычно берется 512-4096. Все зависит от того какое разрешение по частоте нужно получить. При построении спектрограммы выборка данных может вестись блоками с 50% перекрытием. При этом перед FFT каждый болк должен умножаться на оконную ф-ию (например, Хемминга или Ханна). В matlab есть финкция specgram — можешь посмотреть как она реализована.
Re[2]: Анализ спектра wav файла
От: spacer123  
Дата: 11.11.05 11:53
Оценка:
Здравствуйте, jhng, Вы писали:

S>>Подскажите пожалуйста что можно почитать или покавырять, чтоб понять как с помощью БФП строить спектр wav файла?

S>>Т.е. интересует по какому принципу брать шаг? Какой буфер использовать? И на что это влияет?
J>Длина FFT обычно берется 512-4096. Все зависит от того какое разрешение по частоте нужно получить. При построении спектрограммы выборка данных может вестись блоками с 50% перекрытием. При этом перед FFT каждый болк должен умножаться на оконную ф-ию (например, Хемминга или Ханна). В matlab есть финкция specgram — можешь посмотреть как она реализована.

А как зависит получаемая частота от длины?
Т.е. получается что берется определенная длина, а потом в зависимости от перекрытия и частоты дескритизации высчитывается время шага?
Re[3]: Анализ спектра wav файла
От: jhng Россия  
Дата: 12.11.05 12:07
Оценка:
Здравствуйте, spacer123, Вы писали:

S>А как зависит получаемая частота от длины?

Частота получаеься очень просто. Допустим у нас есть wav файл с частотой дискретизации 44,1 кГц. Если длина БПФ скажем 1024, то соответственно на каждый полученый коэффициент приходится 1/1024 от чатоты дискретизации. При отображении вторая половина коэфиициентов просто отбрасывается. Тогда мы увидим частоты от 0 до 22,05 кГц с разрешением в 512 точек.
S>Т.е. получается что берется определенная длина, а потом в зависимости от перекрытия и частоты дескритизации высчитывается время шага?
Длина шага зависит только от длины БПФ и перекрытия (например, (длина БПФ) / 2), а частота дискретизации может быть любая. В принципе можно брать и любой другой процент перекрытия, но обычно выбирают 50%, чтобы не заморачиваться с расчетами и буферами.
Re[4]: Анализ спектра wav файла
От: spacer123  
Дата: 12.11.05 14:29
Оценка:
Здравствуйте, jhng, Вы писали:

J>Здравствуйте, spacer123, Вы писали:


S>>А как зависит получаемая частота от длины?

J>Частота получаеься очень просто. Допустим у нас есть wav файл с частотой дискретизации 44,1 кГц. Если длина БПФ скажем 1024, то соответственно на каждый полученый коэффициент приходится 1/1024 от чатоты дискретизации. При отображении вторая половина коэфиициентов просто отбрасывается. Тогда мы увидим частоты от 0 до 22,05 кГц с разрешением в 512 точек.
S>>Т.е. получается что берется определенная длина, а потом в зависимости от перекрытия и частоты дескритизации высчитывается время шага?
J>Длина шага зависит только от длины БПФ и перекрытия (например, (длина БПФ) / 2), а частота дискретизации может быть любая. В принципе можно брать и любой другой процент перекрытия, но обычно выбирают 50%, чтобы не заморачиваться с расчетами и буферами.

Огромное спасибо!! Вы очень помогли!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.