How to find frequency components from a signal?

How to find frequency components from a signal?

1 commentaire

SUMIT
SUMIT le 22 Avr 2014
Actually I want to find frequency components from a gas sensor output signal.. can any one help me..?

Connectez-vous pour commenter.

 Réponse acceptée

Carlos
Carlos le 21 Avr 2014

1 vote

Your question is perhaps too generic, however to find frequency components of a signal in Matlab the FFT command is braodly used.Have a look here

10 commentaires

SUMIT
SUMIT le 22 Avr 2014
Actually I want to find frequency components from a gas sensor output signal.. can any one help me..?
Carlos
Carlos le 22 Avr 2014
Can you give us some more insight about your signal? Do you know your signals'sampling frequency? Can you attach the data?
SUMIT
SUMIT le 24 Avr 2014
I am ataching the excel sheet of data. Here the 1st coloumn is time and 2nd coloumn is corresponding data.I want to know what are the frequency components present. Please help with the matlab code.
Carlos
Carlos le 24 Avr 2014
Do you know something about your signals' sampling frequency?
SUMIT
SUMIT le 24 Avr 2014
No I dont know, but can it be make out from the real time axis coloumn that i have given in the excel sheet?
SUMIT
SUMIT le 24 Avr 2014
1st column which is the time axis is in seconds.
Carlos
Carlos le 24 Avr 2014
I cannot open the file.Could you pass me the file in .mat format?
SUMIT
SUMIT le 24 Avr 2014
I am ataching the data in .mat format and sampling frequency 50Hz .
Try this
>> x=data;
>> Fs=50;
>>L=length(x);
>>NFFT = 2^nextpow2(L);
>>f = Fs/2*linspace(0,1,NFFT/2+1);
>> x=data;
>> Fs=50;
>> L=length(x);
>> NFFT = 2^nextpow2(L);
>> f = Fs/2*linspace(0,1,NFFT/2+1);
>> Y = fft(x,NFFT)/L;
>> plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
I tried this approach and I'm getting 0Hz frequency. Please find attached data. The data duration is 15.763 secs.

Connectez-vous pour commenter.

Plus de réponses (1)

clear all;
clc;
i=sqrt(-1);
e=exp(1);
F=input('Input X and Y in matrix form (nX2) = ');
Unable to run the 'fevalJSON' function because it calls the 'input' function, which is not supported for this product offering.
tmp=size(F);
N=tmp(1,1)
F_sample=1/(F(3,1)-F(2,1))
x=[];
y=[];
for k=0:1:120
x=[x k];
f=0;
for j=1 : N
f=f + F((j),2)*e^(-i*2*pi*k*(j)/N);
end
f=abs(f);
y=[y f];
end
plot(x,y);
% stem(x,y);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by