New answers tagged

7

The logical implications are the following: "non-recursive" $\Longrightarrow$ FIR IIR $\Longrightarrow$ "recursive" But the opposites are not necessarily true because a FIR system can be implemented recursively (transfer function poles can be cancelled by zeros). Of course, when referring to "recursive" or "non-recursive" we always talk ...


1

is it correct to say that FIR system is always non-recursive? You answer that yourself: We could express an finite accumulator up to past N inputs (FIR system) in both non-recursive and recursive forms. exactly. A common example of a recursive filter that's in fact an FIR is the CIC filter. Also is it correct to say that a non-recursive system is always ...


0

There is a technique called the scattered look-ahead transformation to transform a second-order IIR filter in an order-4 IIR filter in order to allow pipelining in the feedback path. The gist of it is to change $H(z) = \frac{b_0 + b_1z^{-1} + b_2z^{-2}}{1 + a_1z^{-1} + a_2z^{-2}}$ To this $H_1(z) = \frac{d_0 + d_1z^{-1} + d_2z^{-2}+d_3z^{-3}+d_4z^{-4}}{1 + ...


3

Is the one I implemented suitable or would you recommend something else? I think you did pretty well there. I'm not sure I'd end up with something different (although I would do a literature search on implementing IIR filters in FPGAs). Your filter looks pretty close to a direct form 2 filter. You can look up references to that for its strengths and ...


0

i dunno VHDL but i suspect that this filter is being implemented in fixed-point arithmetic, is that suspicion correct? if so, can you maintain fixed-point words of different word widths? when you multiply an $N_c$-bit coefficient against an $N_s$-bit signal or state, the resulting product is an $N_c \times N_s - 1$ bit word. if so, are you aware of simple ...


1

Note that the squared magnitude of the frequency response is given by $$\big|H(j\omega)\big|^2=\frac{1}{1+\epsilon^2T^2_N\left(\frac{\omega}{\omega_c}\right)}\tag{1}$$ In the $s$-domain we have $$H(s)H(-s)=\frac{1}{1+\epsilon^2T^2_N\left(\frac{s}{j\omega_c}\right)}\tag{2}$$ Computing the zeros of $(2)$ does not only result in the zeros of the filter's ...


5

If you remove (for the time being) that leading factor $A$ as a constant gain factor: $$H(s)=\frac{s^2+\left(\frac{\sqrt{A}}{Q}\right)s + A}{As^2 + \left(\frac{\sqrt{A}}{Q}\right)s + 1}$$ what you get then is a symmetric, but otherwise general shelf that could be equally described as "LowShelf" or "HighShelf". In dB, the gain at the low ...


3

If you use a parameterization with a (pole or zero) frequency and a Q-factor for numerator and denominator of a biquadratic function you get the following general second-order transfer function $$H(s)=G_{\infty}\frac{s^2+\frac{\omega_z}{Q_z}s+\omega_z^2}{s^2+\frac{\omega_p}{Q_p}s+\omega_p^2}\tag{1}$$ For a low shelving filter we want $H(\infty)=1$, i.e., $G_{...


0

Meanwhile, we have got an approximation solution for this. Consider the equation: $$ \frac{1}{\sqrt2}=\frac{\sin^2(m\pi f_c /f_s)}{m^2\sin^2(\pi f_c /f_s)} $$ In the right-hand side denominator, since $f_c << f_s$, we can write: $$sin(\pi f_c /f_s) \simeq \pi f_c /f_s$$ Also, in the numerator, since $f_l = f_s/m$, we have $m\pi f_c /f_s = \pi f_c /f_l$....


1

Just analyzing your equation, let $a = f_c / f_s$ Also we know that for $m = k/(2a)$ it reduces to $1/(m^2 sin(\pi a))$ for odd $k$ and $0$ for even $k$. $$\lim_{m \to 0} \frac{sin^2( \pi m a)}{m^2 sin(\pi a)} = \frac{a^2 \pi^2}{sin(\pi a)} = \frac{1}{\sqrt{2}}$$ Even for this case, determining $a$ is not an easy task. I computed numerically the curve ...


5

Minimum phase filters will not give you a near constant group delay. You can design a non-linear phase FIR filter with a linear desired passband phase with a specified group delay that is smaller than the group delay of the corresponding linear phase filter. If you use a least-squares criterion, this is equivalent to solving a system of linear equations. As ...


1

Is there a "standard" approach to this problem? Not really. It's a fundamental trade off that needs to be fine tuned according do your specific requirements. By definition, minimum phase filters have the lowest possible overall group delay. However, it's not flat. As a first order approximation, the phase is proportional to the slope of the ...


1

Well, this is one way you could do it: with LTspice, use the white() function. There are also rand() ([0,1] V, pulses) and random() ([0,1] V, smooth pulses), but white(2*fs*time) will give you what you want between [-0.5, 0.5] V: B1 is a behavioural current source (bi, or bi2, as it appears in the component selection dialog, F2), and the .wavecommand ...


1

#2 There are few response matching methods: Massberg https://books.google.fi/books?id=QddcxHLavrMC&pg=PA201&lpg=PA204#v=onepage&q&f=false Orfandis (check särkkä .../pub/ -folder) (https://users.aalto.fi/~ssarkka/pub/eq-design-demo.zip) Vicanek (most filter types) https://vicanek.de/articles/BiquadFits.pdf Särkkä https://users.aalto.fi/~...


1

Is the attenuation caused by aliasing or something different, and what is it called? The two standard methods of mapping an analog filter to a digital one are either the bilinear transform or the impulse invariant transform. Neither does a particularly good job at preserving the transfer function at higher frequencies. The bilinear transform will map ...


Top 50 recent answers are included