Questions tagged [scipy]
The scipy tag has no usage guidance.
194
questions
11
votes
5
answers
24k
views
Why is Scipy implementation of Hilbert() function different from Matlab implementation of the function?
I am trying to fit Hilbert envelop to a high frequency ultrasonic signal of frequency 250 KHZ and sampling rate 12000000. Raw signal looks like below: .
I used hilbert() function from scipy.signal ...
8
votes
1
answer
5k
views
Scipy resample, "fourier method" explanation
I am seeking explanation of what "Fourier method" is that is described for resampling in documentation of resample() method. I want to downsample an array. I know what decimation is and how it works, ...
7
votes
3
answers
39k
views
Calculating values of frequency bins in Python
I have to use FFT to determine the period of waves inside a signal. After applying FFT on a window of 10000 point from a signal, I get something like this:
What I don't understand is that FFT is ...
7
votes
3
answers
1k
views
Decreasing Sample Rate in DFT (FFT) for Audio Analysis
I'm working with audio data analysis through FFT algorithm.
My example audio is a sine wave at 440 Hz and 44100 Hz sampling rate.
FFT methods in programming, like ...
6
votes
3
answers
1k
views
Role of window length and overlap in uncertainty principle?
I am trying to predict epilepsy using spectrograms and a convolutional neural network.
So far I have achieved a validation accuracy of 86% which i feel like is pretty good. Lots of the papers doing ...
6
votes
1
answer
690
views
Morphing between two FFTs
I'm a musician and I'm making a script that takes a wave file and snaps each of its frequencies from the fourier transforms to the nearest musical harmonic. Thanks to help from another question I ...
6
votes
2
answers
7k
views
Python butter filter: choosing between analog and digital filter types
I have a system that performs wireless sampling of data about every 7.5ms (133Hz). Due to it being wireless, I get occasional data drop out. I want to construct a LP butter filter with cut-off ...
6
votes
2
answers
472
views
Checking Parseval's Theorem for Gaussian Signal by Using Scipy
I'm trying to check Parseval's theorm for Gaussian signal. It's well known that fourier transform of $\exp(-t^2)$ is $\sqrt{\pi}\exp(-\pi^2 k^2)$. So I implement it by using quad and simps. I think ...
5
votes
2
answers
664
views
Why is implementing a digital LPF with low cutoff frequency but high sampling frequency infeasible?
I am new to signal processing and I want to implement an LPF using SciPy. In order to do so, I used the following python code from: here
The code itself looks like:
...
5
votes
6
answers
5k
views
What Are The Semantics Of Wav-File Sample Values?
The title is the question. To make this concrete, assume I have a standard 16-bit single channel wav file, with (although it doesn't matter) a 16000 Hz sampling rate.
Each sample magnitude will be a ...
5
votes
2
answers
433
views
Why is FFT-based convolution efficient only for signals of large size?
According to the documentation of scipy.signal.fftconvolve
This is generally much faster than convolve for large arrays (n >
~500), but can be slower when only ...
4
votes
2
answers
2k
views
Are IIR filters (and specifically Butterworth filter) causal?
I am new to signal processing. I am learning now about filtering and I am trying to implement high pass filter (HPF),and later band-pass filter (BPF). I implement the filters in ...
4
votes
1
answer
390
views
Scipy filter analog vs. digital
It would be greatly appreciated if the usage of the python package scipy's filter (e.g. butter) analog=True argument could be explained. I don't understand what is meant by this (any signal being ...
4
votes
1
answer
14k
views
Write a 440 Hz Sine Wave to .wav-File using Python and SciPy [closed]
This is my first post on DSP.SE! I'm a student in Computer Sciences and am just getting started with Signals and Systems, thus getting in touch with discrete signals and analyzing them.
I wanted to ...
4
votes
1
answer
2k
views
How to generate random samples of Gaussian distribution directly in the frequency domain?
One can easily draw (pseudo-)random samples from a normal (Gaussian) distribution by using, say, NumPy:
...
4
votes
1
answer
4k
views
Butterworth band pass filter
I am trying to build a Butterworth bandpass filter. My intent is to have a pass band between $250\textrm{ Hz}$ and $1000\textrm{ Hz}$. However the plot doesn't look right, as can be seen from the ...
4
votes
2
answers
522
views
Why doesn't the convolution of the impulse response match the system's output?
If you define an LTI system sys in scipy, you may conveniently feed an input x to it to get ...
4
votes
1
answer
5k
views
Scalograms in python
I am reading this paper to learning basic concepts of dsp and I want to reproduce the following scalogram of a test signal (fig 4.2 of the paper):
It has been produced from the discretization of the ...
4
votes
1
answer
2k
views
How to Apply Gaussian Filter to Raw Audio Files in Python?
I am recording raw files in python to later break them into phonemes, but the noise in the surrounding environment is hampering the result. So, there is a need to apply a filter to the recorded raw ...
3
votes
2
answers
923
views
Why does scipy introduce its own convention for H(z) coefficients?
Conventionally, the definition of the system function for a IIR digital system is:
$$H(z)=\frac{b_{0}+b_{1}z^{-1}+b_{2}z^{-2}+\cdots}{1-a_{1}z^{-1}-a_{2}z^{-2}-\cdots}$$
where coefficients are the ...
3
votes
1
answer
385
views
How to get scipy remez to give matlab firpm answer?
If I run this in matlab:
h = firpm(100,[0 0.1 0.2 1],[0 0 1 1])
and this in scipy:
h = remez(100,[0, 0.05, 0.1, 0.5],[0, 1])
I ...
3
votes
2
answers
2k
views
Do DCT results contain phase spectrum?
I've been working much with numpy.fft lately where just like the documentation says:
When the input a is a time-domain signal and ...
3
votes
4
answers
10k
views
downsample signal to a specific number of samples in Python
The Python Scipy library provides several functions to downsample signals, but they all have limitations:
The resample function is based on Fourier method, which means it assumes periodic signals.
...
3
votes
2
answers
1k
views
Why does a higher sampling frequency mess up my bandpass filter?
I was designing a bandpass filter in python using some of the scipy.signal modules.
I am plotting the frequency response of my filter to verify that my desired frequency is in the passband. However, ...
3
votes
1
answer
587
views
How does SciPy's Welch function change the shape of the data?
I am working with some time series data with a shape of 8064. The data is actually the popular EEG data called DEAP. It basically is a 3D array of size (40, 40, 8064) and here is the link to the ...
3
votes
3
answers
3k
views
Difference between librosa.stft and scipy.signal.stft
I read the source code of librosa.stft and sicpy.signal.stft, and notice that the calculation results of STFT in these two libraries are quite different:
In scipy.signal.stft, the stft result is ...
3
votes
2
answers
291
views
Getting error while performing upsampling of an audio signal processing using low pass filter in python
I want to perform upsampling of an audio signal introducing zeros between samples to create a longer signal with factor of N=2. The sampling rate is 44100Hz, time = 5sec.
...
3
votes
1
answer
31k
views
Convert RGB Image to Grayscale and Display It (Python + Matplotlib) [closed]
I just started learning image processing and I was trying to read a RGB image then convert it to grayscale. I was hoping for something like this:
However, what I get was:
I tried using both scipy ...
3
votes
1
answer
1k
views
Python different autocorrelation with FFT and non-FFT
Im trying to calculate the autocorrelation of soundwaves when I noticed that I get different results with scipys FFT based and with numpys methods.
The 4 functions Im using:
...
3
votes
1
answer
4k
views
How to implement bandpass filter on complex valued signal?
I am using Scipy to implement bandpass filter but it assumes that positive normalized frequency is passed but I & Q samples range from [Fc-Fs/2,Fc+Fs/2] where Fs is sampling frequency & Fc is ...
3
votes
1
answer
5k
views
How to compute the power bands of an eeg signal using python?
so I have an eeg signal (edf format) that has 25 channels and 248832 entries, sampling frequency of 512Hz. I have to compute the frequency bands:
– Delta: 0.1-4Hz
– Theta: 4-8Hz
– Alpha: 8-12Hz
– ...
3
votes
2
answers
224
views
How to discard coefficients in the frequency domain without losing too much quality?
I was reading a text that shows that one can throw away 66% of the coefficients and gets an image that is still acceptable.
I tried to replicate it using python (last example) and selectively ...
3
votes
1
answer
3k
views
Deconvolution with Python in real life
I have measured a signal which is convolved with the profile of the measuring apparatus. Now I want to remove this contribution to get the "real" signal. I am trying to do this with Python. ...
3
votes
1
answer
594
views
Compute minimum phase version of a FIR
I am working with HRIR filters, in particular I am trying to interpolate them.
One commod method in the literature to perform interpolation of HRIR is to use the minimum-phase decomposition and ...
3
votes
0
answers
53
views
Are there any tools for generating fixed point filter implementations?
It's very easy to make a filter in Scipy or many other tools, but implementing this filter in fixed point in C or VHDL/Verilog is always a chore. I mean, in theory it's just a matter of adequately ...
3
votes
0
answers
9k
views
Downsampling and upsampling of a signal in Python
If I want to downsample a signal in Python, is it better to use method resample from SciPy Signal Processing module or method decimate from the same module? What is the difference between these two ...
2
votes
2
answers
489
views
Why does changing the format of an audio file from int16 to float produce jitter?
I read an audio file (an instrumental music file that is mono and 16000) with wav.read (read function from scipy.io.wavfile.) This function gives me a data file in int16 format. When I change the type ...
2
votes
2
answers
2k
views
Are scipy second-order Gaussian derivatives correct?
For an edge detection algorithm, I need to compute second-order derivatives of an image, and I do this with use of Gaussian derivatives. I assumed that the ...
2
votes
2
answers
929
views
Invertible low-pass (Butterworth) filter in python (scipy)?
Question
Is there an invertible low-pass filter built into scipy.signal (or other python package)? If so, what is it? If not, why not (is there something ...
2
votes
2
answers
3k
views
Scipy butter filter - remove DC offset w/ high sample rate
I am having a hard time figuring out how to employ a high pass filter to remove the DC offset of my data signal with the "scipy butter" function because my sample rate is quite high. The ...
2
votes
2
answers
711
views
Amplitude extraction using STFT
I'm trying to recover amplitude/magnitude from an audio stream. I'm using FFT to go from time domain to frequency.
If I feed in a signal of known amplitude, the results I get from either windowing or ...
2
votes
2
answers
1k
views
How to implement cascaded biquad transfer functions in Python/SciPy
I am trying to implement in python/Scipy the biquad filter with the following S-domain transfer function:
$$
H(s)=\frac{w_0^{2N-1}(s+w_z)}{[s^2+(w_0/Q)s+w_0^2]^N}
$$
My problem here is that because of ...
2
votes
2
answers
272
views
Beginner Question: Extracting Features for Image Classification
I'm a Python programmer, but a beginner to image processing :) Apologies if this isn't a suitable question for the forum, happy to rewrite or move.
I want to create a supervised classifier to ...
2
votes
1
answer
233
views
scipy convolve and fftconvolve return different output [closed]
I'm writing an autocorrelation function using and I noticed a difference between fftconvolve and convolve that should use fft if it's faster.
This is my function with convolve:
...
2
votes
3
answers
2k
views
scipy.signal.spectrogram() - how to handle gaps in the timeseries data
Looking at the magnitude of variable stars - the dataset is from here:
https://dogwood.physics.mcmaster.ca/Cepheid/URL/MW/BD-10d4669.html
The magnitude plot:
...
2
votes
2
answers
394
views
Is there an a method to fit a wave created from two wave?
I need to get the frequency and amplitude for a wave that consists of multiple function.
for example, if I have a sine curve (created from two sine waves), How can I extract the parameters for this ...
2
votes
2
answers
948
views
Decimating Non-Uniform large time-series data
I'm working with accelerometer data that is sampled at a non-uniform rate. There are major gaps in the data. Below is a scatter plot of the data
I can also give a sense of the frquencies at which ...
2
votes
2
answers
2k
views
Why does python's scipy.signal.dimpulse introduce delay in impulse response?
Consider a simple linear, time invariant system of the form:
$y_k = cy_{k-1} + (1-c)x_k$
The impulse response of this system can be computed by either dimpulse or by applying lfilter to a vector ...
2
votes
1
answer
335
views
Difference between MATLAB zp2sos and python zpk2sos functions
I am trying to port some code from MATLAB to python. The goal is to use Butterworth filter (4th order, bandpass) API and convert it to second-order sections. I get the same output between MATLAB and ...
2
votes
1
answer
2k
views
Dynamic filter in real time audio
Following my previous question: Removing cracking in real time audio, I'm trying to implement a dynamic filter in real time audio.
What I want to do is to create a filter where I can change the cut-...