Frequence of the signal

3 views (last 30 days)
fatimah
fatimah on 13 Dec 2011
Hi , How I can calculate frequence of the signal in the matlab ?? Is there any function do that in matlab ?? can you give me sample example to do that .. Help me plazzzzze :"(
  4 Comments
fatimah
fatimah on 13 Dec 2011
I am trying to find the frequency spectrum of signal.
Thank you for help
Jan
Jan on 13 Dec 2011
Who is plazzzzzze ?

Sign in to comment.

Answers (1)

Paulo Silva
Paulo Silva on 13 Dec 2011
From the MATLAB documentation of the fft function:
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t)); % Sinusoids plus noise
plot(Fs*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
%I added the next lines to find the value
%find maximum value, it should be the fundamental frequency (approximated)
[C,I]=max(2*abs(Y(1:NFFT/2+1)))
f(I)
  6 Comments
Paulo Silva
Paulo Silva on 13 Dec 2011
1- Find the peaks (findpeaks function from S.P. toolbox or similar code)
2- Find the time T between two of those peaks
3- F=1/T
fatimah
fatimah on 15 Dec 2011
Elige Grant
&&
Paulo Silva
Thank you for cooperation :)
I am trying to do my best to finish my job

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!