Extracting periodicity with Fast Fourier Transform

Click For Summary

Discussion Overview

The discussion revolves around extracting the period from a complex discrete signal using Fast Fourier Transform (FFT) in Matlab. Participants are addressing issues related to systematic bias in the output values and the relationship between period and frequency.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant reports that the values obtained from their Matlab script are incorrect and suspects a systematic bias related to the index and sample frequency.
  • Another participant suggests that dividing by the sample frequency is necessary due to the inverse relationship between period and frequency.
  • A participant indicates that after attempting the suggested division, the resulting values are excessively large and questions whether they are using the correct axis values from the frequency domain graph.
  • Another participant asks for clarification on the values of index and sample frequency and proposes a formula for calculating the period based on the length of the sequence, sample time, and index.

Areas of Agreement / Disagreement

Participants express differing views on the correct approach to extract the period, with some suggesting division by sample frequency while others raise concerns about the resulting values and the use of axis data. The discussion remains unresolved with multiple competing views.

Contextual Notes

Participants have not fully defined the terms used, such as "index" and "sample frequency," which may affect the clarity of the discussion. There are also unresolved mathematical steps regarding the calculation of the period.

Ebert87
Messages
2
Reaction score
0
Hello all,

I want to extract the period out of a complex discrete signal.

Currently I have the Matlabscript of the attachement.

However, the values I get out of this script are not correct. There is some kind of systematic bias in it.

I think it has something to do with index * samplefrequency.

Anyone an idea what could be wrong?

Thanks in advance!
 

Attachments

  • matlab script.jpg
    matlab script.jpg
    28.7 KB · Views: 529
Engineering news on Phys.org
Right, you should divide by sample frequency. Period and frequency have inverse relation.
 
Hassan2 said:
Right, you should divide by sample frequency. Period and frequency have inverse relation.

Thanks, I tried it, but now the values are extremely big. Maybe I am using the y-axis value of the frequency domain graph, instead of the x-axis value (which says something about thefrequency of the original signal, right?)?

Getting confused now :confused:
 
What are the values of index and Samplefreq?

I think you should use this:

Period=(Length of the sequence)*dt/index
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 43 ·
2
Replies
43
Views
8K