Filter design by convex iteration

From Wikimization

(Difference between revisions)
Jump to: navigation, search

Cslaw (Talk | contribs)
(New page: \begin{equation} H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega} \end{equation} where $h \in \texttt{C}^\texttt{N}$ \vspace{5 mm} For low pass filter, the frequency...)
Next diff →

Revision as of 16:13, 23 August 2010

\begin{equation} H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega} \end{equation} where $h \in \texttt{C}^\texttt{N}$ \vspace{5 mm}

For low pass filter, the frequency domain specifications are: \begin{equation} \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} \end{equation}

\vspace{5 mm}

To minimize the maximum magnitude of $h$, the problem becomes \begin{equation} \begin{array}{lll} \hbox{min} & |h|_\infty & \\ \hbox{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} \end{equation}

\vspace{5 mm}

A new vector $g \in \texttt{C}^\texttt{N*N}$ is defined as concatenation of time-shifted versions of $h$, \emph{i.e.} \begin{equation} g = \left[

              \begin{array}{c}
                h(t) \\
                h(t-1) \\
                \vdots \\
                h(t-N) \\
              \end{array}
            \right]

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

\vspace{5 mm}

Using spectral factorization, an equivalent problem is \begin{equation} \begin{array}{lll} \hbox{min} & |r|_\infty & \\ \hbox{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] \end{array} \end{equation}

Personal tools