<< Chapter < Page Chapter >> Page >

Consider the signal x that is zero everywhere but at the instants 1 , 0 , and 1 where it has values 1 , 0.5 , and 0.25 , respectively. At every instant n , x n can be expressed as 1 δ n 1 0.5 δ n 0.25 δ n 1 . By linearity, the output can be obtained by composition of carefully translated and weighted impulseresponses: y n 1 h n 1 0.5 h n 0.25 h n 1 .

Got questions? Get instant answers now!

To generalize the example [link] we can define the operation of convolution .

Convolution of two signals h and x
y n h * x n m x m h n m

The operation of convolution can be fully understood by the explicit construction of some examples ofconvolution product. The module Discrete-Time Convolution gives the graphic construction of an examples and it offers pointers toother examples.

Properties

The properties of the convolution operation are well illustrated in themodule Properties of Convolution . The most interesting of such properties is the extension:

Property

If x n is extended over M 1 samples, and h n is extended over M 2 samples, then the convolution product y n is extended over M 1 M 2 1 samples.

Therefore, the signal convolution product is longer than both the input signal and the impulse response.

Another interesting property is the commutativity of the convolutionproduct, such that the input signal and the impulse response can change their roles without affecting the outputsignal.

Frequency response and filtering

The Fourier Transform of the impulse response is called Frequency Response and it is represented with H ω . The Fourier transform of the system output is obtained by multiplication of the Fourier transform of theinput with the frequency response, i.e., Y ω H ω X ω .

The frequency response shapes, in a multiplicative fashion, the input-signal spectrum or, in other words, it performs some filtering by emphasizing some frequency components and attenuating some others. A filtering can alsooperate on the phases of the spectral components, by delaying them of different amounts.

Filtering can be performed in the time domain (or space domain), by the operation of convolution, or in the frequency domain by multiplication of the frequency response.

Take the impulse response that is zero everywhere but at the instants 1 , 0 , and 1 where it has values 1 , 0.5 , and 0.25 , respectively. Redefine the filtering operation filtra() of the Sound Chooser presented in the module Media Representation in Processing . In this case filtering is operated in the time domain by convolution.

void filtra(float[]DATAF, float[] DATA, float WC, float RO) {//WC and R0 are useless, here kept only to avoid rewriting other //parts of codefor(int i = 2; i<DATA.length-1; i++){ DATAF[i]= DATA[i+1] + 0.5*DATA[i]+ 0.25*DATA[i-1];} }
Got questions? Get instant answers now!

Causality

The notion of causality is quite intuitive and it corresponds to the experience of stimulating a system andgetting back a response only at future time instants. For discrete-time LTI systems, this happens when the impulseresponse is zero for negative (discrete) time instants. Causal LTI systems can produce with no appreciabledelay an output signal sample-by-sample , because the convolution operator acts only on present andpast values of the input signal. In [link] the impulse response is not causal, but this is not a problem because the whole input signal isalready available, and the filter can process the whole block of samples.

2d filtering

The notions of impulse response, convolution, frequency response, and filtering naturally extend from 1D to 2D, thusgiving the fundamental concepts of image processing.

Convolution of two 2D signals (images)
y m n h * x m n k l x k l h m k n l
If x is the image that we are considering, it is easy to realize that convolution isperformed by multiplication and translation in space of a convolution mask or kernel h (it is the impulse response of the processing system). As in the 1D casefiltering could be interpreted as a combination of contiguous samples (where the extension of such clusterdepends on the extension of the filter impulse response) that is repeated in time, sample by sample. So, in 2D spacefiltering can be interpreted as a combination of contiguous samples (pixels) in a cluster, whose extension is given bythe convolution mask. The so-called memory of 1-D systems becomes in 2-D a sort of distance effect .

As in the 1D case, the Fourier transform of the impulse response iscalled Frequency response and it is indicated by H ω X ω Y . The Fourier transform of the system output is obtained by Fourier-transforming the input and multiplying theresult by the frequency response. Y ω X ω Y H ω X ω Y X ω X ω Y .

Consider the Processing code of the blurring example and find the lines that implement the convolution operation.

for(int y=0; y<height; y++) { for(int x=0; x<width/2; x++) { float sum = 0;for(int k=-n2; k<=n2; k++) { for(int j=-m2; j<=m2; j++) { // Reflect x-j to not exceed array boundaryint xp = x-j; int yp = y-k;//... omissis ... //auxiliary code to deal with image boundariessum = sum + kernel[j+m2][k+n2]* red(get(xp, yp)); }} output[x][y] = int(sum);} }
Got questions? Get instant answers now!

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Media processing in processing. OpenStax CNX. Nov 10, 2010 Download for free at http://cnx.org/content/col10268/1.14
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Media processing in processing' conversation and receive update notifications?

Ask