|WikiProject Computing||(Rated Start-class, Low-importance)|
Abuse of Notation
An expression such as "y[n] = x[n] * h[n]" is an abuse of notation. (Try substituting n=3 and see what that means.) The fact that many other people are sloppy about this is not an excuse for us.
There are several alternatives, all of which involve honestly acknowledging that convolution operates on whole functions (or sequences). This is exactly analogous to integration: The variable of integration is "bound" to the integration, and so is the variable of convolution here. (Using . for product, we never write ʃf(t) dt . ʃg(t) dt when we mean ʃ f(t).g(t) dt.)
1. "Lamdba notation", using "@" for LISP's lambda [or MATLAB's equivalent]: @(n) y[n] = @(n) x[n] * @(n) h[n].
2. Slightly more informally, use implicit lambda notation with parentheses: @(n) y[n] = @[n] (x*h)[n], which may be written y[n] = (x*h)[n].
Ironically, convolution is perfectly well defined using integration instead of summation, and I'm sure we would never make the same notational error with integration: Everyone is careful with bound-variable notation when writing integrals. Jmacwiki (talk) 18:39, 19 April 2016 (UTC)
- Good point. But you also point out that many other people use this same convention. And that is sufficient reason for Wikipedians to do the same. In The Industrial Electronics Handbook by J. David Irwin, for example, it is done with the caution: "It is noted that unless interpreted carefully the notation y(t) = x1(t)*x2(t) can lead to confusion. For instance, y(t-t0) = x1(t)*x2(t-t0), not x1(t-t0)*x2(t-t0), as might be expected." Another example is: "" with the caveat "Here x(t) and y(t) should be thought of in their totality, rather than at specific instants Just as in the case of convolution, this notation can lead to confusion. It does not imply that y(t) is a function of x(t) at only the same instant " To address this deficiency, I added a hatnote to the article.
- --Bob K (talk) 05:30, 20 April 2016 (UTC)