In this paper, we consider the optimal design of finite-impulse response (FIR) filters with coefficients expressed as sums of signed powers-of-two (SPT) terms, where the normalized peak ripple (NPR) is taken as the performance measure. This problem is formulated as a mixed-integer programming problem. Based on a transformation between two different integer spaces and the computation of the optimal scaling factor for a given set of coefficients, this mixed integer programming problem is transformed into an equivalent integer programming problem. Then, an efficient algorithm based on a discrete filled function is developed for solving this equivalent problem. For illustration, some numerical examples are solved.