Frequence of the signal

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

Dr. Seis
Dr. Seis 2011년 12월 13일
Are you trying to find the frequency spectrum of your signal? Or is your signal only one frequency and you are trying to find what that one frequency is? Or are you trying to figure out the instantaneous frequency at some location in your signal?
Sean de Wolski
Sean de Wolski 2011년 12월 13일
Or how often your signal occurs?
fatimah
fatimah 2011년 12월 13일
I am trying to find the frequency spectrum of signal.
Thank you for help
Jan
Jan 2011년 12월 13일
Who is plazzzzzze ?

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

답변 (1개)

Paulo Silva
Paulo Silva 2011년 12월 13일

0 개 추천

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

fatimah
fatimah 2011년 12월 13일
Thank you for helping :)
Can you tell me what is the different between heart beating frequency of the ECG and the frequency of the signals ??
Are you think it is the same ??
I am waiting for your response :)
Thanksssss
Dr. Seis
Dr. Seis 2011년 12월 13일
There will be some differences. I have seen enough TV that the signal of a beating heart on an EKG is not a perfect sinusoidal wave. It is also a little more complicated in that the pulse from a single heart beat is composed of more than one valve opening and closing. So, the lower frequency component should be associated with the frequency of each heart beat and the higher frequency component should be associated with orchestra of opening/closing valves during each heart beat.
fatimah
fatimah 2011년 12월 13일
thank you for explaining.
can you give me code to calculate heart beating frequency of the ECG in matlab .
I need that :| to complete my work .
If you can't give me a code can you give me any advice to do that . :)
thank you again.
Dr. Seis
Dr. Seis 2011년 12월 13일
The above code is a good example. You will have to change things like the sampling frequency (i.e., Fs) and the vector you store your data in (i.e., x). Have you tried to copy/paste the above code into an .m file to see what it does or how it works? If you have questions about what each line does, try running it a few times with different values to see how it changes things (this is how most people learn new programming languages).
Paulo Silva
Paulo Silva 2011년 12월 13일
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 2011년 12월 15일
Elige Grant
&&
Paulo Silva
Thank you for cooperation :)
I am trying to do my best to finish my job

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

질문:

2011년 12월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by