Filter design by convex iteration

From Wikimization

Revision as of 16:18, 23 August 2010 by Cslaw (Talk | contribs)
Jump to: navigation, search
LaTeX: H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega}

where LaTeX:   h \in \texttt{C}^\texttt{N}

For low pass filter, the frequency domain specifications are: LaTeX: 
\frac{1}{\delta_1}\leq|H(\omega)|\leq\delta_1, & \omega\in[0,\omega_p]\\
|H(\omega)|\leq\delta_2, & \omega\in[\omega_s,\pi]

To minimize the maximum magnitude of LaTeX: h , the problem becomes

LaTeX: \begin{array}{lll}
\textrm{min}&   |h|_\infty & \\
\textrm{subjec t\,\, to} & \frac{1}{\delta_1}\leq|H(\omega)|\leq\delta_1, & \omega\in[0,\omega_p]\\
& |H(\omega)|\leq\delta_2, & \omega\in[\omega_s,\pi]

A new vector LaTeX: g \in \texttt{C}^\texttt{N*N} is defined as concatenation of time-shifted versions of LaTeX: h , i.e. LaTeX: 
g =            \left[
<pre>              \begin{array}{c}
                h(n) \\
                h(n-1) \\
                \vdots \\
                h(n-N) \\

Then LaTeX: gg^\texttt{H} is a positive semidefinite matrix of size LaTeX: \texttt{N}^2 \times \texttt{N}^2 with rank 1. Summing along each 2N-1 subdiagonals gives entries of the autocorrelation function of LaTeX: h . In particular, the main diagonal holds squared entries of LaTeX: h . Minimizing LaTeX: |h|_\infty is equivalent to minimizing LaTeX: |\textrm{diag}(gg^\texttt{H})|_\infty  .

Using spectral factorization, an equivalent problem is

LaTeX: \begin{array}{lll}
\textrm{min} & |\textrm{diag}(gg^\texttt{H})|_\infty & \\
\textrm{subject \,\, to} & \frac{1}{\delta_1^2}\leq R(\omega)\leq\delta_1^2, & \omega\in[0,\omega_p]\\
& R(\omega)\leq\delta_2^2, & \omega\in[\omega_s,\pi]\\
& R(\omega)\geq0, & \omega\in[0,\pi]\\
& \textrm{trace}(gg^\texttt{H}) = 1 &\\
& r(n) = \frac{1}{n} \textrm{trace}(\texttt{I}_{n-N})\,g & \textrm{for}\, n=1, \hdots, N\\
& r(n) = \frac{1}{n-N} \textrm{trace}(\texttt{I}_{n-N})\,g & \textrm{for}\, n=N+1, \hdots, 2N-1\\

Personal tools