What are low frequencies in an image while they don't exist in reality?
Show older comments
I'm really frustrated by these frequency components and their assignments. I have images(3D profiles) which are height profiles of surfaces. I use fft2 to get the power spectral density of my images and the goal in to observe what wavelengths are available in them.
Now, I assign qx and qy values to the 2D FFT which both are in the range of 0-Nyquist frequency which we all know. After this, I apply a lower limit on my frequencies, i.e. frequencies that are smaller than the smallest possible available frequency are removed which is of order 1/L where L is the size of my image in each direction. Because how can I have a wavelength available which is higher than my image size??? [worth mentioning that mean value of my image is set to zero before any calculation applied]
If this is true, then what does this Parseval's theorem say? The root mean square of my surface height profile is equal to the area under my 2D FFT when no frequency components are removed. Why? Should I remove those frequencies which does not exist in real world? Or do they mean something? What I expected was root mean square is equal to the area under FFT after I remove those unreal frequencies.
Answers (1)
Walter Roberson
on 15 Nov 2013
0 votes
Frequency 0 corresponds to mean() of the data; in this case the average height.
4 Comments
Image Analyst
on 16 Nov 2013
Mona's "Answer" moved here since it is not an Answer but actually a comment to Walter:
Thanks Walter. But, maybe it's better I restate the main point of my question with a 1D example. If I have 280 points signal with a spatial pixel width of 60micrometere (length of signal in meter(L) = 280*60*10e-6), then the frequency components will be 0, 59.5(=1/L),...
So, as you said, the first component is 0, which is the DC component and then is 1/L which is the smallest available frequency corresponding to the length of signal and sure it's acceptable. But if I zero pad the signal to for instance 1024 (L = 1024*60*10e-6) , then frequency components will be 0, 16.3, 32.6,48.8, 65.1, ...
So, in this case, only from the fifth component(65.1 > 59.5), the frequencies are available in reality in the signal. The question is should I remove those components below the limit?
In my own case, these small frequencies correspond to the biggest stones available in my image. The question is how can I say I have a stone in my image bigger than the size of my image??
Walter Roberson
on 16 Nov 2013
zero padding mathematically adds a convolution to the data. You have to deconvolve the result for it to make sense physically.
Chris Turnes
on 3 Aug 2017
You can also think of zero-padding as interpolating the non-padded FFT values. For simplicity, consider a 1-D signal of length N and zero padding it with N entries (at the end):
>> y1 = fft(x, N);
>> y2 = fft(x, 2*N);
Then you'll see y1 and y2(1:2:end) take on the same values (up to roundoff), while y2(2:2:end) is the same (up to roundoff) as fft(exp(-1j*pi/N.*(0:(N-1))').*x).
So the "extra frequencies" you have are just interpolated from the FFT values at the frequencies you get without zero padding.
It's a bit strange to think of what frequencies are "available in reality." The samples you have, taken at the interval you took them at, define the discrete spectrum you can get. Any way you manipulate the FFT through padding is just taking that discrete spectrum and interpolating it onto a new set of grid points, but the fundamental information doesn't change.
Walter Roberson
on 3 Aug 2017
Remember that fft() assumes that the signal is periodic. It is calculating sine / cosine waves of indefinite length, not calculating the combination of square pulses needed to replicate the signal with "just as many repetitions as needed".
Categories
Find more on Fourier Analysis and Filtering in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!