1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fft and normalized vs real frequency question

  1. Jul 10, 2009 #1
    I have a question regarding fft's. My experience with working with fourier transforms is pretty much limited to transforming contrived functions pen and paper style, not dft's. But now I need something and I think the fft is the appropriate tool, but I'm having a hard time understanding some aspects of it. I figured I could get some help here... please be gentle.
    I'm using numpy, I think it's a lot like matlab, so you should be able to read it if you know matlab.
    My question deals with reading the normalized frequency axis. I think I understand that I can directly read the frequency from a plot but in units of cycles per sample. But I feel like I'm missing something that I need to pull out the real frequency if I don't know the sampling frequency.
    So, of course, I started out with simple examples like a sinusoid according to some tutorials:
    fs = 10
    X1 = abs(fft(x,N1))
    F1 = linspace(0,N1-1,N1)/N1
    And I see a spike at 0.1 and 0.9 corresponding to the frequencies 1 and -1 in units of 1/fs. But what I don't understand is how to pull out that frequency if I don't know fs, which is the sampling frequency, correct? For example, how would you find the frequency if I gave you x without telling you how I generated the data?
    Also, what if the signal looks like,
    Those are different sampling frequencies, so to which does the normalized frequency axis correspond.
    Sorry if this is an elementary question, but I feel like I've looked around enough to warrant asking people.
    As always, because I don't understand the material, I probably gave the wrong details. Please let me know if more information is needed.
    My eternal gratitude,
    Eric Hardin
  2. jcsd
  3. Jul 10, 2009 #2
    [tex]cos(t)[/tex] and [tex]cos(2t)[/tex] is literally the same function if I scale the time without telling you that I did so. Hence if you don't know the sampling frequency then the time information is lost. You have an information relative to your sampling freq. Hence the normalized means missing the sampling freq. The real freq axis is the T multiple of your normalized axis
  4. Jul 10, 2009 #3
    Thanks for the reply, please bear with me I'm going to ask some follow-up questions.
    Ok so, I feared that that would be the answer, i.e., you don't know. So, in real life, how do you know the sampling frequency? Does it come from just being familiar with your signal? I thought that the fft was used to pull out embedded frequencies or periodicity, but it sounds like if I had a signal, for example x in my original question, I wouldn't be able to do that. Also, if all the better I can do is to get the normalized frequency, how do people use that or how is it useful? thanks again for you reply. I really appreciate the conversation.
  5. Jul 11, 2009 #4
    Thanks again for responding. I talked to a friend of mine who answered my questions.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook