Hot answers tagged

17

No, taking the Fourier transform twice is equivalent to time inversion (or inversion of whatever dimension you're in). You just get $x(-t)$ times a constant which depends on the type of scaling you use for the Fourier transform. The inverse Fourier transform applied to a time domain signal just gives the spectrum with frequency inversion. Have a look at ...


16

Whilst taking the Fourier transform directly twice in a row just gives you a trivial time-inversion that would be much cheaper to implement without FT, there is useful stuff that can be done by taking a Fourier transform, applying some other operation, and then again Fourier transforming the result of that. The best-known example is the autocorrelation, ...


11

2D Fourier transform (2D DFT) is used in image processing since an image can be seen as a 2D signal. E.g. for a grayscale image $I$, $I(x,y)=z$, that means that at the coordinates $x$ and $y$ the image has intensity value z. Look at this for example: https://ch.mathworks.com/help/matlab/ref/fft2.html Try this: x=imread('cameraman.tif'); X=fft2(fft2(x)); ...


8

"Is there any practical application?" Definitely yes, at least to check code, and bound errors. "In theory, theory and practice match. In practice, they don't." So, mathematically, no, as answered by Matt. Because (as already answered), $\mathcal{F}\left(\mathcal{F}\left(x(t)\right)\right)=x(-t)$ (up to a potential scaling factor). However, it can be ...


6

To answer the second question, in digital communications there is a technique in use in cellphones right now that makes good use of applying the IFFT to a time-domain signal. OFDM applies an IFFT to a time-domain sequence of data at the transmitter, then reverses that with an FFT at the receiver. While the literature likes to use IFFT->FFT, it really makes ...


2

Incidentally, DFT is the only bijective linear transformation that exchanges convolution and termwise multiplication (up to permutation of the coefficients, obviously). This is not difficult to prove, but I have found no reference on this result before I spelled it out in Music Through Fourier Space, Thm. 1.11 (Springer 2016). It is messier in the continuous ...


2

R allows you to loop over rows or columns through the use of the apply family of functions. Note that apply is not necessarily faster than looping but more in line with the functional programming nature of R. There are other apply functions such as lapply, vapply, sapply etc but for your purposes, apply should suffice. Also, note that you may have to ...


2

The clue is that without zero-padding, the circulary shifted sequence is just a shifted version of the periodic continuation of the original sequence. That's why without zero-padding the magnitudes of the DFTs of both sequences are identical. When you use zero-padding, the two sequences cannot be obtained from each other by pure shifting. So the DFTs must ...


1

In either Overlap-add or Overlap-save, the FFT is doing the Discrete-Fourier Transform that periodically extends your input data. The DFT does only circular convolution, so you need to make this tool that does circular convolution into a tool that does linear convolution. And Overlap-add and Overlap-save are an adaptation of a circular convolver to do the ...


1

I finally got the solution. Looking into the function code by doing open ftt (matlab) we can see: % FFT(X,N) is the N-point FFT, padded with zeros if X has less % than N points and truncated if it has more. % % FFT(X,[],DIM) or FFT(X,N,DIM) applies the FFT operation across the % dimension DIM. Therefore, if X has less than n points, the vectors ...


1

Peaks are determined by energy in a given frequency range which can be more or less visible depending on the dimension of frequency bins.


1

They are little bit different in performing the $DFT$ and the adding of $CP$. her you can read more details about those differences : https://sci-hub.tw/10.1109/ICC.2009.5198846 Good luck


1

For strictly real data (imaginary components all zero), if you only look in the first half of an FFT result (N/2 result bins for an FFT of length N) you only see Fs/2 bandwidth. The second half of that FFT result is just a redundant conjugate mirror of the first half given strictly real input. But for complex input or IQ sampled input, the 2nd half of the ...


1

First of all, sampling frequency and sampling rate are synonymous. You mean sampling frequency of 44.1 kHz with a data length of 20 ms. Second of all, 20 ms of data at 44.1 kHz will give you 882 points. Not enough for a 1024-point FFT. You will either need to upsample to 51.2 kHz, that way 20 ms will give you 1024 points. Or you could append 142 zeroes to ...


1

when I read the original autotune patent few steps made me understand that everything was done in time domain (in the past, I don't know today), they didn't mention anything about overlap and add, it made me wonder if the pitch detector is so good that they didn't have to overlap and add, could they always skip or add periods in the exact position? (just out ...


1

In general your result match expectations, I don't see anything in there that's unusual or unexpected. Filter design is a complicated trade off between complexity/cost, stopband attenuation, pass band ripple, transition steepness, phase distortion, time domain ringing, non-causality, latency, etc. The best way to go about is to clearly articulate the ...


1

This information was provided by the user "Birdwes", but he didn't have enough reputation to post it himself so I will post it here for him because it does seem relevant and useful. "I do not have enough points in this forum to add a comment, so I'm doing it here: take a look at the source code for Accord.Math Hilbert Transform and you will see why this can ...


1

If you do spectral analysis is typically better to use WAY more points then 10 in the time domain Look at your y axis and make sure your graphs are properly scaled. $f=10$ aliases indeed back to $f=0$. All you see is numerical noise and your y-scale is $10^{-15}$. This would be different if you choose a a different phase, cosine instead of sine.


1

take fft of data let's say data is x = [ 3 4 5 6 6 9 7 ] take fft y = fft(x); shift so -fs/2 to fs/2 y = fftshift(x); plot mag plot(abs(y)) see link for help fft Help


Only top voted, non community-wiki answers of a minimum length are eligible