2013-06-11 2 views
0

Я занимался домашней работой по обработке аудиосигнала. Я прочитал статью и смущен насчет формулы: enter image description here. Эта формула используется для обработки аудиосигнала с частотой 44100 Гц, 16 бит, одноканального. Аудио было предварительно обработано и разрезано на 1024 кадра ширины. F(w) является FFT коэффициенты каждого кадра и w with - above равна половине частоты кадров, 22050.
Обработка аудиосигнала с использованием Python

Я искал много, самое важное Analyze audio using Fast Fourier Transform. Но я все еще не могу понять это ясно. У меня есть коэффициенты FFT, с scipy и numpy, размером 1024 ширины. Тогда как мне выполнить формулу? Соответствует ли это суммам от 0 до 512 значений массива?

Надеюсь, что кто-нибудь может мне помочь. Заранее спасибо.

+0

Что вы уже пробовали? Обычно мы ожидаем увидеть исходный код вашей попытки. – marko

+0

и F (w) * действительно * эффективность FFT каждого кадра? Похож на меня. Возможно, было бы полезно увидеть уравнение для него. – marko

+0

Я много искал в Google и stackoverflow. Я дал то, что, по моему мнению, самый полезный ресурс для меня. Я прочитал аудиосигнал, предварительно обработал его и нарезал его в рамки. Я сделал FFT на кадрах. Кажется, что у меня есть коэффициенты FFT. Но я не знаю, как использовать коэффициенты FFT для выполнения формулы. Я также надеюсь, что «F (w)» - это уравнение. Если это так, мне не нужно сюда приезжать. Все прочитанные мной статьи просто говорят мне, что «F (w)» - это коэффициенты FFT для каждого кадра. @Marko – zhangyangyu

ответ

0

Предполагая, что у вас есть сигнал x = [ x_1, x_2, ..., x_N ], то вы бы вычислить формулу выше питона (с SciPy импортирована):

E = sum(abs(fft(x))[:len(x)/2]**2)/len(x) 

О фактор нормализации N = len(x) Я не уверен на 100% - это зависит от того, точная реализация fft.

+0

Как насчет dw и пределов в интеграле? – tom10

+0

На самом деле это то, что я думаю: я получаю массив, поэтому интеграция здесь бессмысленна. Хотя все документы говорят мне, что это интеграция, но я думаю, что они на самом деле представляют собой сумму. – zhangyangyu

+0

Конечно, интегралы существуют только в теории. Практически при работе с реальными данными вы всегда вычисляете суммы. –