Anda dapat membuat spektrum frekuensi positif dengan cukup sederhana (di mana fs
laju pengambilan sampel dan NFFT
jumlah tempat sampah fft). Dalam implementasi Matlab dari algoritma FFT, elemen pertama selalu merupakan komponen DC, karenanya mengapa array dimulai dari nol. Ini berlaku untuk nilai NFFT yang ganjil dan genap.
%//Calculate frequency axis
df = fs/NFFT;
fAxis = 0:df:(fs-df);
Jika Anda perlu membungkus spektrum frekuensi, Anda perlu mempertimbangkan apakah Anda memiliki NFFT bernomor ganjil. Selalu perlu ada komponen DC , jadi. .
df = fs/NFFT;
fAxis = (0:df:(fs-df)) - (fs-mod(NFFT,2)*df)/2;
Perhatikan bagaimana perhitungan sumbu frekuensi positif identik dengan di atas, tetapi perubahan istilah FFT berubah untuk mengakomodasi panjang FFT genap atau ganjil.
Cuplikan kode ini diambil dari jawaban panjang yang diposting di SO (yang mungkin Anda temukan menarik) ditemukan di sini:
/programming/9694297/matlab-fft-xaxis-limits-messing-up-and-fftshift/ 9699983 # 9699983