摘要 |
Interpolation of signed values A and B is efficiently performed by simple circuitry. To calculate an interpolated value C based on a 4-bit values A (bits a<SUB>3</SUB>a<SUB>2</SUB>a<SUB>1</SUB>a<SUB>0</SUB>) and B (bits b<SUB>3</SUB>b<SUB>2</SUB>b<SUB>1</SUB>b<SUB>0</SUB>) expressing a negative number by twos complement notation and a 4-bit interpolation rate D (bits d<SUB>3</SUB>d<SUB>2</SUB>d<SUB>1</SUB>d<SUB>0</SUB>) consisting of only a decimal part, a basic expression of C=(1-D)*A+D*B is transformed into an expression composed of an unsigned part that includes a sum of products with a bit d<SUB>i </SUB>or a logically inverted value e<SUB>i </SUB>of the bit d<SUB>i </SUB>(i=0, 1, 2, and 3), and indicates an absolute value of the interpolated value C, and a signed part indicating a sign of the interpolated value C. Then, 7 bits of bits c<SUB>6 </SUB>through c<SUB>0 </SUB>are generated from an arithmetic operation of the unsigned part, and logic judgement of the signed part is performed by considering a carry from the digit of the bit c<SUB>6 </SUB>of the arithmetic operation of the unsigned part to generate a bit c<SUB>7</SUB>. Significant digits of the obtained 8-bit value (bits c<SUB>7 </SUB>through c<SUB>0</SUB>) are outputted as an interpolated value.
|