1. A method comprising: receiving an input signal; producing a target vector from the input signal; constructing a plurality of candidate code-vectors based on the target vector and based on at least one inverse weighting function; evaluating an error value associated with each code-vector of the plurality of candidate code-vectors to produce a fixed codebook code-vector; and generating a codeword representative of the fixed codebook code-vector, where the codeword is for use by a decoder to generate an approximation of the input signal.