Filter design by convex iteration
From Wikimization
Line 2: | Line 2: | ||
H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega} | H(\omega) = h(0) + h(1)e^{-j\omega} + \cdots + h(n-1)e^{-j(N-1)\omega} | ||
</math> | </math> | ||
- | where <math> h \in \texttt{C}^\texttt{N} </math> | + | where <math> h \in \texttt{C}^\texttt{N} </math> |
For low pass filter, the frequency domain specifications are: | For low pass filter, the frequency domain specifications are: | ||
- | + | <math> | |
\begin{array}{ll} | \begin{array}{ll} | ||
\frac{1}{\delta_1}\leq|H(\omega)|\leq\delta_1, & \omega\in[0,\omega_p]\\ | \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] | |H(\omega)|\leq\delta_2, & \omega\in[\omega_s,\pi] | ||
\end{array} | \end{array} | ||
- | + | </math> | |
\vspace{5 mm} | \vspace{5 mm} |
Revision as of 15:21, 23 August 2010
where
For low pass filter, the frequency domain specifications are:
\vspace{5 mm}
To minimize the maximum magnitude of , the problem becomes
\begin{equation}
\begin{array}{lll}
\hbox{min}
\\
\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 , \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 is a positive semidefinite matrix of size
with rank 1. Summing along each 2N-1 subdiagonals gives entries of the autocorrelation function of
. In particular, the main diagonal holds squared entries
of
. Minimizing
is equivalent to minimizing the trace of
.
\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}