New answers tagged

1

Indeed there are two things you have to know. First, it can be shown that the continuous-time Fourier transform can be obtained from the continuous-time Fourier series by letting the period $T$ go to infinity. Second, formally speaking the Fourier transform integral for periodic signals do not converge, hence do not exist. The solution is a generalisation ...


0

This is typically done using a segmented overlap add method or sometimes also refered to as a block convolver. Let's assume your block size if 512 (makes the numbers a little easier). Chop up your impulse response into 32 blocks of 512 samples each. Zero pad each block to 1024 samples and FFT. You know have 32 filters $H_0(z) ... H_{31}(z)$ On each new ...


0

Because they made a mistake. The very first equation on the right-hand side is wrong. It should be $$\textrm{DTFT}\big\{x[2n+1]\big\}=\sum_{n=-\infty}^{\infty}x[2n+1]e^{-jn\omega}=\sum_{n\textrm{ odd}}x[n]e^{-j(n-1)\omega/2}\tag{1}$$ Using the trick they suggested, $(1)$ can be written as $$\textrm{DTFT}\big\{x[2n+1]\big\}=\frac{e^{j\omega /2}}{2}\left[\...


1

The IDTFT of $X(e^{j\omega})=1$ is indeed $$x[n]=\frac{\sin(n\pi)}{n\pi}\tag{1}$$ Now, what happens for indices $n\neq 0$? As it turns out, you can safely rewrite $(1)$ as $$x[n]=\delta[n]\tag{2}$$ where $\delta[n]$ is the discrete-time unit impulse. (HINT: think about where the zeros of $\sin(x)$ are).


0

According to the documentation, the coherence between two signals $x(t)$ and $y(t)$ is defined as $C_{xy}(w) = \frac{|P_{xy}(w)|^2}{P_x(w) P_y(w)}$, where $P_x(w)$ and $P_y(w)$ are power spectral density estimates of $x$ and $y$ and $P_{xy}(w)$ is an estimate of the cross-spectral density. In your first experiment, you put in two identical signals $x(t) = ...


0

For the sake of simplicity, I'll explain the 1-D case; the 2-D case is completely analogous. Let $x[n]$ be a finite length sequence with $n\in[0,N-1]$. Its discrete Fourier transform (DFT) is $$X[k]=\sum_{n=0}^{N-1}x[n]e^{-j\frac{2\pi}{N} kn}\tag{1}$$ The sequence $x[n]$ can be obtained from $X[k]$ via the inverse DFT (IDFT): $$x[n]=\frac{1}{N}\sum_{k=0}^{...


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

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

Note that in general the Fourier transform of a function is a complex-valued function, so in general it is not only positive or negative. Roughly speaking, the magnitude of the Fourier transform says something about the presence of certain frequencies components in a signal, regardless of the phase (or sign, in the real-valued case). The phase determines ...


2

Since an FFT is a linear operator, adding up the complex results of a sequence of FFTs of short windows is the same as doing a single short FFT on the the vector addition of all those short windows. Note that for signals that are exactly integer periodic in the FFT width (sequential 0% overlapped windows), the vector addition will constructively interfere. ...


1

You can average complex cross spectra or cross correlation like Welch. For something like coherence, you do both, complex averages and power averages. It can tell you a lot about a system as opposed to a single signal.


0

is there any merit to using something like this? I don't think so. Unless your signal is somehow phase locked with your analysis window, the individual complex Fourier coefficients will just cancel each other simply because of phase variations.


6

There can't be. One man's signal is another man's noise. In fact, a communication system making the absolute most of a bandwidth would be spectrally white, just like white noise, and hence be indistinguishable from noise to anyone but the receiver for that specific system.


0

Thinking in terms of convolution with shifted impulses help. Multiplication in the time domain corresponds to convolution in the frequency domain. Your example is a classic showcase of frequency/band shifting using a "carrier" such as a cosine (or sine) or a complex exponential. Now, note, that the Fourier transform of these carriers are actually shifted ...


0

The amplitude you “see” in a spectrum is the result of a narrow band filter, a bin of a DFT, or a pixel at some finite DPI. All of those cover some non-zero bandwidth. So what you see does not have infinitesimal bandwidth (or less).


1

You can see the non-zero magnitude of the spectrum, but the interpretation that the signal contains a sinusoidal component at a specific frequency where the magnitude is non-zero is wrong. If there is a sinusoidal component present, then there is a Dirac impulse at the respective frequency. A non-zero Fourier transform at a certain frequency is not ...


1

Let me summarize my understanding of what you're trying to do. You have a real-valued sequence $x[n]$, obtained by sampling a real-valued continuous function, and you computed its DFT $X[k]$. The sequence can be expressed in terms of its DFT coefficients: $$x[n]=\frac{1}{N}\sum_{k=0}^{N-1}X[k]e^{j2\pi nk/N},\qquad n\in[0,N-1]\tag{1}$$ where $N$ is the ...


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 ...


0

I have looked at your image (and didn't read the post) and its explanation is as follows. Let the data in the blue curve be $x[n]$, and the data in the red curve be $y[n]$; then it can be seen and shown that: $$y[n] = \tfrac12 ( x[n] + (-1)^n x[n] ) $$ In the DTFT domain this relationship becomes : $$ Y(e^{j\omega}) = \tfrac12 \big( X(e^{j\omega}) + X(...


0

I'm going to attempt to answer my own question based on some of the comments and my own further investigation Is this a valid procedure? It's not invalid, but it does not necessarily achieve the outcome I am looking for. Welch is used to improve the SNR in a DFT by averaging shorter length DFT's. The more shorter DFT's you use the better the outcome, but ...


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 ...


2

First of all, in order to have a Fourier transform, the original signal has to be multiplied by the unit step function: $$x(t)=e^{-t}u(t)$$ Giving indeed the transform: $$X(\omega)=\frac{1}{j\omega+1}$$ The way to plot a complex function on the frequency domain is by finding both its amplitude and its phase, and drawing one graph for each. For the ...


0

Although perhaps not state-of-the-art, FFT based phase vocoder algorithms have been used for time-pitch modification (with formant shift artifacts). And time-pitch modification can be used to auto-tune.


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

You can use the 2D DFT formula $$H(\omega_1,\omega_2) = \sum_{n_1} \sum_{n_2} h[n_1,n_2] e^{-j(\omega_1 n_1 + \omega_2 n_2)} $$ and simply the trigonometric algebra to get a closed form analytic expression for the 2D-DTFT. However, as @LaurentDuval has already mentioned, your 3x3 kernel is separable and one set of 1D filters is this $$f[n_1] = [\frac{1}{...


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 ...


1

I think that you are splitting your signal $x[n]$ into $N$ STFT intervals which you are overlapping by 50%, then on each interval finding the Power Spectral Density (PSD) with Welch's Method. If this is correct I think this method is valid, but I think you might be confused by the 'overlapping' because there are two at play here. When you use Welch's ...


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, ...


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 ...


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 ...


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)); ...


Top 50 recent answers are included