I think I'm just finally starting to get the hang of the frequency spectra.. say I have a signal that has undergone a Fourier transform so it is now plotted as the frequency vs its index. I want to find the beats per minute of this signal. If the signal had a sampling frequency of 50 Hz and 100 data points, and the first peak of the signal was located at the 20th index, would that equate to 10 Hz? As I would have index*sampling_frequency/total_points? And since Hz is measured as beats per second, I would multiply that by 60 to have a total of 600 beats per second?

 채택된 답변

Star Strider
Star Strider 2017년 4월 14일

1 개 추천

If the time-domain signal has a sampling frequency of 50 Hz and 100 data points, the one-sided frequency_domain plot will have a frequency vector going from 0 to 25 Hz with 51 points.
So in the frequency-domain plot, a peak at the 20th index would correspond to 25*20/51=9.8 Hz.
So 10 Hz is essentially correct. It is not exact because of the way the discrete Fourier transform is calculated and plotted. This is the sort of compromise that is inherent in all discrete signal processing.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

질문:

2017년 4월 14일

답변:

2017년 4월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by