Дискретное преобразование Фурье в MatLab - теоретическая путаница

StackOverflow https://stackoverflow.com//questions/22026363

  •  21-12-2019
  •  | 
  •  

Вопрос

У меня есть периодический термин

v(x) = sum over K of [exp(iKx) V(K) ] 
.

где k= 2 * pi * n / a, где a - периодичность термина и n= 0,1,2,3 ....

Теперь я хочу найти коэффициент Фурье V (k), соответствующий конкретному К. Предположим, у меня есть вектор для V (x), имеющих 10000 точек для

x = 0,0.01a,0.02a,...a,1.01a,....2a....100a 
.

такой, что размер моей решетки 100А.FFT на этом векторе дает 10000 коэффициентов Фурье.Значения K, соответствующие этим коэффициентам Фурье, являются 2 * Pi * N / (10000 * 0,01) с n= 0,1,2,3, ... 9999.

Но мой k имел форму 2 * pi * n / a из-за периодичности решетки.Что мне не хватает?

Это было полезно?

Решение

Ваша функция, вероятно, не сложная, поэтому вам понадобятся отрицательные частоты в сложном выражении ряда Фурье. Во время FFT это не имеет значения, так как негативные частоты псевдонимы к более высоким положительным частотам, но в выражении как непрерывной функции это может дать странные результаты.

Это означает, что диапазон n находится из-н / 2 до N / 2-1, если n это размер выборки.

Обратите внимание, что точки, которые вы предоставили 10001 по номеру, если вы начнете с 0a с шагом 0,01А и заканчиваются на 100a. Таким образом, последний момент для N= 10000 баллов должен быть 100А-0,01А= 99,99а.

Ваша частота дискретизации - это обратительная часть шага выборки, fs= 1 / (0,01a). Частоты FFT, затем 2 * PI * N / N * FS= 2 * PI * N / (10000 * 0,01a)= 2 * pi * n / (100 * a), каждые 100 из них соответствует одному из ваш k.

Это не удивительно, поскольку выборка составляет более 100 периодов функции, более длительный период приводит к гораздо более низкой базовой частоте. Если сигнал V (x) действительно периодичен, все амплитуды, за исключением количества, которые для N Divisible на 100 будут нулевыми. Если сигнал не совсем периодичен из-за ошибок шума и измерения, пики будут утечны в соседние частоты. Для правильного результата для исходной задачи вам придется интегрировать амплитуды по вершинам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top