Homomorphic filtering

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Homomorphic filtering is a generalized technique for signal and image processing, involving a nonlinear mapping to a different domain in which linear filter techniques are applied, followed by mapping back to the original domain. This concept was developed in the 1960s by Thomas Stockham, Alan V. Oppenheim, and Ronald W. Schafer at MIT [1] and independently by Bogert, Healy, and Tukey in their study of time series [2].

Image enhancement[edit]

Homomorphic filter is sometimes used for image enhancement. It simultaneously normalizes the brightness across an image and increases contrast. Here homomorphic filtering is used to remove multiplicative noise. Illumination and reflectance are not separable, but their approximate locations in the frequency domain may be located. Since illumination and reflectance combine multiplicatively, the components are made additive by taking the logarithm of the image intensity, so that these multiplicative components of the image can be separated linearly in the frequency domain. Illumination variations can be thought of as a multiplicative noise, and can be reduced by filtering in the log domain.

To make the illumination of an image more even, the high-frequency components are increased and low-frequency components are decreased, because the high-frequency components are assumed to represent mostly the reflectance in the scene (the amount of light reflected off the object in the scene), whereas the low-frequency components are assumed to represent mostly the illumination in the scene. That is, high-pass filtering is used to suppress low frequencies and amplify high frequencies, in the log-intensity domain.[3]


Homomorphic Filtering can be used for improving the appearance of a grayscale image by simultaneous intensity range compression (illumination) and contrast enhancement (reflection).


m = image,

i = illumination,

r = reflectance

We have to transform the equation into frequency domain in order to apply high pass filter. However, it's very difficult to do calculation after applying Fourier transformation to this equation because it's not a product equation anymore. Therefore, we use 'log' to help solving this problem.

Then, applying Fourier transformation


Next, applying high-pass filter to the image. To make the illumination of an image more even, the high-frequency components are increased and low-frequency components are decrease.


H = any high-pass filter

N = filtered image in frequency domain

Afterward, returning frequency domain back to the spatial domain by using inverse Fourier transform.

Finally, using exponential function to eliminate the log we used at the beginning to get the enhanced image


The following figures show the results by applying homomorphic filter, high-pass filter, and both homomorphic and high-pass filter . All figures are produced by using Matlab.

Figure 1: Original image: trees.tif
Figure 2: Applying homomorphic filter to original image
Figure 3: Applying high-pass filter to figure 2
Figure 4: Applying high-pass filter to original image (figure 1)

According to the figures one to four, we can see that how homomorphic filtering is used for correcting non-uniform illumination in image, and the image become clearer than the original image. On the other hand, if we apply high pass filter to homomorphic filtered image, the edges of the images become sharper and the other areas become dimmer. This result is as similar as just doing high pass filter only to the original image.

Audio and speech analysis[edit]

Homomorphic filtering is used in the log-spectral domain to separate filter effects from excitation effects, for example in the computation of the cepstrum as a sound representation; enhancements in the log spectral domain can improve sound intelligibility, for example in hearing aids.[5]

Surface electromyography signals (sEMG)[edit]

Homomorphic filtering was used to removes the effect of the stochastic impulse trains, which originates the sEMG signal, from the power spectrum of sEMG signal itself. In this way, only information on motor unit action potentialn (MUAP) shape and amplitude were maintained, and then, used to estimate the parameters of a time-domain model of the MUAP itself [6].

Neural decoding[edit]

How individual neurons or networks encode information is the subject of numerous studies and research. In central nervous system it mainly happens by altering the spike firing rate (frequency encoding) or relative spike timing (time encoding) [7][8]. Time encoding consists of altering the random inter-spikes intervals (ISI) of the stochastic impulse train in output from a neuron. Homomorphic filtering was used in this latter case to obtain ISI variations from the power spectrum of the spike train in output from a neuron with [9] or without [10] the use of neuronal spontaneous activity. The ISI variations were caused by an input sinusoidal signal of unknown frequency and small amplitude, i.e. not sufficient, in absence of noise to excite the firing state. The frequency of the sinosoidal signal was recovered by using homomorphic filtering based procedures.


  1. ^ A. V. Oppenheim and R. W. Schafer, “From frequency to quefrency: A history of the cepstrum,” IEEE Signal Process. Mag., vol. 21, no. 5, pp. 95–106, Sep. 2004.
  2. ^ B. P. Bogert, M. J. R. Healy, and J. W. Tukey: "The Quefrency Alanysis of Time Series for Echoes: Cepstrum, Pseudo Autocovariance, Cross-Cepstrum and Saphe Cracking". Proceedings of the Symposium on Time Series Analysis (M. Rosenblatt, Ed) Chapter 15, pp. 209–243. New York: Wiley, 1963.
  3. ^ Douglas B. Williams and Vijay Madisetti (1999). Digital signal processing handbook. CRC Press. ISBN 0-8493-2135-2.
  4. ^ Gonzalez, Rafael C. Digital Image Processing. ISBN 978-0-13-168728-8.
  5. ^ Alex Waibel and Kai-Fu Lee (1990). Readings in Speech Recognition. Morgan Kaufmann. ISBN 1-55860-124-4.
  6. ^ G. Biagetti, P. Crippa, S. Orcioni, and C. Turchetti, “Homomorphic deconvolution for muap estimation from surface emg signals,” IEEE Journal of Biomedical and Health Informatics, vol. 21, no. 2, pp. 328– 338, March 2017.
  7. ^ E.R. Kandel , J.H. Schwartz , T.M. Jessell , Principles of Neural Science, 4th Ed., McGraw-Hill, New York, 2000.
  8. ^ E. Izhikevich , Dynamical systems in neuroscience, The Geometry of Excitability and Bursting, MIT, Cambridge, 2006.
  9. ^ S. Orcioni, A. Paffi, F. Camera, F. Apollonio, and M. Liberti, “Automatic decoding of input sinusoidal signal in a neuron model: Improved SNR spectrum by low-pass homomorphic filtering,” Neurocomputing, vol. 267, pp. 605–614, Dec. 2017.
  10. ^ S. Orcioni, A. Paffi, F. Camera, F. Apollonio, and M. Liberti, “Automatic decoding of input sinusoidal signal in a neuron model: High pass homomorphic filtering,” Neurocomputing, vol. 292, pp. 165–173, May 2018.

A.V. Oppenheim, R.W. Schafer, T.G. Stockham "Nonlinear Filtering of Multiplied and Convolved Signals" Proceedings of the IEEE Volume 56 No. 8 August 1968 pages 1264-1291

External links[edit]