# teaching

[courses taught at CMU | courses taught at Columbia | tutorials | interactive demonstrations | miscellaneous]## courses taught at CMU

Spring 15

42-732/18-790: Wavelets and multiresolution techniques

Fall 13

42-732/18-790: Wavelets and multiresolution techniques

Spring 13

42-698: Introduction to biomedical signal processing

Fall 12

42-703/18-799: Wavelets and multiresolution techniques

Spring 12

42-540 Introduction to biomedical signal processing

Fall 11

42-201: Professional issues in biomedical engineering

Spring 11

42-540 Introduction to biomedical signal processing

Academic year 09/10

On sabbatical leave

Fall 08

42-201: Professional issues in biomedical engineering

Spring 08

42-703/18-799: Wavelets and multiresolution techniques

Fall 07

42-431/18-496: Bioimaging

Fall 06

42-431/18-496: Bioimaging

42-731/18-795: Advanced bioimaging

42-201: Professional issues in biomedical engineering

Spring 06

42-403/18-496: Bioimaging

Fall 05

42-703/18-795: Advanced bioimaging

Spring 05

42-403/18-496: Bioimaging

Fall 04

42-703/18-799: Advanced bioimaging

Spring 04

2-503/18-799: Advanced signals and biosignal processing with wavelets

Fall 03

Introduction to biosignal processing (informal course)

[courses taught at CMU | courses taught at Columbia | tutorials | interactive demonstrations | miscellaneous]

## courses taught at Columbia University

Summer 02

E6860: Wavelets for signal processing and communications

Summer 01

E6860: Wavelets for signal processing and communications

Fall 00

E6860: Wavelets for signal processing and communications

[courses taught at CMU | courses taught at Columbia | tutorials | interactive demonstrations | miscellaneous]

## tutorials

Graph Signal Processing Workshop 16

A sampling of sampling for graphs

NORSIG 06

Multiresolution: what, why, how?

[courses taught at CMU | courses taught at Columbia | tutorials | interactive demonstrations | miscellaneous]

## interactive demonstrations

These interactive demonstrations are powered by CDF (computable document format) technology. See Wolfram Demonstration Project for more demonstrations and to download a free CDF player.

#### three vector spaces

Illustration of vectors in various vector spaces. Examples include 2D vectors, sequences and functions. Operations in vectors spaces, addition and scalar multiplication, are illustrated. With the addition of an inner product, a vector space becomes an inner-product space. In particular, the intuitive notion of orthogonality on 2D vectors, when the inner product equals 0, is illustrated in possibly unintuitive settings, such as for sequences and functions.#### unit-norm vectors under different p norms

Sets of unit-norm vectors for different p-norms: p = 1, p = 2, p = 4, p = 10 and p = infinity. Vectors ending on the lines are of unit norm in the corresponding p-norm.#### a pair of biorthogonal bases in the real plane

A pair of biorthogonal bases in the real plane. The basis (black) and its dual basis (red) are given when they exist (when matrices are invertible).#### separable and nonseparable 2D sequences

Illustration of a separable 2D sinusoidal sequence (left) versus the nonseparable one (right). The separable sequence can only achieve rectangular space patterns, while the nonseparable one offers more freedom. The image size is 16x16.#### Gibbs phenomenon in the truncated DTFT of the sinc sequence

The Gibbs phenomenon refers to the oscillations around a discontinuity in a function when trying to represent it with a Fourier series using only a finite number of terms. Here we show the same phenomenon on the discrete-time Fourier transform (DTFT) of a sinc sequence. Using only a finite number of terms to compute the DTFT leads to the Gibbs phenomenon. The oscillations around the discontinuity persist with the amplitude of roughly 9% of the original height.#### equivalence of linear and circular convolutions

This Demonstration studies the equivalence of linear and circular convolutions. In signal processing, linear convolution (or simply convolution) refers to the convolution between infinitely supported sequences and filters, while circular convolution refers to the convolution between finitely-supported sequences and filters, circularly extended.#### ideal Nth-band discrete filters

Impulse and magnitude responses of ideal Nth-band lowpass discrete filters for N=2, 3, ..., 9. While such filters are not realizeable, they serve as a desired template for passing certain frequencies while blocking others. The impulse response of an ideal lowpass filter is a sinc sequence (of unit norm in the figure) while its magnitude response is constant in the passband.#### moving-average discrete filters

Impulse and magnitude responses of a moving-average discrete filter for N = 3, 5, 7, 9, 11. Such a filter can be used to smooth variations present in a sequence and obtain a global trend.#### linear-phase discrete filters

Impulse and magnitude responses of linear-phase discrete filters. Such filters have constant group delay, which means that all the frequency components are delayed by the same amount, a property desirable in many applications. The impulse response of a linear-phase discrete filter is either symmetric or antisymmetric.#### multirate signal processing: downsampling

This Demonstration shows the effect of filtering followed by downsampling (sometimes also called subsampling or decimation) on a discrete-time sequence and its discrete-time Fourier transform (DTFT) spectrum. Downsampling by a factor of N removes every Nth sample from a discrete-time sequence. This contraction in time results in an expansion in frequency, necessitating filtering prior to downsampling.#### multirate signal processing: upsampling

This Demonstration shows the effect of upsampling followed by filtering on a discrete-time sequence and its discrete-time Fourier transform (DTFT) spectrum. Upsampling by a factor of N inserts N zeros between every two samples of a discrete-time sequence. This expansion in time causes a contraction in frequency and the appearance of spurious spectral components, necessitating filtering after upsampling.#### twin-dragon wavelet

This Demonstration shows the iteration process that approximates a continuous-time, "twin dragon" wavelet basis, from the discrete-time one. The iteration is performed on the so-called "quincunx" lattice. At every itertation, the resulting function tiles the space, even though it has a "fractal" boundary.[courses taught at CMU | courses taught at Columbia | tutorials | interactive demonstrations | miscellaneous]

## miscellaneous

Useful tables from Foundations of Signal Processing [download]

Fundamental subspaces associated with matrix A

Discrete-time processing concepts

Multirate discrete-time processing concepts

Kronecker delta sequence and Dirac delta function properties

Ideal filters, box and sinc functions and sequences

Energy, power and orthogonality concepts for sequences

Deterministic discrete-time autocorrelation/crosscorrelation properties

Discrete-time Fourier transform (DTFT) properties

Discrete Fourier transform (DFT) properties

Fourier transform properties

Fourier series properties

Discrete/continuous Fourier transform summary

z-transform properties

[courses taught at CMU | courses taught at Columbia | tutorials | interactive demonstrations | miscellaneous]