# Filter design by convex iteration

(Difference between revisions)
 Revision as of 17:11, 23 August 2010 (edit)← Previous diff Revision as of 17:13, 23 August 2010 (edit) (undo)Next diff → Line 4: Line 4: For low pass filter, the frequency domain specifications are: For low pass filter, the frequency domain specifications are: - $+ [itex] \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} -$ + [/itex] Line 23: Line 23: A new vector $g \in \texttt{C}^\texttt{N*N}$ is defined as concatenation of time-shifted versions of $h$, ''i.e.'' A new vector $g \in \texttt{C}^\texttt{N*N}$ is defined as concatenation of time-shifted versions of $h$, ''i.e.'' - $+ [itex] g = \left[ g = \left[ \begin{array}{c} \begin{array}{c} Line 32: Line 32: \end{array} \end{array} \right] \right] -$ + [/itex] 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 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 Line 47: Line 47: & 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}trace(\texttt{I}_{n-N})\,g & for n=1,\hdots,N\\ + & r(n) = \frac{1}{n-N}trace(\texttt{I}_{n-N})\,g & for n=N+1,\hdots,2N-1\\ \end{array}[/itex] \end{array}[/itex]

## Revision as of 17:13, 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[

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