12
votes
Accepted
Why don't unit circle poles lead to infinite amplitude response for Butterworth lowpass?
You've made an understandable mistake. You are probably looking at this picture:
That is not the unit circle, and it isn't even in the $z$ domain.
What you are looking at is the locations of the ...
11
votes
Signal processing in Python vs C++ (band-pass filter)
Not really an answer but too long for a comment. Standard software development and debug techniques should solve this
Don't use code on real data before it has passed all unit tests
First write the ...
8
votes
Accepted
What is the largest "safe" order for the digital Butterworth filter of a given signal?
One cause is that higher order Butterworth filters have poles closer to the unit circle. This nearby infinite gain point increases the likelihood of numerical instabilities. (e.g. rounding/...
8
votes
Accepted
4th order high-pass filter on a DSP: standard or biquads?
The two solutions in a floating point implementation are assumed to be identical, with the two BiQuads being a factored version of the standard difference equation. The BiQuad is the better way to go ...
8
votes
Filter design by distributing poles and zeros on parametric curves
Throughout the answer I will use the mathematical notations, that is, the mathematica equivalent of expressing the magnitude response of a filter in frequency domain. For this, $x$ will be used ...
8
votes
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 ...
8
votes
Mapping of Classic Filters for Digital Filter Design
I'm convinced that depending on the problem we're trying to solve, we can and should use both approaches: the transformation of classic analog filter designs, and the direct design in the digital ...
8
votes
Accepted
Mapping of Classic Filters for Digital Filter Design
and simulation where "copying the analog" would result in the better solution.
That' missing the point a bit. It's not that one cares much about matching or copying the "analog" ...
8
votes
Accepted
SOS-matrices' order does not correspond to given parameter when designing bandpass with scipy.signal.butter
Your expectations are reasonable. However, the definition of order in the design routine is confusing. It's the same in Matlab/Octave. For lowpass or highpass ...
5
votes
Accepted
FIR butterworth also possible or just IIR?
Filters according to those optimality criteria only exist as IIR filters. They are derived from the corresponding analog prototype filters via the bilinear transform, and this naturally results in IIR ...
5
votes
Mapping of Classic Filters for Digital Filter Design
How to Massively Reduce the Resource Requirements in FIR Filter Approach
The two answers provided by Matt and Hilmar are both excellent and provide great insight in answering the question. I am ...
5
votes
Accepted
Implementing a Butterworth Filter Manually in C/C++ via Second Order Sections
c) My code is wrong
That one. You have your difference equations backwards. It should be
$$y[n] = x[n] + 2x[n-1] + x[n-2] - a_1y[n-1] - a_2y[n-2]$$
You have your "a" and "b" ...
4
votes
Higher-order (Butterworth) filters
If you want to increase the "selectivity" of your filter, I recommend to use a
Papoulis-Legendre filter instead of Butterworth. It is the behaviour which present the sharpest slope at cut-off.
4
votes
Accepted
How to plot magnitude and phase response of 2 cascaded filters in Matlab?
Using MATLAB/Octave as the tool, the following approach lets you plot the magnitude & phase samples of the DTFT of the cascade of the two discrete-time LTI filters using their LCCDE coefficient ...
4
votes
Why does sampling frequency affect the filter results?
Limited numerical precision. The higher the sample rate, the closer the poles move to the unit circle, the closer to the unit circle, the less stable the filter is.
There are different implementation ...
4
votes
How to choose order and cut-off frequency for low-pass Butterworth filter?
an $n$th-order Butterworth filter in the $s$-domain has a magnitude function that is two straight lines connected with a soft corner at $\omega_0$ and -3 dB. the straight line at the left is a flat 0 ...
4
votes
Accepted
Butterworth filter transfer function in time domain
A plot of the normalized impulse responses, for the n = 2 through 10 Butterworth low pass filters, are given by H.J. Blinchikoff, A.I. Zverev, "Filtering in the Time and Frequency Domains", Wiley-...
4
votes
Butterworth filter transfer function in time domain
There's no need to use numerical methods here. The most straightforward way to compute the output is to see that the filter's impulse response is given by
$$h(t)=\sum_{k=1}^Nr_ke^{s_kt}u(t)=\sum_{k=1}...
4
votes
Implementing a Butterworth Filter Manually in C/C++ via Second Order Sections
My code is wrong
Even without assuming that the code's behavior is wrong, for long-term maintainability it has its problems.
You'd do much better to structure your code such that you have a data type ...
4
votes
Accepted
Denoising Signal With Butterworth-Filter
AWGN, by definition, is "white" and therefore has a constant power spectral density expectation across all frequencies. Therefore, your signal is buried in noise that is also partly at the ...
3
votes
How to implement a filter associated to a specific wavelet
You've mentioned Butterworth filters for doing the wavelet analysis using bior6.8. If you want to perform the Discrete Wavelet Transform using some specific wavelet,...
3
votes
Accepted
Butterworth Polynomial from Butterworth Filter
The denominator of the transfer function of an analog Butterworth filter is a (non-normalized) Butterworth polynomial. Also the numerator is just a constant (i.e. the coefficients of higher order are ...
3
votes
Accepted
Why is the second-order-section cascade approach giving "worse" results?
I don't think that has anything to do with SOS vs transfer function representation, but it appears to be an artifact how filtfilt() handles initial conditions. The documentation is annoyingly vague ...
3
votes
Accepted
Apply butterworth filter (lowpass) to a signal
I found a way to fix the issue by changing the calculations, so it seems like I had the wrong Nyquist frequency and therefore the wrong cutoff frequency. I hadn't realised that the Nyquist frequency ...
3
votes
How to plot magnitude and phase response of 2 cascaded filters in Matlab?
When you pass a signal from two cascaded filters, what happens is that the magnitude response of the whole chain is the product of individual filters, and the phase response is the sum of individual ...
3
votes
Accepted
If a filter has a non-linear phase lag will the output signal be distorted?
I think your question comes from several misunderstandings. The fact that the phase lag of a system becomes more negative for large frequencies does not mean that there's more distortion of larger ...
3
votes
Accepted
Can't make sense from VHDL butterworth filter implementation
The filter structure is a digital leapfrog and the structure looks like this picture (note: the picture is a different order than the code):
These filters are ...
3
votes
Accepted
How to determine the type of a digital filter given its expression?
Seeing that the paper cites the author of the paper as inventor of the "SuperSmoother" filter, and this filter was (supposedly) good for this specific use case, there's no indication this ...
3
votes
LPF in the stage of IQ demodulator is it a analgor filter or digital filter?
The A/D can be placed as a single real A/D before the multipliers, OR as shown in the diagram as two A/Ds one after each multiplier to sample the I and Q channels. In either case, an analog filter is ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
butterworth × 165filters × 65
filter-design × 42
matlab × 28
lowpass-filter × 28
python × 27
digital-filters × 24
infinite-impulse-response × 23
bandpass × 15
scipy × 14
filtering × 9
fft × 8
finite-impulse-response × 7
signal-analysis × 6
image-processing × 5
frequency-spectrum × 5
power-spectral-density × 5
poles-zeros × 5
highpass-filter × 5
bilinear-transform × 5
discrete-signals × 4
sampling × 4
frequency-response × 4
audio × 3
phase × 3