fouirerde 2. frekansın anlamı ne?

Başlatan seyityildirim, 02 Ocak 2016, 21:36:57

seyityildirim




merhaba arkadaşlar, matlab da 50 hz lik bir sinyal çizdirip daha sonra fourier dönüşümü yaptıktan sonra attığım resimde de olduğu gibi 50 hz lik ve 950 hz lik bir bileşen çıkıyor daha doğrusu fs/2 ye göre bir simetri var. buradaki simetrinin ya da 950 hz lik bileşenin tam olarak anlamı nedir?

fs=1000;            % örnekleme frekansı
Ts=1/fs;            % örnekleme periyodu
fu=50;              % sinyalin frekansı
t=0:Ts:5/fu;        % zaman vektörü
u1=sin(2*pi*fu*t);  % sinüs sinyalimiz
subplot(2,1,1)
plot(t,u1,'LineWidth',3);
title([num2str(fu) ' Hz lik sinüs sinyali']);
ylabel('Genlik'); xlabel('Zaman (s)'); grid;
U1=fft(u1);
f = linspace(0,fs,length(U1));
subplot(2,1,2)
plot(f,abs(U1),'LineWidth',3);
title('Fourier katsayılarının büyüklüğü');
xlabel('Frekans (Hz)'); grid;
[code/]

alicavuslu

FFT sana fs/2 kadarlık bir frekans aralığını gösterir. Aslında Senin 950 dediğinde 50 Hz. Yani simetriğidir. Çıkıtya bakarken 0:fs/2 yaparsan karmaşa kalmaz.

seyityildirim

anladım hocam sağolun.. anlamamla birlikte bir soru daha aklıma geldi. mesela cins bir sinyal ile ilgileniyorum ve içinde kaç hz lik sinyal bileşenlerinin olduğunu bilmiyorum. fft sadece fs/2 deki frekans değerlerini gösteriyor dedik. mesela 1 Mhz gibi bir bileşeni keşfedebilmek çok güç olmaz mı? bu gibi durumların altından hangi yolla kalkılıyor?
tekrar teşekkür ederim hocam

alicavuslu

#3
1 MHz'lik bileşeni elde edebilmen için en az 2 MHz'lik örnekleme yapman lazım. Nyquist kriteri. Tek bir frekansı seçmek için önce fft alacaksın. Sonra istediğin frekans haric hepsini sıfırlayacaksın ve ifft alacaksın. Tavsiye edilmez. Bunun yerine fir veya iir filtre kullanarak istediğin frekanstaki değeri elde edebilirsin.

mesaj birleştirme:: 03 Ocak 2016, 22:23:06

Bu tarz sorular sordugun için asıl ben sana teşekkür ederim...