38

I think this was put very well in the well known "DSP guide" (chapter 24, section 5): Fourier analysis is used in image processing in much the same way as with one-dimensional signals. However, images do not have their information encoded in the frequency domain, making the techniques much less useful. For example, when the Fourier transform is ...


18

This phenomenon has nothing to do with spectral leakage. What you are observing is the effect of zero padding. Given a number of samples $N$, there is a maximum possible frequency resolution $\Delta f$ that can be achieved: $$\Delta f=\frac{f_s}{N} $$ In your case $\Delta f$ is exactly $2\;\mathrm{Hz}$. If you zero-pad your signal, there is no extra ...


14

An FFT has finite length, and thus constitutes a default rectangular window on a data stream. A window in the time domain results in a convolution in the frequency domain with the transform of the window. Note that the transform of a rectangular window is a Sinc function (sin(x)/x), which has infinite width. It's not just 2 bins in width. Thus the ...


13

Windowing is used because the DFT calculations operate on the infinite periodic extension of the input signal. Since many actual signals are either not periodic at all, or are sampled over an interval different from their actual period, this can produce false frequency components at the artificial 'edge' between repeated intervals, called leakage. By first ...


13

Spectral Entropy describes the complexity of a system. It is defined as follows: Calculate the spectrum $X(\omega_i)$ of your signal. Calculate the Power Spectral Density of your signal via squaring its amplitude and normalizing by the number of bins. $$P(\omega_i)=\dfrac{1}{N}\left|X(\omega_i) \right|^2 $$ Normalize the calculated PSD so that it can be ...


12

I think you are confusing two different operations. Windowing in the time domain is explained by @sam, so I won't repeat that. But windowing is not done to perform filtering. Filtering by multiplying the FFT of a signal by the filter frequency response is entirely reasonable in many situations, and is indeed done. The alternative for filtering is time-...


12

There have been several good answers to this question. However, I feel that one important point has not been made entirely clear. One part of the question was why we don't just multiply the FFT of a signal with the desired filter response. E.g., if we want to lowpass filter our signal, we could simply zero all frequency components higher than the desired cut-...


11

Mainly because its easier. The FFT is a specific algorithm to calculate the DFT. However, it only works if you calculate ALL frequencies (regardless if you want them or not). It takes in N complex values and it spits out N complex values. So the FFT can be used to evaluate the your first equation but not your second. In your example, that's a trivial ...


10

One trick, for even-length signals, is what to do with the "middle" sample. Here, I've split it half and half between each side of the FFT. The other trick is to ensure that you have the right amplitudes in the resampled signal. Here's it's a factor of 2. Try this in scilab: x = rand(1,100,'normal'); X = fft(x); XX = 2*[X(1:50) X(51)/2 zeros(1,99) X(51)/...


10

Read the original paper: Schmidt, R. O. "Multiple Emitter Location and Signal Parameter Estimation." IEEE Transactions on Antennas and Propagation. Vol. AP-34, March, 1986, pp. 276–280 You may also want to look up "Pisarenko's Method", "Prony's Method" and read about related problems such as ESPRIT (Roy, R.; Kailath, T. (1989). "Esprit - Estimation Of ...


9

Continuous wavelet transform is suitable for a scalogram because the analysis window can be sized and placed at any position. This flexibility allows for the generation of a smooth image in both the time in scale (analogous to frequency) directions. The continuous wavelet transform is a redundant transform because the analysis window can overlap. In fact ...


9

You're probably referring to the zoom FFT. It's essentially a technique that allows for complexity reduction in the case where you have a small portion of a larger band that you'd like to analyze at high spectral resolution. It prevents you from having to calculate the high-resolution frequency content in the bands that you don't care about. Roughly, the ...


9

What is meant by "spectral whitening" in DSP? Spectral whitening is usually an attempt to make the spectrum of the signal "more uniform". One reason this might be a good thing to do is that it can have the effect of making the autocorrelation of the signal "narrower" (and closer to a Dirac delta, for discrete-time signals). This can help localize in time. ...


9

The resolution in the DFT is given by: $ \frac{{F}_{s}}{N} $. Hence you need 10e6 / 100 = 100,000 samples to get the resolution you want. You may bring the signal to the baseband (demodulation) and then you'll need a lower frequency of sampling to achieve what you want. Since the effective bandwidth of the signal is (Two Sided) 50 [KHz], it can be sampled at ...


9

Personally, I value aesthetics and consistency in my documents, so I use Latex whenever I can. I use Inkscape if I'm in a hurry, though. I have found that the pgfplots package (built on top of tikz) reduces the time needed to code a plot substantially, especially once you get the hang of it. As a simple example, the following filter response: was generated ...


9

In designing such transformations, one should take into account competing interests: fidelity to the human auditory system (that varies with people), including non-linear or even chaotic aspects (tinnitus) easiness of the mathematical formulation for the analysis part possibility to discretize it or allow fast implementations existence of a suitable stable ...


8

Windowing reduces spectral leakage. Say you start out with a $\sin(y) = \cos(\omega_0 t)$. The period is obviously $2 \pi/ \omega_0$. But if nobody told you that the period is $2 \pi/ \omega$ and you blindly choose the range $[0, 1.8 \pi/\omega_0]$ and take FFT of this truncated waveform, you will observe frequency components in other frequencies ...


8

Now, I would like to show what frequencies the speech has. However, I'm not sure what would be the best way to do that. It seems sometimes one calculates the absolute value of a Fourier transform, and sometimes power spectral density. If you want to attach physical meaning to your analysis, then go with the power spectral density, (PSD). This is ...


8

Let's first have a look at the rectangular signal given as an example in your question. If you have a rectangle $s(t)$ in the time domain which is $1$ in the interval $[-T/2,T/2]$ and zero elsewhere, its Fourier transform is $S(f)=T\text{sinc}(Tf)$, where I use $\text{sinc}(x)=\sin(\pi x)/(\pi x)$. The value of its Fourier transform at $f=0$ equals $S(0)=T$, ...


8

Definitely you will have to calibrate your system. You need to know what is the relationship between dBFS (Decibel Full-Scale) and dB scale you want to measure. In case of digital microphones, you will find sensitivity given in dBFS. This corresponds to dBFS level, given 94 dB SPL (Sound Pressure Level). For example this microphone for input $94 \;\mathrm{...


8

The concept of spectral leakage is not dependent on the context, and it's the same thing for the DTFT as it is for the DFT. It's probably helpful to remember that the DFT of a finite length sequence equals a sampled version of the DTFT of the same sequence: $$\begin{align}X(\omega)&=\sum_{n=0}^{N-1}x[n]e^{-jn\omega}\qquad\text{(DTFT)}\\ \tilde{X}[k]&...


8

If you multiply a continuous-time finite energy signal $f(t)$ with an impulse train you get $$\tilde{f}(t)=\sum_{n=-\infty}^{\infty}f(nT)\delta(t-nT)\tag{1}$$ where $T$ is the sampling interval and $\delta(t)$ is the Dirac delta impulse. Note that the "signal" $\tilde{f}(t)$ is a mathematical fiction, it cannot exist in practice, and it cannot even ...


8

Parseval's theorem will hold, but take into account that your signal in the time domain will no longer be $x[n]$. Namely, if you have that $$\sum_{n=0}^{N-1} \Big| x[n] \Big|^2 = \frac{1}{N} \sum_{k=0}^{N-1} \Big| X[k] \Big|^2$$ then, if you window the signal $x[n]$ with a window $w[n]$, your signal will now be $\hat{x}[n]=x[n]w[n]$, and the theorem will ...


8

Creating the Frequency Vector The arrangement of the output of fft() depends on whether you use an odd or even number of points for your fft. I think this post nicely summarises how the frequencies are arranged. Have a look at it. Since you are using an even number of points, the Nyquist frequency, $F_N = F_s/2$, is present in the output of your fft, and is ...


7

This can be easily done in R or Python. There are well-tested functions available, so you don't have to worry about any boundaries or nuances. Moreover, both are free and popular among scientists. Solution for R There is a special package to handle spectral data, called hyperSpec. The rubberband baseline correction is already implemented there (function ...


7

The two frequencies you are referring to are the spatial frequency and temporal frequency of the wave, and you are correct in your reasoning on converting one to the other. The spatial frequency refers to how many complete periods the signal goes through for a given unit of distance (eg. cylcles/m) while the temporal frequency refers to how many complete ...


7

If your signal is real-valued, then it's spectrum is conjugate symmetric. That means, that negative frequencies (or frequencies from $\frac{f_s}{2}$ up to $f_s$) are mirrored. Thus we can always neglect frequencies above Nyquist range. Although, if your signal is complex valued, then such symmetry won't exist, and frequencies above $\frac{f_s}{2}$ contain ...


7

There is no difference between DC component and zero frequency component. They are two different names for the same thing. Your mistake is in thinking that sinc(t) does not have a non-zero mean. sinc(t) does have a non-zero mean.


7

As the documentation states, periodogram provides a power spectral density estimate pxx: [pxx, w] = periodogram(x); meaning that it shows how the total variance of the signal, var(x), is distributed over the frequency w. This implies that the integral of the estimated spectral density over the frequency axis trapz(w, pxx) should correspond to that total ...


7

You don't have a loss in time precision when using FFTs because the FFT is fast. The FFT is just a fast algorithm for implementing the discrete Fourier transform (DFT), nothing more. Instead, there is an inherent tradeoff in time and frequency resolution due to the Heisenberg uncertainty principle. While its statement is explicitly focused at quantum ...


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