Извлеченный спектр зависит от количества выбранных точек

#matlab #signal-processing #fft

#matlab #обработка сигналов #БПФ

Вопрос:

У меня есть сигнал a(t) , вот как он выглядит, когда я его строю:

введите описание изображения здесь

Я пытаюсь извлечь собственные частоты этого сигнала, используя FFT в MATLAB. Я делаю это так

 Y=fft( a );
P2 = abs(Y/L);
P1 = P2(1:L/2 1);
P1(2:end-1) = 2*P1(2:end-1);
plot(P1)
 

Теперь получается, что если я использую Y=fft( a ) , я получаю только частоты, близкие к 0, когда я строю спектр. Если я использую Y=fft( a(1:3:end) ) , то я получаю частоты с 0 и ненулевыми частотами.

  1. Почему эти ненулевые частоты не появляются, когда я выполняю БПФ для полного набора данных, а только при выборке каждой 4-й точки?
  2. Действительно ли ненулевая частота содержится в моем наборе данных или это артефакт?

Комментарии:

1. Что L ? Можете ли вы либо включить график вашего спектра, либо данные для a , либо способ генерации a ?

2. Принимая каждую 4-ю (на самом деле, похоже, что вы берете каждую 3-ю) точку, вы выполняете дополнительную выборку данных. Любая энергия сигнала на частотах выше newSampleRate / 2 будет уменьшена. Вы говорите, что исходный спектр показывает только энергию, близкую к нулю, но также похоже, что вы отображаете только первые L / 2 точки спектра. Я предполагаю, что L должен быть всей длиной a? Но если L меньше, это может объяснить вашу проблему. Чтобы действительно ответить на вопрос, нам потребуется дополнительная информация от вас (например, a и L).

Ответ №1:

Если вы измените ширину, которую занимает ваш набор данных для ввода БПФ, вы умножаете данные на прямоугольное окно, которое свертывает спектр с помощью функции Sinc. Результаты этой спектральной свертки будут отображаться для любых спектральных частот, которые не являются точно целочисленными периодическими в пределах новой ширины FFT.

Комментарии:

1. Да, но я думаю, что OP спрашивает о том, чтобы брать каждую 4-ю (или 3-ю, или любую другую) выборку из исходных данных. Таким образом, проблема будет связана с подвыборкой и сглаживанием, а не с окном.