Filter design by convex iteration

From Wikimization

Revision as of 17:05, 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: 
</pre>
<p>\begin{array}{ll}
\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]
\end{array}
</p>
<pre>


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]
\end{array}


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: 
</pre>
<p>g =            \left[
</p>
<pre>              \begin{array}{c}
                h(n) \\
                h(n-1) \\
                \vdots \\
                h(n-N) \\
              \end{array}
            \right]

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 & for n=1,\hdots,N\\
& r(n) = \frac{1}{n-N}\textrm{trace(\texttt{I})_{n-N}\,g & for n=N+1,\hdots,2N-1\\
\end{array}

Personal tools