11

See How many taps does an FIR filter need? In your case you'd need more than 1000 taps depending on the allowable ripple, as your cut-off frequency is less than fs/500. Alternatives : use an IIR, a simple order-1 DC removal filter could work great Average your signal and subtract the average in order to remove the DC Rick Lyons proposes a clever ...


9

This depends a lot on how you implement it. A single biquad takes about 10 arithmetic operations. (To be precise a Transposed Form II takes 4-5 multiplies and 3 adds, depending on how the gain management is done). Arithmetic operation translates into clock cycles of your processor. That depends a lot on the efficiency of your instruction set and how good yo ...


7

The unit circle on the z-plane represents the frequency axis, similar to the imaginary axis $j\Omega$ on the s-plane for the Laplace Transform in the continuous time case. So the frequency response of the system is given by $H(z)$ when $z= e^{j\omega}$ with $\omega$ going from $0$ to $2\pi$ representing the normalized fractional radian frequency (which is ...


6

The reason is Euler's formula, from which you get $$\cos(\omega)=\frac12\big(e^{j\omega}+e^{-j\omega}\big)\tag{1}$$ and $$j\sin(x)=\frac12\big(e^{j\omega}-e^{-j\omega}\big)\tag{2}$$ If you have symmetric or anti-symmetric coefficients, the corresponding frequency response can always be decomposed in purely real-valued cosine terms $(1)$ or purely ...


5

Since this is an FIR, the group delay is D=(N-1)/2=20 samples. No, since this is a linear phase (i.e. symmetric or anti-symmetric) filter, the group delay is half the length! (being a FIR isn't sufficient.) The issue is that I get too peaks in the cross correlation, one at zero lag and another at 20 lag. Write down the formula for auto-correlation at ...


5

Here is the same experiment done in my blog: https://poweidsplearningpath.blogspot.com/2020/04/chapter-51-meaning-of-general-linear.html First, there is a tiny mistake in the question. Not all FIR filters have the properties of Linear Phase. Only the four types of FIR possess the properties. 1 By contrast, all of the IIR filters are not linear phases. For ...


5

$$1 - e^{-4j\omega} = e^{-2j\omega}(e^{2j\omega} - e^{-2j\omega}) \tag{1}$$ Now, $$ \sin(2\omega) = \frac{e^{2j\omega} - e^{-2j\omega}}{2j} \tag{2}$$ Equation 2 is a consequence of Euler's formula. Multiply and divide by $2j$ in (1) and use the identity (2) in equation 1 we have: $$1 - e^{-4j\omega} = 2je^{-2j\omega}\sin(2\omega) \tag{3}$$ Now $j = e^{...


5

So, from the discussion in the comments it's clear you know most you need to know. The window method for FIR filter design is based on this idea: We know the "ideal" frequency response $H(f)$ we want. Often, that's something like a rectangle in frequency design. Well, the easiest thing to achieve that shape would simply be transforming $H$ to time domain,...


5

I don’t think you’re alone, but essentially this is simply a problem of optimization. Let’s say you have a processor with a 88MHz clock. That’s 2k clocks per sample at 44kHz. If we take the term ‘most’ to mean 50%, of the clocks, then that leaves 1k clocks per sample for filtering. Running 8 filters leaves 125 clocks per filter. That’s a decent amount of ...


5

Kalman filters really aren't that special, and you seem to be missing the point of a Kalman filter. A Kalman filter is really just a generally time-varying, generally IIR, generally multi-input multi-output filter that's been designed using a specific procedure. Can we deem that traditional filters such as FIR and low-pass filter are designed to be used ...


4

Two examples: Audio: The human ear isn't very sensitive to nonlinear phase (probably because the world filters sound with nonlinear phase filters). It is, however, sensitive to percussive sounds that "pre-ring"*; i.e., that start making sound before the main "bang". So for high-fi audio, one often wants to use minimum phase filters (which tend to have ...


4

The Invertible FIR Filter A constraint based on the first coefficient alone is developed as follows: From Cauchy's argument principle any FIR filter that meets the following constraint will be invertible (including marginal invertibility, change $\le$ to $<$ otherwise): $$\max\left(\arg \left( H(e^{j\omega}) \right)\right)-\min\left(\arg \left( H(e^{j\...


4

First of all you see that the phase is a piecewise linear function, so it's a linear phase FIR filter. There's a phase jump at half the Nyquist frequency, which shows that the filter has a zero at that frequency. Note that the phase jumps by $\pi$ corresponding to sign inversion. You can also see what type of linear phase FIR filter it is. Since the phase ...


4

The best book I know that exclusively treats digital filters is Digital Filter Design by Parks and Burrus. But any good textbook on signal processing has one or more chapters about properties and design of digital filters. And since the most common IIR filter designs are based on analog filters, these books usually also treat the classic analog filter ...


4

Your assumption why IIR filters can have steeper transitions from passbands to stopbands compared to FIR filters of the same order is correct: IIR filter have poles away from the origin of the complex plane, and poles inside the unit circle close to zeros on the unit circle cause the corresponding frequency response to change rapidly with frequency. The FIR ...


3

The reason for this is that the maths centres on a false assumption: We know that the zeroes need to be complex conjugates Do the zeros need to be complex conjugates? Can they not be 2 real zeros? I sympathise here because I also read this book and the maths portion ended up utterly confusing me because of very odd methods. A more general method would ...


3

In order for H(z) to be a linear phase filter, it must zeros both on the inside of the unit circle and at the complementary locations (1/z) which are outside the unit circle. Therefore a linear phase circle has no stable causal inverse (since this would necessitate poles outside of the unit circle.) Note that a linear phase filter can be decomposed into ...


3

Your confusion is understandable. If you consider the definition of linear phase FIR filter and the associated symmetry conditions on their impulse responses, then you can arrive the conclusion that the first two cases $$ h_1[n] = [0,0,0,1,0] $$ and $$ h_2[n] = [0,0,0,0,1,0,0,0,0,0,1] $$ are non-symmetric. However, as you use zeros and ones in those ...


3

If your signal was a windowed complex exponential, then the maximum of the magnitude of its discrete-time Fourier transform (DTFT) would equal the frequency of the complex exponential: $$x[n]=\begin{cases}e^{jn\omega_0},\quad&n\in[0,N-1]\\0,\quad& \textrm{otherwise}\end{cases}\tag{1}$$ The DTFT of $(1)$ is easily computed from the convolution of ...


3

There are many good answers here. I will try to take the reverse approach in order to explain in very simple words what is necessary in order to keep the output's shape same as input's, and what exactly distorts the shape. You can keep this for intuition of Phase response not for exactness of mathematics. Interpretation of Phase response : Negative of ...


3

Exact linear phase can only be implemented with finite impulse response (FIR) filters. These filters need more computations and memory compared to infinite impulse response (IIR) filters with a comparable magnitude response. Also, if high filter orders are necessary to meet the specifications, the resulting delay of a linear phase FIR filter becomes large (...


3

we can deconvolve linear-phase filters into a minimum-phase filter and its reverse a maximum phase filter We can formulate this more broadly. Any LTI system can be split into a cascade of it's minimum phase filter and an all pass (which is indeed a maximum phase filter). So, $$H(z) = H_{min}(z) \cdot A(z)$$ where $H_m(z)$ is the minimum phase filter that ...


3

Online, I learned a lot from the sections of Introduction to digital filters with audio applications by Julius O. Smith III. In addition to the series of books by Matt L., I suggest another from Manolakis, and two from Maurice Bellanger (one of the references is in French, there might be a translation), who cared for precision in filter coefficients ...


3

Is this because of poles? Yes. A steep drop or rise in a filter's frequency-domain response can only be achieved with a filter that has a long memory. In a FIR filter, this long memory can only come from, well, being long. In IIR filter, this long memory can come from having poles that are close to the unit circle.


3

First of all, that's VHDL, not verilog. your input data is 8-bit wide and i'm gonna assume that it's signed data. Assuming I use SNF notation, your input data is S1:7N:0F i.e 1 bit for the sign, 7 for the whole part and 0 bit for the fractional part. Now, I don't know what your coefficients are, I need that info to give you the best answer but I'm gonna ...


2

Explicitly making the imaginary part of your FFT coefficients 0 will change your magnitude response. It is very clear if you consider this: $$ X_k = a_k + jb_k\\ |X_k| = \sqrt{a_k^2 + b_k^2} $$ Now, you're explicitly setting new coefficients to be $X'_k = a_k$, and hence $|X'_k| = |a_k|$. Taking the IFFT of your new frequency response will obviously not be ...


2

For linear phase FIR filters, each zero at z = z0 will have a matching reciprocal zero at z = 1/zo. And for real-valued coefficients each zero at z = zo will have a matching conjugate zero at z = *zo. Thus for linear phase real-valued coefficients, when you place one zero on the z-plane you determine the location of the other three zeros.


2

This is what I would try: Ignore the $n(t)$ and $i(t)$ since you know nothing about them. I am assuming that $x$ is complex and the rest of the variables are all real. Take the complex natural log of both sides: $$ \ln \left( | x(t) | \right) + j \arg( x(t) ) = \ln(A) + j ( a t^2 + b t + c ) $$ Separate the real and imaginary parts. Using the imaginary ...


2

Without understanding more detailed results on what i(t) is, one solution is to estimate either the phase or frequency first, and then pass that result through a filter. An approach to do the frequency estimation digitally directly on the I (real) and Q (imaginary) samples of x(t) is the cross product frequency discriminator. After hard limiting x(t) to ...


2

If it's a linear phase FIR filter, then the inputs signals will be shifted (delayed) by an amount of group delay at the output. For a linear phase FIR filter of length $L = 2K+1$ the group delay will be $N = K$ samples. For even length $L = 2K$ FIR filters it will be at $N = (L-1)/2$ ; half-sample position. For non-linear phase FIR filters, group delay ...


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