Diagram Shaping via SOCP
Minimum thermal noise power for given sidelobe levelWe first seek to minimize the thermal noise power subject to a sidelobe level constraint. This problem can be cast as The above constraints are second-order cone constraints on the decision variables, since they involve magnitude constraints on a complex vector that depends affinely on the decision variables. Hence the above problem is an SOCP. A CVX implementation of this problem is given below. Note that CVX understands the magnitude of a complex variable and transforms the corresponding constraint into a second-order cone one internally. CVX implementation
cvx_begin variable z(n,1) complex; minimize( norm(z,2) ) subject to for i = 1:N, abs(exp(a*cos(Angles(i))*(1:n))*z) <= delta; end real( exp(a*(1:n))*z) >= 1; cvx_end For a particular example, we take the same parameters as in the least-squares design. We set the sidelobe level at . Measured in decibels (dB): The coarse discretization level of may be an issue. This is readily solved by using a higher number, say .
Minimum sidelobe level attenuationOur goal is now to minimize the sidelobe attenuation level, , given the normalization requirement . This can be cast as the SOCP A CVX implementation is given below. CVX implementation
cvx_begin variable z(n,1) complex; variable delta(1) minimize( delta ) subject to for i = 1:N, abs(exp(a*cos(Angles(i))*(1:n))*z) <= delta; end real( exp(a*(1:n))*z) >= 1; cvx_end The result shows an optimal attenuation level in the stop band of , which, in decibels, is:
Trade-off curve |