Filter design by convex iteration

From Wikimization

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
-
<math>H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega}</math>
+
<math>H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega}</math>
-
where <math> h \in \texttt{C}^\texttt{N} </math>
+
where <math> h \in \texttt{C}^\texttt{N}
 +
</math>
Line 47: Line 48:
& R(\omega)\geq0, & \omega\in[0,\pi]\\
& R(\omega)\geq0, & \omega\in[0,\pi]\\
& \textrm{trace}(gg^\texttt{H}) = 1 &\\
& \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} \textrm{trace}(\texttt{I}_{n-N})\,g & \textrm{for}\, n=1, ..., N\\
-
& r(n) = \frac{1}{n-N} \textrm{trace}(\texttt{I}_{n-N})\,g & \textrm{for}\, n=N+1, \hdots, 2N-1\\
+
& r(n) = \frac{1}{n-N} \textrm{trace}(\texttt{I}_{n-N})\,g & \textrm{for}\, n=N+1, ..., 2N-1\\
\end{array}</math>
\end{array}</math>

Revision as of 17:18, 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: 
\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}


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

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

Personal tools