I'm wondering if anyone here can trace the history of DSP notation. There's no universally-agreed-upon set of conventions, as far as I'm aware. When I discussed this briefly with a colleague of mine, she laughed and advised me to stick with the notation used in my favorite textbook.
For reference, I'll lay out some of the notation I've seen used. (Not all, though!)
Continuous-Time Fourier Transform
H(f), H(ω), H(jω), H(jΩ), H(ν)
The argument of the first is cyclical frequency, with units of hertz, or cycles per second. The notation is used in MATLAB documentation, for instance. The argument of the second is angular frequency, with units of radians per second. Both of these make it clear what the argument you get to vary is.
The next two emphasize that the continuous-time Fourier transform is obtained by evaluating the Laplace transform along the imaginary axis, though they differ in the use of lowercase and capital omega to denote continuous-time angular frequency. If I recall correctly, Signals and Systems (Oppenheim and Willsky) and Discrete-Time Signal Processing (Oppenheim and Schafer) differ in the use of lowercase or capital omega for continuous-time and discrete-time frequency, even though Oppenheim co-authored both!
The lattermost is not a continuous-time Fourier transform, but rather a continuous-space Fourier transform, as used in optics, for instance. The argument ν represents spatial frequency, which is in terms of inverse distance.
Discrete-Time Fourier Transform
H(F), H(Ω), H(e^jΩ), H(e^jω)
The argument of the first is cyclical frequency normalized by the sampling rate, so it lies entirely in the range from -0.5 to 0.5. This notation is not common as far as I'm aware, though I did see it in course notes for MIT's "Biomedical Signal and Image Processing" course. The argument of the second is the discrete-time angular frequency, spanning a 2π interval.
The latter two emphasize that the discrete-time Fourier transform is obtained by evaluating the Z-transform along the unit circle in the complex plane. Again, they differ in the use of lowercase and capital omega to denote discrete-time angular frequency.
Discrete-Time Signals
h[n], h(n), h(nT), h_n
The first two notations for a discrete-time signal differ only in the use of brackets and parentheses. The third emphasizes that a discrete-time signal may obtained by sampling a continuous-time signal at integer multiples of a sampling period. The fourth has the time index as a subscript, rather than in brackets or parentheses, which may look cleaner in an expression with many parentheses or brackets.
. . .
So, with that said, does any have insight into the evolution (or lack thereof) of DSP notation? If not, what's your preferred notation?
TKR-
I asked this at one of my first few DSP jobs and was told that all notation arises from Oppenheim and Schafer's famous first book in 1972 (they wrote several):
https://www.google.com/search?client=firefox-b-1-d...
I don't know if that's really true, but I think they're both still alive, and that search page is covered with references to them as "fathers of DSP" including YouTube interviews, so you might want to ask them !
-Jeff
Thank you, Jeff! I'll have the good fortune to talk with Oppenheim this August, and I will ask.
Oppenheim gave a talk at MIT recently. I wish he had talked more about his own work. He spoke at length about those he worked with back around the advent of DSP. I had the impression that a few of his colleagues penned books that preceded the first edition of "Digital Signal Processing."
I can't comment on the history, but regarding frequency, most authors define a continuous radian frequency Ω (rad/s). This includes Oppenheim and Shafer (as you mentioned) and Mitra. However, Michael Rice uses ω for continuous frequency.
Most authors define a normalized discrete frequency, ω = 2πf/fs (rad/sample), except for Michael Rice, who uses Ω.
In the case of Rick Lyons, he (mostly) avoids using continuous radian frequency. However, he does use ω for both continuous and discrete frequency (see section 6.3 of Understanding Digital Signal Processing, 3rd ed.)
I prefer to use Ω for continuous radian frequency and ω for normalized discrete frequency (rad/sample).
- Neil
MIT's current rendition of its introductory signal processing course ("6.3000") uses the following conventions: f [Hz], ω [rad/second], Ω [rad/sample]. Perhaps the use of ω for continuous-time angular frequency is to match the conventions used in introductory mathematics and physics courses. I believe the graduate-level signal processing course ("6.7000") follows Oppenheim and Schafer's text: Ω [rad/second] and ω [rad/sample].
Regardless, I use whatever notation the class adopts. (Last fall, I juggled three different conventions...)
I appreciate your blog posts, Neil. Very well written.
Usually, one discusses either a continuous-time or a discrete-time system. It does get sticky for mixed systems. It still feels strange to me to use Ω instead of ω for a continuous-time system (after decades of using ω).
I'm glad you like my posts. Let me know if there are any basic topics you'd like to see posts about.