# Filter design by convex iteration

### From Wikimization

(Difference between revisions)

Line 63: | Line 63: | ||

\textrm{minimize} &\|\textrm{diag}(G)\|_\infty\\ | \textrm{minimize} &\|\textrm{diag}(G)\|_\infty\\ | ||

\textrm{subject~to} | \textrm{subject~to} | ||

- | & g = \left[ | + | & g = \left[ \left[ |

+ | \begin{array}{c} | ||

+ | h(n) \\ | ||

+ | h(n-1) \\ | ||

+ | \vdots \\ | ||

+ | h(n-N) \\ | ||

+ | \end{array} | ||

+ | \right] &\\ | ||

& R(\omega) = r(0)+\!\sum\limits_{n=1}^{N-1}2r(n)\cos(\omega n)\\ | & R(\omega) = r(0)+\!\sum\limits_{n=1}^{N-1}2r(n)\cos(\omega n)\\ | ||

&\frac{1}{\delta_1^2}\leq R(\omega)\leq\delta_1^2 &\omega\in[0,\omega_p]\\ | &\frac{1}{\delta_1^2}\leq R(\omega)\leq\delta_1^2 &\omega\in[0,\omega_p]\\ |

## Revision as of 02:37, 24 August 2010

where denotes impulse response.

For a low pass filter, frequency domain specifications are:

To minimize peak magnitude of , the problem becomes

But this problem statement is nonconvex.

So instead, a new vector

is defined by concatenation of time-shifted versions of .

Then

is a positive semidefinite rank 1 matrix.

Summing along each of subdiagonals gives entries of the autocorrelation function of .

In particular, the main diagonal of holds squared entries of .

Minimizing is therefore equivalent to minimizing .

Define ...

By spectral factorization, , an equivalent problem is:

Excepting the rank constraint, this problem is convex.

N = 32; delta1 = 0.01; delta2 = 0.01; cvx_begin variable h(N,1); variable x(N,1); G = h*h'; minimize(norm(diag(G),inf)); r = xcorr(h); R = fftcc(r); 1/delta1^2 <= R <= delta1^2; %%% range? cvx_end