How to find frequency components from a signal?

How to find frequency components from a signal?

1 Comment

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

Sign in to comment.

 Accepted Answer

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 Comments

Actually I want to find frequency components from a gas sensor output signal.. can any one help me..?
Can you give us some more insight about your signal? Do you know your signals'sampling frequency? Can you attach the data?
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.
Do you know something about your signals' sampling frequency?
No I dont know, but can it be make out from the real time axis coloumn that i have given in the excel sheet?
1st column which is the time axis is in seconds.
I cannot open the file.Could you pass me the file in .mat format?
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.

Sign in to comment.

More Answers (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);

Asked:

on 21 Apr 2014

Answered:

on 22 Mar 2023

Community Treasure Hunt

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

Start Hunting!