Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  FIR Filter Optimization as an MILP Problem

    Posted Tue August 23, 2011 06:56 AM

    Originally posted by: ahmed.shahein


    I am working on FIR filter optimization. I developed a MILP problem for reducing/optimizing the number of non-zero terms for the filter coefficients (cost). I formulated the problem in Matlab syntax employing YALMIP.

    I would appreciate your help very much, transferring my problem into a CPLEX format. I tried several tutorials but I couldn't pick up because none of the tutorials presents a filter problem and the problems they offer I am not familiar with them either.

    Anyway, find kindly attached the MILP problem (as jpg file).

    where:

    \hat h_m is scaled filter coefficients (integer or binary)
    Q is the quantization bit-width (natural)
    M is half the filter length (natural)
    \delta_p is the passband ripples (real/floating point)
    \delta_s is the stopband ripples (real/floating point)
    \omega_p is the passband cutoff frequency (natural)
    \omega_s is the stopband cutoff frequency (natural)
    c(m,wT) is a sinusoidal function (
    c(m,w) = 1+2cos(w(m-1)) ... for N even
    m = 2,3,4 ... M
    c(m,w) = 2cos(w(m-1)) ... for N odd
    m = 1,2,3 ... M
    )

    As an example:

    The filter coefficients are:
    \hat h_m = 2284 1824 1092 363 -139 -334 -286 -132 6 72 73 45 18 4

    Q = 12

    M = 14

    Cost(\hat h_m) is the number of none zero bits in the coefficient.

    As an example:
    2284 => 100011101100 -> Cost(2284) = 6
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: FIR Filter Optimization as an MILP Problem

    Posted Sat August 27, 2011 03:40 PM

    Originally posted by: SystemAdmin


    You can either model this in OPL, or you could just try the LP file format, which basically looks like mathematical formulae without quantors.

    I hope that the only variables in your model are \hat h_m, and potentially \delta_p and \delta_s. The others should be constants. If, for example, Q is a variable then you are out of luck because CPLEX can only deal with linear and quadratic constraints, but not exponential functions.
    Also, it seems like your model has an infinite number of constraints, as you have one constraint for every possible value of wT.

    To solve models with infinitely many constraints you have basically two options:

    1. You just use a finite number of constraints by discretizing wT. This means of course that the final solution may not be completely feasible as some constraints are missing in the model. The more fine grained the discretization, the "more feasible" the solution will be, but the harder it is for CPLEX to solve the relaxed model.

    2. You start with a relatively loose discretization as in (1) and then use the lazy constraint callback to refine the discretization (i.e., add more constraints) at the places that CPLEX offers as potential solution.
    Tobias
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: FIR Filter Optimization as an MILP Problem

    Posted Fri February 06, 2015 05:54 PM

    Originally posted by: bonianis


    Hi Ahmed,

    I am also trying to design linear filter by minimum signed power of two.I need some suggestion from you as you have done the same topic.

    My question is:

    Do i need to design the filter by Matlab before doing the optimization.

    I just want to know the whole process how it works.

    please help me.

     

    Best Regards

    Anisuzzaman Boni


    #CPLEXOptimizers
    #DecisionOptimization