FFT interpretation of time vector (simple)

Click For Summary
SUMMARY

The discussion centers on extracting the frequency of vertical motion from video data using Fast Fourier Transform (FFT) techniques. The user seeks clarification on the definitions of Fs (sampling frequency) and L (length of the signal) in the context of MATLAB. It is confirmed that Fs should be set to the camera frame rate, which is typically 30 frames per second, and L should represent the total number of frames, calculated as 1800 for a one-minute video. The conversation emphasizes the importance of selecting the correct parameters for accurate frequency extraction.

PREREQUISITES
  • Understanding of Fast Fourier Transform (FFT) principles
  • Familiarity with MATLAB programming and syntax
  • Knowledge of video frame rates and sampling concepts
  • Basic comprehension of signal processing techniques
NEXT STEPS
  • Explore MATLAB's FFT function for signal analysis
  • Learn about video processing techniques in MATLAB
  • Study the impact of sampling frequency on FFT results
  • Investigate alternative methods for frequency extraction in video data
USEFUL FOR

This discussion is beneficial for video analysts, signal processing engineers, and MATLAB users interested in frequency analysis of motion in video data.

member 428835
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!
 
Physics news on Phys.org
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.
 
.Scott said:
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?
 
joshmccraney said:
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.
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 3 ·
Replies
3
Views
8K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
19K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
6K
  • · Replies 1 ·
Replies
1
Views
10K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K