# Tag Info

Accepted

### How to get scipy remez to give matlab firpm answer?

The firpm and remez commands return symmetric linear phase filter solutions. In order to create a symmetric linear phase high pass filter, you must have an odd number of taps (Type 1 filter, see chart ...
• 38.4k
Accepted

### Convert RGB Image to Grayscale and Display It (Python + Matplotlib)

You need to set the cmap properties of the imshow() function: https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot....
• 42.4k
Accepted

### Are IIR filters (and specifically Butterworth filter) causal?

Yes, Butterworth are IIR. The decay from an impulse technically lasts forever. Yes, all [implementable] IIR are causal. Yes, because of #1 and #2. Don't use ...
• 15.1k
Accepted

### Why is Scipy implementation of Hilbert() function different from Matlab implementation of the function?

It works fine for me: ...
• 15.1k
Accepted

### Designing digital low pass filter with low pass-band group delay

Minimum phase filters will not give you a near constant group delay. You can design a non-linear phase FIR filter with a linear desired passband phase with a specified group delay that is smaller than ...
• 80.9k
Accepted

### Calculating values of frequency bins in Python

This is simply how Discrete Fourier Transform (i.e. Fourier Transform theory applied on sampled signal) works. You get an output of length N if your input has ...
• 191
Accepted

You can, but... you'll need to keep symmetry if your original time-domain signal is real-valued. If a signal $x$ is real-valued, then its DFT $X$ will exhibit complex-conjugate symmetry: $$X[k] = X^*... • 23.1k 5 votes Accepted ### How to Apply Gaussian Filter to Raw Audio Files in Python? Do it using the following steps: Look for the optimal frequency for the Low Pass Filter. Usually close as possible to the bandwidth of your desired signal. Design an LPF filter according to the ... • 42.4k 5 votes Accepted ### Scipy resample, "fourier method" explanation Suppose you have initially a real-valued sequence x of length N. The function is basically doing this: To upsample, it ... • 4,890 4 votes ### Issue with the time vector returned by \tt signal.spectrogram function The default parameters of signal.spectrogram are: nperseg = 256 noverlap = nperseg/8 = 32 This means that: The length of ... • 10.7k 4 votes ### Butterworth band pass filter You need to specify your filter design specifications parameters consistently for either an analog or a digital filter. With your posted code, the butterord ... • 1,752 4 votes ### Welch spectrogram Reading the documentation for scipy.signal.spectrogram I noticed that it does not do any kind of periodogram averaging. It simply splits up the signal into (... • 4,034 4 votes ### Do DCT results contain phase spectrum? A DCT is equivalent to a DFT of real data that is doubled and mirrored, thus rendering it symmetric. The DFT of any symmetric real signal has a phase of zero (its all cosines, no antisymmetric sine ... • 34.1k 4 votes ### Do DCT results contain phase spectrum? Not really, as the transform is real. However, one could interpret the sign as a poor man's phase, being "quantized" or restricted to values 0 or \pi. In other words, 1 = 1.e^{0.\imath} and -1 =... • 30.5k 4 votes ### Decreasing Sample Rate in DFT (FFT) for Audio Analysis There are 2 different things here that we are mixing: Bin Width As you mentioned, the bin width is a function of the ratio between the sampling rate and the number of samples. If you increase the ... • 42.4k 4 votes ### Checking Parseval's Theorem for Gaussian Signal by Using Scipy There is a simple idea behind Parseval's Theorem. Unitary transform preserves the  {L}_{2}  Norm. The Fourier Transform (All its variants) are indeed Unitary when the correct factor is in place. ... • 42.4k 4 votes ### Delay in Savitzky-Golay filtering Standard Savitzky-Golay filters are linear phase (type I) FIR filters. So they have an odd number of filter coefficients 2N+1, and the delay equals N. For a good overview of Savitzky-Golay ... • 80.9k 4 votes ### Python Hilbert does not seem to calculate the envelope Hm well, technically it is some kind of envelope: it oscillates between hilbert(x) and -hilbert(x). Your examples (dashed lines ... • 2,303 4 votes ### What Are The Semantics Of Wav-File Sample Values? I don't know much about this semantics? of WAV files but their numerical format is the following. (assuming mono) Given a recording with 8-bit per sample precision, then those samples are unsigned ... • 27.1k 4 votes Accepted ### Apply FFT to positive spiky signal When calculating the frequency correctly as the inverse of the period, instead of the inverse of the period times 2 pi, the fft does indeed give the expected answer. • 143 4 votes Accepted ### Invertible low-pass (Butterworth) filter in python (scipy)? Is there an invertible low-pass filter No is there something particularly difficult about inverting a low-pass filter? Yes. Digital low pass filters (in the most common sense) have a zero at ... • 34k 4 votes Accepted ### IIR design: SciPy CMSIS-DSP coefficient format scipy.signal returns a sos matrix when you set output='sos', which is cascaded second-order sections and has a shape of ... • 2,638 4 votes ### How does SciPy's Welch function change the shape of the data? Assuming that "6041" is a typo and it's actually "6401" that would be expected behavior. The result of welch() is a frequency domain vector the ... • 34k 4 votes Accepted ### Constraints on number of taps in a FIR filter vs. FFT length I think you got it backwards: the number of taps is determined by your filter requirements (cutoff frequency, steepness, attenuation, etc). The FFT length is then derived from the filter length, not ... • 34k 3 votes Accepted ### Python different autocorrelation with FFT and non-FFT By converting to np.int16, you're hitting integer overflow and wrapping the values around. I assume this is not intentional, since the output looks much more sane ... • 15.1k 3 votes ### Why is Scipy implementation of Hilbert() function different from Matlab implementation of the function? You have to detrend the signal. If you have a DC component the behauviour changes completely. ... • 41 3 votes ### Morphing between two FFTs maybe you can do it from bottom to top or top to bottom using something like the following. a notation about notation: x[n] is the input sample for the n-th sample. this originally comes from ... 3 votes Accepted ### How to filter out those outliers Have you tried just median filtering the data ? That's what I'd try as a first step. Winsorizing really doesn't work on a data set that has a changing mean. It looks like python has ... • 23.1k 3 votes Accepted ### Write a 440 Hz Sine Wave to .wav-File using Python and SciPy After some experimenting i came up with the following: ... • 171 3 votes Accepted ### How to calculate the PSD from the complex calculated STFT? In general, if you have complex spectrum and need PSD in dB the mathematical equation is$$P_{xx} = 20\cdot\log_{10}|X_{x}|, where $P_{xx}$ is your PSD in dB and $X_{x}$ is your complex STFT ...

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