How to find frequency components from a signal?

44 visualizzazioni (ultimi 30 giorni)
How to find frequency components from a signal?
  1 Commento
SUMIT
SUMIT il 22 Apr 2014
Actually I want to find frequency components from a gas sensor output signal.. can any one help me..?

Accedi per commentare.

Risposta accettata

Carlos
Carlos il 21 Apr 2014
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 Commenti
Carlos
Carlos il 25 Apr 2014
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)|')
Prerana Gawale
Prerana Gawale il 15 Nov 2019
I tried this approach and I'm getting 0Hz frequency. Please find attached data. The data duration is 15.763 secs.

Accedi per commentare.

Più risposte (1)

Manthan Unecha
Manthan Unecha il 22 Mar 2023
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