Точечный ДПФ N
дискретного сигнала с частотой дискретизации fs
дает частоты 0
, 1/fs
, ..., (N-1)/fs
. Чтобы иметь нулевую частоту в центре графика, вы можете применить fftshift
к результату DFT, а затем определить частоты как ( -N/2:N/2-1 )/N*fs
для N
четного или ( -(N-1)/2:(N-1)/2 )/N*fs
для N
странно (это использует периодичность ДПФ).
Пример
Сигнал, образованный двумя синусоидами разных частот и амплитуд.
N = 400;
fs = 1000; % Hz
fc1 = 120; % Hz
fc2 = 260; % Hz
y = sin(2*pi*fc1*(0:N-1)/fs) + .5*sin(2*pi*fc2*(0:N-1)/fs); % example signal
Y = fft(y);
if ~mod(N,2) % even
f_axis = ( -N/2:N/2-1 )/N*fs;
else % odd
f_axis = ( -(N-1)/2:(N-1)/2 )/N*fs;
end
plot(f_axis, fftshift(abs(Y)));
grid