Borrar filtros
Borrar filtros

正弦波を FFT した結果を表示しても​、周波数のピークが完​全に一致しないのはな​ぜですか?

106 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 25 de Oct. de 2013
Respondida: MathWorks Support Team el 25 de Oct. de 2013
以下のように、FFT 関数の例題を参考に FFT を実行し、スペクトルを表示しました。信号の周波数のピークが、元のデータに一致しません。
Fs = 100; % サンプリング周波数
t = 0:1/Fs:1; % 時間ベクトル
x = sin(2*pi*5*t); % サンプル信号(周波数 5[Hz])
NFFT = 128; % FFT点数
y = fft(x,NFFT); % FFT
F =Fs/2*linspace(0,1,NFFT/2+1); %周波数軸
plot(F,abs(y(1:(NFFT/2+1))))
grid on

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 25 de Oct. de 2013
周波数分解能に関係しています。サンプリング周波数 Fs, FFT点数 NFFT のとき FFT を実行すると、周波数全帯域においてその時の周波数軸は下記のようになります。
開始点:     0 [Hz]
間隔(分解能): Fs/NFFT [Hz]
点数:       NFFT []
実行例では、
Fs = 100;
NFFT = 128;
であるため、周波数軸の間隔は、100/128 ≒ 0.7813 となり、この間隔では、5[Hz] を表現することができません。
例えば、
NFFT = 200;
にすると、周波数軸の間隔が 100/200 = 0.5 となり、5Hz を表現できます。

Más respuestas (0)

Categorías

Más información sobre フーリエ解析とフィルター処理 en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!