Filter design by convex iteration

From Wikimization

(Difference between revisions)
Jump to: navigation, search
Line 42: Line 42:
<math>
<math>
\begin{array}{lll}
\begin{array}{lll}
-
\hbox{min} & |\textrm{diag}(gg^\texttt{H})|_\infty & \\
+
\textrm{min} & |\textrm{diag}(gg^\texttt{H})|_\infty & \\
-
\hbox{subject to} & \frac{1}{\delta_1^2}\leq R(\omega)\leq\delta_1^2, & \omega\in[0,\omega_p]\\
+
\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)\leq\delta_2^2, & \omega\in[\omega_s,\pi]\\
& R(\omega)\geq0, & \omega\in[0,\pi]\\
& R(\omega)\geq0, & \omega\in[0,\pi]\\

Revision as of 16:03, 23 August 2010

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{subject\,\, 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: 
</pre>
<p>\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}
</p>
<pre>
Personal tools