jojek
Moderator
• Member for 7 years, 10 months
• Last seen this week
• United Kingdom

The reason for that is that you don't normalize the DFT samples properly. Dividing by number of samples in time domain is valid only for Rectangular Window. For simple case of DFT, you should divide ...

Filters do have a delay (a lag) since they do not act immediately on your signal. Also all samples before the time 0 are zeros, thus in general you will start from the "zero mark", as you said (just ...

There is no in-build MATLAB function for DHT, but you can implement it very easily using the fft function: function H=dht(x) X = fft(x); H = real(X) - imag(X); end

I can recommend these libraries: BASS - also has lot's of functions. Although it is not written for C#, they provide you with a wrapper (Bass.Net). Keep in mind that if you want to use this library ...

The theory behind sweep-sine measurements of LTI systems requires a signal with constantly changing the frequency. You cannot simply playback few tones - the whole frequency range is necessary. So ...

Well, there is plenty of ways for approaching this problem. Which one is best depends on room itself, your resources and pursued accuracy. I think that best way to start is to look into ISO 3382-2:...

The rfft function returns complex values ordered in specific way. In order to retrieve the amplitude of your DFT you must take the absolute value of it. Easiest way to do that is to call y_a = np.abs(...

Mel filter bank is important due to following reasons: It applies the Mel-frequency scaling, which is perceptual scale that helps to simulate the way human ear works. It corresponds to better ...

Frequency is more likely decreasing (period is getting longer). This is a sweep sine signal or as some people used to call it - chirp tone. No point in rewriting the literature, so here are some links ...

The answer is Non-uniform discrete Fourier transform I suggest you to take a look in here: NFFT library. Tutorial for that purpose: NFFT 3.0 Tutorial. You can also find a Python wrapper: pyNFFT. ...

First thing to mention is that you must have some kind of Machine Learning algorithm to perform your recognition. You might want to use the following - what's yours? Neural Networks (easy to ...

I did answer a similar question a few years back, but can't find it. Basically, you are losing the energy because of the windowing. It's true to say that you should multiply the spectra by 2 in order ...

I think this is simply a property of your signal and you indeed have two significant frequency components. I don't really know the nature of your signal, but for me, it makes perfect sense, you can ...

Assuming that your Exponential Sweep Sine was generated using the formula: $$x(t)=\sin\left(\frac{2\pi f_1 T}{R}\left(e^{\frac{t R}{T}} -1\right) \right)$$ where: $f_1, f_2$ - Initial and final ...

Number of filter banks One of the last steps in the MFCC's calculation is measuring the energy in the filter banks. We do that because want to reduce the dimensionality of our input vector (amplitude ...

Assuming that $N$ is the length of your signal $s$, the normalized signal $s_n$ is given by: $$s_n = \dfrac{s}{\sqrt{\dfrac{\sum_{i=1}^{N}\left|s_i^2\right|}{N}}}$$ The denominator is nothing else ...

You should use the the standard formula: s = randn(m, n) + 1i*randn(m, n); And as pointed out by MBaz, the output should be scaled accordingly by $\frac{1}{\sqrt{2}}$ s = s/sqrt(2); More on that ...

It can be done very easily with the scikit-learn. Examples are easy to find on their website, i.e. here. In my opinion it is the best way to go. Modified code example from the above link: import ...

Advantages of zero padding: If length of your sequence doesn't correspond to the size that can be handled efficiently with FFT routine (usually powers of prime numbers) then you might want to add ...

I also think that NIST database is very popular when it comes to speech recognition tasks. In fact it is a standard for comparison of new algorithms and techniques during yearly challenges. ...

After taking a closer look at your results, here is what I think. Because you are playing back sinusoid through your speaker you are also observing it's properties. It has some significant harmonic ...

What you are seeing is a peak from sinusoid convolved with a spectrum of rectangular window sinc function. That is due to property: $$x(t)\star w(t) = X(f)\cdot W(f)$$ Where your signal $x(t)$ is a ...

If you follow the reference link no. 43 from Wikipedia, then you will end up on this website of Stanford University. They are providing all necessary theory behind DPSS window, together with this ...

Depends on assumptions you are willing to make and what type of signals are you trying to sample, but in theory I think that sampling rate equal to the Planck time would be a gold standard for ...

Something like that should do. Please keep in mind that this code can be further improved by windowing your signal, using decibel scale for spectrum, taking only first half of a spectrum, etc. This is ...

This is probably the craziest, though important question on DSP SE ;) Answer is, because they: look like peak: and tend to have a shelf either in the beginning or the end of frequency range:

I suggest using Spectral Flatness, aka Wiener Entropy. It is defined as a ratio of geometric and arithmetic mean of the magnitude spectra $X(k)$: \Xi=\dfrac{\sqrt[K]{\prod_{k=0}^{K} X(k)}}{\frac{1}{...

I will answer your questions in reverse order. 4: DTW (Dynamic Time Warping) is not a library but an algorithm. It allows aligning two sequences by warping them in time. You can use it for pretty ...

The default parameters of signal.spectrogram are: nperseg = 256 noverlap = nperseg/8 = 32 This means that: The length of analysis window is $256$ samples ($256/250 = 1.024$ second) The overlap ...