We’re rewarding the question askers & reputations are being recalculated! Read more.
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 ...


7

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


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

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


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

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

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

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

The cause is that in general, relating the roots of a polynomial to it’s coefficients is numerically ill conditioned. A well known example is Wilkerson’s polynomial. https://en.m.wikipedia.org/wiki/Wilkinson%27s_polynomial Small perturbations have relatively large effects. The safe order also depends on numerical precision. Analog Butterworth filters ...


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

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


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

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


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

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

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

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


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


2

Some important differences: In Image Processing (IP), there is no causality like in Signal Processing (SP), hence there is not a tradeoff between filter quality and sampling sequence. In IP, the FIR versions of SP are preferred instead of the IIR version (which are rare as you pointed). A possible relevant cause for this is FIR are designed as linear phase, ...


2

While I intuitively feel that I understand what is required, I struggle to express it. I am not sure if this is because of my own limitations or if indeed the problem is difficult or ill-posed. I have a feeling that it is ill-posed. So, here is my attempt: The objective is to build a filter. That is, calculate a set of coefficients of some rational form: $$...


2

Everythng is alright. You made a mistake in the final calculation. $$\Omega_c^{12} = \frac{{(0.2\pi)}^{12}}{0.25893} \implies \Omega_c = \sqrt[12]{\frac{{(0.2\pi)}^{12}}{0.25893}} =\frac{0.2\pi}{\sqrt[12]{0.25893}} = 0.7032$$ which is the desired result.


2

Using MATLAB/Octave as the tool, the following approach lets you plot the DTFT magnitude and phase information of the cascade of the two discrete time LTI filters of any type, using their LCCDE coefficient vectors $b[k]$, and $a[k]$. Since the cascade LTI system is described as: $$h[n] = h_1[n] \star h_2[n]$$ and consequently $$ H(z) = H_1(z) H_2(z) $$ ...


2

Citing the help output of freqz: [H,W] = freqz(B,A,N) returns the N-point complex frequency response vector H and the N-point frequency vector W in radians/sample of the filter. So, your output is not amplitude and phase, but (complex) transfer function and frequency. Hence, to plot the phase using freqz you need to use plt(w, angle(h));


2

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


2

Some of your questions overlap so I’m not going to answer in the framework of 1 followed by 2, ..... An IIR filter ‘s stability is related to the location of its poles. If the region of convergence contains the unit circle, the filter is stable. This definition covers both causal and anti causal filters, so you can have a stable causal filter and an ...


2

As the comments say: it really depends on your signals. If the energy in the "don't care" region is significantly larger than the energy at the frequency of interest, it's helpful to pre-filter it first. Otherwise you may see "spectral leakage" of the high energy components into your target area. On the downside: the pre-filter will affect the group delay ...


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