jojek
Moderator
  • Member for 7 years, 10 months
  • Last seen this week
removal of blackman harris window results in signal higher than expected
Accepted answer
6 votes

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

View answer
Why Butterworth filter always starts my signal from from zero mark (amplitude)?
Accepted answer
6 votes

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

View answer
Audio Signal Processing & DHT
Accepted answer
6 votes

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

View answer
Any good C# library for signal processing?
Accepted answer
6 votes

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

View answer
Am i performing Sinesweep correctly?
Accepted answer
6 votes

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

View answer
What is the best method for measuring of room reverberation time?
Accepted answer
6 votes

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

View answer
Negative values of the FFT
Accepted answer
6 votes

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

View answer
Mel filter in MFCC - is it necessary?
6 votes

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

View answer
Sinusoid with increasing frequency
Accepted answer
6 votes

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

View answer
Non Uniform FFT / DFT with FFTW?
6 votes

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

View answer
Feature extraction from spectrum to aid categorisation
6 votes

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

View answer
STFT amplitude normalization, librosa library
Accepted answer
5 votes

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

View answer
Time domain distortion vs Harmonics
Accepted answer
5 votes

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

View answer
Calculating the inverse filter for the (exponential) sine sweep Method
Accepted answer
5 votes

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

View answer
MFCC - Significance of number of features
Accepted answer
5 votes

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

View answer
Normalization of a signal in MATLAB
Accepted answer
5 votes

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

View answer
Complex normal Gaussian noise
Accepted answer
5 votes

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

View answer
K-means for 2D point clustering in python
Accepted answer
5 votes

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

View answer
Advantages/disadvantage of zero padding
5 votes

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

View answer
What are the audio equivalents of images like "Lena", "Mandrill", and "Cameraman"?
5 votes

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

View answer
Processing Accelerometer Vibration Data With FFT
5 votes

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

View answer
Why does FFT generate a jaggedy signal
Accepted answer
5 votes

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

View answer
Slepian or DPSS window
Accepted answer
5 votes

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

View answer
Is it theoretically possible to perfectly quantize a continuous signal?
Accepted answer
5 votes

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

View answer
How do I generate sound using MATLAB?
Accepted answer
5 votes

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

View answer
Shelving and Peak filters name
Accepted answer
5 votes

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:

View answer
periodicity coefficient
Accepted answer
4 votes

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

View answer
Two voice pronunciation comparison similarity MFCC + DTW
4 votes

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

View answer
Issue with the time vector returned by $\tt signal.spectrogram$ function
4 votes

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

View answer
What will be the code for this following signal in MATLAB?
Accepted answer
4 votes

Well, so far using your code, you are getting the following: clc; clear all; close all; t = 0:.1:10; f=.5; y=.2*sin(2*pi*f*t); plot(t,abs(y)); axis([0 10 -2 2]); grid on; So now, the only missing ...

View answer
1
2
3 4 5
8