# Tag Info

8

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 for fixed point as you isolate two 2nd order systems and in doing so will be easier to keep stable under variations due to the quantization involved. For more ...

8

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/arithmetic/quantization noise may move a pole to the “wrong” side of the unit circle.) Where the numerical noise will blow up depends on your executable code’s exact ...

7

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 signal.filtfilt. Use signal.lfilter. filtfilt does the same thing as lfilter, except twice, in opposite directions, which changes a causal filter into a zero-phase filter. However, as the ...

6

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 instead of $j\omega$, to better reflect @Olli's question about finding a mathematical parametric curve to approximate filters. Since this is not filter design, the ...

4

You need to specify your filter design specifications parameters consistently for either an analog or a digital filter. With your posted code, the butterord computes the required order for a digital filter with cutoff frequencies near 1 (which would make sense as Nyquist-normalized cutoff frequencies, but not so much in Hz), then uses those directly to ...

4

The poles of low pass and high pass Butterworth filters are indeed the same if both filters have the same cut-off frequency. The difference between the two lies in the numerator. A low pass filter has a constant in the numerator, whereas a high pass filter has a constant times $s^N$, where $N$ is the filter order. The poles of a normalized Butterworth low ...

4

The answer to your question can mainly be found in the Matlab documentation. The butter function can design filters either in the analog domain as well as in the discrete domain. In order to make an analog filter, you can do so by giving the string 's' as a third parameters. The transfer function can be defined by the zeros/poles/gain or by numerator/...

4

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 methods that are better than others: design as poles, and zeros and not as transfer function, use cascaded second order sections, use correct section ordering, ...

4

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 filter is based on anything but the author's inventive force (his fantasy). He does mention it's a "converted analog filter made from capacitors and ...

3

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 discussed at some length on wikipedia and wikibooks.

3

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.

3

Increasing the number of degrees of freedom with the order allows more flexibility in the overall design, to fulfill as much a possible wished properties: ripples in the pass-, stop-band, accomodate the need for fixed-length coefficients. The most notable is perhaps the sharpness of the transition between preserved and attenuated frequencies. It is useful ...

3

When a filter is used, we usually design a specific sort of filter: low pass, high pass, or bandpass. That design assumes an ideal filter that has unity gain in the passband and zero gain in the stop band. Low order filters to not approximate that "brickwall" very well. Higher order filters do better. See this page, which has this diagram showing the ...

3

The effect you observed is mainly due to spectral leakage. It is a property of the DFT and it is only indirectly related to the Butterworth filter. Note that there are an integer number of periods of both sinusoidal components of y inside the DFT window. That's why you see two nice peaks in the frequency domain without any leakage. If you truncate y only by ...

3

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 frequencies. Neither does it mean that high frequency signal components experience more delay when passing through the filter. Imagine an ideal system that simply ...

3

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 vectors $b[k]$, and $a[k]$, assuming they have LCCDE representations.. Since the cascade LTI system is described as: $$h[n] = h_1[n] \star h_2[n]$$ and ...

3

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 in this case didn't need to apply to the highest frequency present in the sound, but rather to the sampling frequency used to generate the sound (it sounds silly ...

3

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 0). You are designing a discrete filter here, so this does no longer apply. Your numerator has three non-zero coefficients, and the denominator is not a ...

3

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, then you must use its Perfect Reconstruction Filter Bank. Each wavelet function has its associated set of filter values for decomposition and reconstruction - they are calculated from the Mother ...

3

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-Interscience, John Wiley & Sons, NY, ©1976, p. 113. This is shown below. They do not give the h(t) expressions in the book, at least where I have looked thus ...

3

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}^Nh_k(t)\tag{1}$$ where $N$ is the filter order, $u(t)$ is the unit step function, and $r_k$ are the coefficients of the partial fraction expansion of $H(s)$: ...

2

The problem is not in the filtering process but already at the design stage. Your specifications are very difficult to realize because your desired band is at very low frequencies. With these specs, the butter routine returns an unstable filter (i.e., with two pole pairs outside the unit circle of the complex plane). One thing you could try is reduce the ...

2

Note that the Butterworth filter is only one of many possible approximations of an ideal low pass filter. It is a Taylor series approximation (at $\omega=0$) of the desired response, and, consequently, the magnitude response of the Butterworth filter is maximally flat at $\omega=0$. Approximating the squared magnitude response (instead of the complex ...

2

After a little hard thought, I believe I stumbled across the answer. In order to know how to convert, you really need to pay attention to units. When you use the 'butter' function, it is necessary that you normalize the frequency. By normalizing the frequency, you are essentially removing the time dependency and are only focused on relative values. Commonly ...

2

You're right. That's why your anti-aliasing filter needs to be an analog filter. You need to restrict the bandwidth of the analog filter before sampling. However, you can do part of the anti-aliasing filtering in the digital domain by first using a higher sampling rate and a simple analog filter, and down-sampling after applying a digital anti-aliasing ...

2

Everything you see are numerical artefacts. A "low pass" filter with Nyquist as cut-off frequency is simply a connection. However, you're asking for a recursive filter of order $2$ or $3$, so what you get is a filter with identical numerator and denominator polynomials (i.e., pole/zero cancellation). Check your filter coefficients, a and b should be ...

2

i don't think it's particularly remarkable that Butterworth filters, defined as all-pole filters that are maximally flat at $\omega=0$ (for LPF prototype, meaning the most possible derivatives of $|H(j\omega)|$ are zero at $\omega=0$), have s-plane poles that lie equally spaced on the left half-circle of radius $\omega_0$. from the "maximally flat" and "no ...

2

Discrete filters are divided in two major classes: Finite Impulse Response (FIR) filters and Infinite Impulse Response Filters (IIR). Both types of filters are structured around a fundamental unit. A fundamental operation that is responsible for the filtering. That is, the delay unit. Of course, besides the delay unit you also have the sumation points. But ...

2

When you study the design of the filter and pole zero locations, did your professor point out that some of the pole locations are VERY close to the imaginary axis? If so, then you might also realize that these poles represent VERY high Q circuit designs. If done using analog filters, then the practical issue is trying to realize high-Q circuit without ...

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