MATLAB ile FFT Alma İşlemi

MATLAB ile bir boyutlu FFT alma işlemlerinin gerçekleştirilmesinde fft komutu kullanılmaktadır. FFT sonuçlarının gösteriminde yaşanan en büyük sorunlardan biri sonuçlarda gösterilen freknas binlerinin hangi frekans değerine karşılık geldiğidir. Bu durum FFT çözünürlüğünün bulunması ile yani, örnekleme frekansının FFT boyutuna bölünmesi ile gerçekleştirilrimektedir (Kodda 4. satır).

FFT analizi sonucunda elde edilen frekans bilgisi 14. satırdaki gibi hesaplanmaktadır.

Aşağıda verilen kodda oluşturulan 1 sn’lik 20 KHz’lik sinüs sinyalinin FFT çıktısı hesaplanmıitır.

clc, clear all, close all;
f_s = 100e3;
FFT_size = 2^14;
FFT_res = f_s / FFT_size;
f= 20e3;
n_t = 1/f_s : 1/f_s : 1;
Data = sin(2 * pi * n_t * f);
n_t = (1 : length(Data)) / f_s;
figure, plot(n_t, Data);
xlabel('Saniye');
title('Data');
grid on;
Data_fft = 2 * abs(fft(Data, FFT_size)) / FFT_size;
n_f = FFT_res * (0 : length(Data_fft) / 2 - 1);
figure, plot(n_f, Data_fft(1 : length(Data_fft) / 2));
xlabel('Frekans (Hz)');
title('Data FFT');
grid on;

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir