FFT interpretation of time vector (simple)

  • MATLAB
  • Thread starter joshmccraney
  • Start date
  • #1
joshmccraney
Gold Member
2,253
143
I have video data that shows an object moving up and down. I'd like to extract the frequency the object moves. Following the given example here (scroll down to "Examples"), am I correct in assuming Fs would be camera frame rate and L would be the total number of frames?

Thanks so much!
 

Answers and Replies

  • #2
.Scott
Science Advisor
Homework Helper
3,167
1,348
Video data is three-dimensional: horizontal, vertical, and time.
None of the examples deal with images - let alone video data.

It is certainly possible to do a 3-d FFT, but I doubt that is your intent.
Tell us more about this video and exactly what you want to extract from it. Is it a pendulum swinging back and forth and you want the frequency?

This sounds like a situation where an FFT could be used - but it probably isn't the best method.
If you do use an FFT, you would probably want to take a slice of the image across those frames so that you ware dealing with width and time. The slice would be selected as containing the periodic motion. Then an FFT would highlight periodic motion (with frequency spikes) along the frequency (time) axis.
 
  • #3
joshmccraney
Gold Member
2,253
143
Video data is three-dimensional: horizontal, vertical, and time.
None of the examples deal with images - let alone video data.

It is certainly possible to do a 3-d FFT, but I doubt that is your intent.
Tell us more about this video and exactly what you want to extract from it. Is it a pendulum swinging back and forth and you want the frequency?

This sounds like a situation where an FFT could be used - but it probably isn't the best method.
If you do use an FFT, you would probably want to take a slice of the image across those frames so that you ware dealing with width and time. The slice would be selected as containing the periodic motion. Then an FFT would highlight periodic motion (with frequency spikes) along the frequency (time) axis.
I appreciate the response. The image only moves up and down, and I’m only tracking one pixel. Then I have the vertical position y as a function of time t, y(t). Each frame the pixel changes location, always up and down. I track the position. I extract the frequency using the MATLAB example shown above. I don’t think I need to use another technique, I’m just wanting to confirm L and Fs are as I describe. Would you input Fs as frame rate and L and total frame number?
 
  • #4
.Scott
Science Advisor
Homework Helper
3,167
1,348
I appreciate the response. The image only moves up and down, and I’m only tracking one pixel. Then I have the vertical position y as a function of time t, y(t). Each frame the pixel changes location, always up and down. I track the position. I extract the frequency using the MATLAB example shown above. I don’t think I need to use another technique, I’m just wanting to confirm L and Fs are as I describe. Would you input Fs as frame rate and L and total frame number?
Yes.

As I understand it, you are tracking the vertical position of a one-pixel-size feature.
For simplicity, I will assume you are not dealing with an interlaced image.

So your samples are vertical positions - likely image line numbers. And your sampling rate will be your video frame rate.

Let's assume that the frame rate is 30 frames per second and the length of the video is 1 minute.
From your link:
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1500; % Length of signal
t = (0:L-1)*T; % Time vector
L would be better described as the "sample count".

So for you, Fs=30 and L=1800.
 

Suggested for: FFT interpretation of time vector (simple)

Replies
1
Views
468
Replies
13
Views
838
Replies
2
Views
753
Replies
0
Views
723
Replies
0
Views
447
Replies
0
Views
413
  • Last Post
Replies
0
Views
1K
Replies
0
Views
420
  • Last Post
Replies
3
Views
2K
Replies
8
Views
924
Top