New answers tagged

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


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


2

The value of $2\pi$ radians corresponds to the sampling frequency. So the normalized frequency in radians is given by $$\omega=\frac{2\pi f}{f_s}\tag{1}$$ where $f$ is the actual frequency in Hertz, and $f_s$ is the sampling frequency in Hertz.


0

Just to follow up on this, I believe I figured out one way to do what I was looking for shown below...if anyone has any other ideas feel free to share too


2

The way that you currently split the FIR from the IIR part results in an FIR filter that exactly matches the first $N$ samples of the impulse response of the original cascade. Consequently, the parallel IIR filter must have $N$ initial zeros in its impulse response, otherwise it would mess with that first part of the original response which is already taken ...


0

Am I understanding this correctly, and if so, will that give me what I need? Yes you are understanding everything correctly. If your "need" is a filter that will match the magnitude response then all choices should work. If you are interested in a very quick and move-on solution, then proceed with Frequency Sampling with a very large number of taps and ...


1

Here is one answer, if someone can improve on this I will select it as the "right" answer (also comments very welcome on obvious flaws with this approach): Given Cauchy's argument principle, the number of zeros outside the unit circle is given by the number of encirclements of the origin for the frequency response of the filter as plotted on a complex plane....


2

You don't. An ideal low pass FIR filter has infinite length so the requirements of "ideal low pass" and "64 taps" are mutually exclusive. You can approximate an ideal filter, but the best way to do this depends on the specific requirement and trade-offs of your application. This being said, Richard's answer is a really good starting point :-)


1

b = fir1(63, 0.25) figure(1) freqz(b,1,256)


Top 50 recent answers are included