2017-01-10 9 views
0

Я расчет индекса k бен частот с формулойМожет ли индекс индекса частоты быть десятичным числом?

k = f_k * N/Fs + 1, 

, где частота дискретизации Fs, число выборок в FFT является N, то частота бункера с индексом Matlab k является f_k. Но я получаю, что k - это десятичное число, и оно должно быть целым, потому что я использую его позже, как индекс для преобразованных Фурье серий. Я не знаю, что делать?

ответ

2

Каждый бен представляет собой диапазон частот (ширина каждого бункера равна Fs/N). Бункер, который соответствует вашей частоте интереса, составляет round(f_k * N/Fs) (+ 1, если вы используете индексирование на основе 1 MATLAB), то есть именно там будет отображаться большая часть вашей энергии сигнала, хотя в соседних ячейках тоже будет некоторая энергия из-за spectral leakage (вы должны, конечно, использовать window function, чтобы свести это к минимуму).

Дополнительная информация: How do I obtain the frequencies of each value in an FFT?.

0

Все, что вам нужно сделать, это преобразовать k в целое число с помощью раунда. Вам придется пересчитать ваши другие переменные, чтобы они могли скорректировать целочисленное значение k. Я не понимаю, как это может вас сильно беспокоить.

Цифровая обработка сигналов основана на множестве приближений в любом случае.

Надеюсь, что это поможет

+1

Я согласен, я только что изменил свое сообщение. Спасибо за вход – Patrick