Ok I need to understand how some harmonic calculations work to apply some transforms.

If I have a periodic functiion f(x). And I have the values of that function for several values of x (say x goes from 0 to 359) so I have

f(0)=3 f(1)=5 ... etc

So if I'm asked to take the max of those values without the first harmonic. How can I do this? and what does it mean?


Edit: Here is the pdf of the method I'm implementing, it's the only one I found publicaly available. There are tables of functionals on the paper which are applioed to texture analysis of images. The result of the second set of functionals is a periodic function and on the third set of functionales there are a couple of functionales where you need to get i of xi so that xi is the max or min value without the first harmonic. http://pdf.aminer.org/000/067/295/texture_classification_with_thousands_of_features.pdf

  • $\begingroup$ Do you know the period of the function? and if so, how is it related to $360$, the number of values of $x$ for which you know the value of $f(x)$ $\endgroup$ Jun 18, 2013 at 18:05
  • $\begingroup$ The period is basically 2*Pi $\endgroup$
    – Atirag
    Jun 18, 2013 at 18:54
  • $\begingroup$ each value of x is equally spaced on that period $\endgroup$
    – Atirag
    Jun 18, 2013 at 18:55
  • 2
    $\begingroup$ Find the $360$-point discrete Fourier transform (DFT) of $$(f(0),f(1),f(2),\ldots,f(359)) \longrightarrow (F(0),F(1),\ldots,F(359)).$$ Now set $F(1)$ and $F(359)$ to $0$. Warning: if you are using MATLAB, the bins are numbered 1 through 360 so set both bin#2 and bin #360 to $0$. Compute the $360$-point inverse Discrete Fourier transform of what is left. The result is $f(\cdot)$ with the first harmonic removed. Find the maximum value of the iDFT output to find the largest value of $f$ with the first harmonic removed. Warning: do not use zero-padding to get a "convenient" length for an FFT. $\endgroup$ Jun 19, 2013 at 3:13
  • 1
    $\begingroup$ Yes, the $F(0)$ and the $F(359)$ that you need to zero out are not explicitly available, but have values $hc[1]+j\cdot hc[359]$ and $hc[1]-j\cdot hc[359]$. So if you zero out $hc[1]$ and $hc[359]$, the inverse fftw program (as long as it is also set to interpret $hc[\cdot]$ as a half-complex array of length $360$) will get the answer you seem to want. $\endgroup$ Jun 20, 2013 at 20:47


Browse other questions tagged or ask your own question.