Tuesday, March 26, 2019

filters - Transform linear-phase FIR to minimum-phase FIR


Given a FIR filter (non-causal) with phase zero and real coefficients given by $$H(z) = \sum_{n=-M}^{M}h[n]z^{-n}$$ with ripple $\delta_2$.



How can I obtain a filter $H_{{\rm min}}(z)$ of minimum phase of $M+1$ coefficients, from $H(z)$? How are those filter related (amplitudes, $\omega$, ripple)?




I know that if the filter is causal with real coefficients I can use this relation between the original filter and the minimum one:


$$H(z) = H_{\rm min}(z) H_{\rm ap}(z),$$


but in this exercise I can't.


What can I do?



Answer



The procedure you're looking for is called lifting and, as far as I know, it was first introduced by Hermann and Schuessler:



O. Herrmann and H. W. Schuessler, Design of nonrecursive filters with minimum phase, Electron. Lett., 6(11): 329–330, 28th May 1970




The procedure is very well explained in this presentation by Ivan Selesnick. I'll briefly summarize it here, but it's important to look at the figures in the presentation.


Since you have a zero-phase filter, you know that $H(e^{j\omega})$ is real-valued. If you know the maximum error in the stopband $\delta_s$, you can define a new real-valued and non-negative transfer function by adding $\delta_s$ to $H(e^{j\omega})$:


$$H_2(\omega)=H(e^{j\omega})+\delta_s\ge 0\tag{1}$$


In the time domain this simply means adding $\delta_s$ to the central tap $h[0]$. In this way, all zeros on the unit circle become double zeros (look at the corresponding figure in the presentation quoted above). Now you only keep the zeros of $H_2(z)$ that are inside the unit circle, and one of each of the double zeros on the unit circle. In this way you reduce the filter order by a factor of $2$. Now you just need to scale the filter such that its passband amplitude oscillates around $1$. It is a straightforward exercise to derive the actual ripple values of the minimum phase filter given the ripple of the linear phase filter. Again, reading the presentation will help.


No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...