Trouble understanding fft norm axis sampling frequency etc

Click For Summary
SUMMARY

This discussion centers on understanding the Fast Fourier Transform (FFT) using NumPy, particularly in relation to normalized frequency axes and sampling frequency. Eric Hardin seeks clarity on how to interpret the frequency output from FFT without knowing the sampling frequency, referred to as the "magicNumber." The conversation highlights the importance of practical examples, such as using sinusoidal functions, to grasp the relationship between normalized frequency and actual frequency values. The consensus suggests that hands-on experimentation with known signals can aid in understanding FFT outputs.

PREREQUISITES
  • Understanding of Fast Fourier Transform (FFT)
  • Familiarity with NumPy library in Python
  • Basic knowledge of sinusoidal functions and their properties
  • Concept of sampling frequency in signal processing
NEXT STEPS
  • Experiment with NumPy's FFT function on various sinusoidal signals
  • Learn how to calculate the actual frequency from normalized frequency using sampling frequency
  • Explore the impact of different sampling frequencies on FFT results
  • Study the relationship between time-domain signals and their frequency-domain representations
USEFUL FOR

Electrical engineers, data scientists, and anyone interested in signal processing and frequency analysis using FFT in Python.

eric hardin
Messages
6
Reaction score
0
Hello,
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. 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 you EE guys would be the best to ask... please be gentle.
I'm using numpy, I think it's a lot like matlab, please forgive if it's not.
My question deals with reading the normalized frequency axis. I think I understand that you can directly read the frequency and that the frequency is in units of samples per cycle. But I feel like I'm missing something to pull out the real frequency if I don't know the sampling frequency.
So, of course, I started out with simple examples (a week ago) like the sinusoid according to some tutorials:
n=arange(0,30,1)
magicNumber = 10
x=cos(2*pi*n/magicNumber)
N1=2**8
X1 = abs(fft(x,N1))
F1 = linspace(0,N1-1,N1)/N1
pylab.plot(F1,X1)
And I see a spike at 0.1 and 0.9 corresponding to the frequencies 1 and -1. But what I don't understand is how to pull out that frequency if you don't know what I called the magicNumber, which is the sampling frequency, correct? Also what if the signal looks like,
x=cos(2*pi*n/2)+cos(2*pi*n/10).
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 information is required.
My eternal gratitude,
Eric Hardin
 
Engineering news on Phys.org
I saw that some people had a look at this thread. Nobody's responding though. Is it because it's a stupid question or because nobody understands what I'm trying to get at? If you see this and you don't know the answer or what I'm talking about, could you just write something like why you don't know. It might help me get to the answer.
Thanks
 
eric hardin said:
I saw that some people had a look at this thread. Nobody's responding though. Is it because it's a stupid question or because nobody understands what I'm trying to get at? If you see this and you don't know the answer or what I'm talking about, could you just write something like why you don't know. It might help me get to the answer.
Thanks

Hahaha, I think it's a mixture of both. Usually when you think too much about a (relatively) well known concept, the solution is to simply work out an example and try to understand what's going on. In matlab, for example, plot a sine wave which you know the properties of. You can take the fft of it, play around with the graph and try to evaluate every value you see; it's there for a reason.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
13
Views
11K
Replies
6
Views
4K
  • · Replies 3 ·
Replies
3
Views
7K
Replies
1
Views
3K
Replies
17
Views
6K
  • · Replies 4 ·
Replies
4
Views
3K