Dr. GÜRAY SONUGÜR

Dr. Öğr. Üyesi Güray SONUGÜR – Öğrenci Bilgi Paylaşım Platformu

VTIY – Sensörlerden gerçek zamanlı veri okuma ve okunan verilerin Fourier dönüşümü

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Bu program:
%1.)Sensörlerden gerçek zamanlı veri okur
%2.)Okunan verilerin Fourier dönüşümünü yapıp frekans bileşenlerini bulur
% Tarih : 09.05.2017
% Yer : AKÜ TEKNOLOJİ FAKÜLTESİ
% Yazar : Yrd.Doç.Dr. Güray SONUGÜR
% http://guraysonugur.aku.edu.tr
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
close all;
%COM5 de kurulu olan mega2560 arduino sınıfını “a” değişkenine atadık.
a=arduino(‘COM5′,’Mega2560′);
tstart=tic; %timer başlatıldı
for i=1:200
voltage(1,i)=readVoltage(a,’A1′); %Potansiyometre verilerinin tutulduğu dizi
voltage(2,i)=toc(tstart);
plot(voltage(2,:),voltage(1,:),’b’); % potansiyometre grafiği mavi
drawnow;
end
%%
%alınan sinyalin fourier dönüşümü alınıyor.
% fs’yi açıklayalım. fs bizim frekans aralığımızın en büyük öğesi.
% voltage isimli diziye gerçek zamanlı sensör değeri depoluyoruz. Bu işlemi
% bu örnekte 10.2 sn’de gerçekleştirdik. Bu değeri voltage(2,end) ile
% bulduk Çünkü voltge matrisinizn 2. satırı zamanı gösteriyor. 10.2 sn’de
% 200 örnek almışız (for i=1:200)yani örnekleme periyodumuz 10.2/200= 0.051
% sn. Bu de 1/0.051=19.06 Hz demektir. Bu bizim en büyük frekans
% bileşenimizdir.
fs=1/(voltage(2,end)/length(voltage));
fft0=fft2(voltage); % 2 boyutlu fourier dönüşümü
fft1=abs(fft0);
fv = linspace(0,fs,length(voltage));
figure
plot(fv,fft1(1,:))