How to find frequency components from a signal?

How to find frequency components from a signal?

댓글 수: 1

SUMIT
SUMIT 2014년 4월 22일
Actually I want to find frequency components from a gas sensor output signal.. can any one help me..?

댓글을 달려면 로그인하십시오.

 채택된 답변

Carlos
Carlos 2014년 4월 21일

1 개 추천

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

SUMIT
SUMIT 2014년 4월 22일
Actually I want to find frequency components from a gas sensor output signal.. can any one help me..?
Carlos
Carlos 2014년 4월 22일
Can you give us some more insight about your signal? Do you know your signals'sampling frequency? Can you attach the data?
SUMIT
SUMIT 2014년 4월 24일
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 2014년 4월 24일
Do you know something about your signals' sampling frequency?
SUMIT
SUMIT 2014년 4월 24일
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 2014년 4월 24일
1st column which is the time axis is in seconds.
Carlos
Carlos 2014년 4월 24일
I cannot open the file.Could you pass me the file in .mat format?
SUMIT
SUMIT 2014년 4월 24일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Manthan Unecha
Manthan Unecha 2023년 3월 22일
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);

질문:

2014년 4월 21일

답변:

2023년 3월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by