Real-time digital signal and image processing applications, such as filtering, demand high performance. Often, multiplication is one of the most timeconsuming steps of the filtering operation. Log-based multipliers have been used for improving multiplication efficiency at the expense of accuracy. The objective of the proposed work is to improve the accuracy of log-based hardware multipliers by appropriately altering the filter weights and without increasing the required resources.
| INTRODUCTIONFiltering is a computationally expensive but widely used operation in image and signal processing applications including image enhancement, 1 smoothing, 2,3 and edge detection. 4 Hardware filtering implementations often have high circuitry and power consumption requirements, mainly due to the use of multipliers. Log-based multipliers convert multiplications and divisions to more efficient operators, namely, additions and subtractions, at the expense of accuracy.Mitchell 5 first proposed a method for implementing log-based multipliers using a piecewise linear approximation technique. Although the log and anti-log functions in Mitchell method are hardware efficient, they produce large average errors. Attempts have been made to improve Mitchell approximation by proposing several error correction circuits. These methods include Mitchell-based methods, 6-9 lookup table (LUT)-based methods, [10][11][12][13][14]19,20 and region-based approaches. [15][16][17][18][19][20][21] This work concentrates on filtering (convolution) applications, where the filter weights are known and fixed. The proposed method employs Mitchell multiplier but optimizes the filter weights so that the convolution error is reduced. Before presenting the proposed method, some background information about existing log-based multipliers is provided.
| REVIEW OF LOGARITHMIC MULTIPLIERS
| Mitchell logarithmic multiplierMitchell multiplier 5 uses a piecewise linear approximation of the log 2 (N) curve, as shown in Figure 1 for an integer N. The method is exact when N is a power of 2.The binary representation of N is Abbreviations: FF, flip flop; FPGA, field programmable gate array; IM, iterative log multiplier; LUT, lookup table; OD, operand decomposition.