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.
Or, if you could recommend me a good tutorial or getting started manual, despite the one posted at the IBM site because I already tried them but they couldn't cover my needs. I want to know who to formulate generic models using CPLEX syntax.
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