ECE 431 Digital Signal Processing, Lec. 1, Fall 2007


Last Modified: Tue 15 Oct 2019, 01:45 PM, CDT

Clock Icon
  Instructor Office Hours: Click here.
Teacher Icon TA: Badri Narayan Bhaskar Email Address
          Office hours: Tues. 10:30 am -12:30 pm & Thurs. 3 pm - 5 pm in B632 EH.
          Discussion: W 5-6:30 in 2540 EH
Papers Icon Syllabus    Papers Icon Complete Course Notes
Papers Icon D. Slepian, ``On bandwidth,'' Proc. IEEE, vol. 64, no. 3, pp. 292-300, Mar. 1976. (774 kB)
Papers Icon J. H. McClellan and T. W. Parks, ``A personal history of the Parks-McClellan algorithm,'' IEEE Signal Process. Mag., vol. 22, no. 2, pp. 82-86, Mar. 2005. (575 kB)
Papers Icon Homework Solutions: Look for Course Reserves under the Academic tab in My UW.          Transform Tables (updated Dec. 20, 2007)
Tacked Note Icon Class Schedule for Fall 2007
9/5	Wednesday. Discussed course structure (click on "Syllabus"
	above).  HW will be collected on Fridays (none assigned yet).
	Discussed reasons for "going digital", e.g., allows compression
	and error correction.  Covered p. 1 of Chapter 1 of course notes.
	Also ad-libbed about the Vandermonde matrix and Lagrange interpolation
	(that is, the l_i(t)).
	
9/7	Covered Section 1.2 of Ch 1: Review of Fourier series, the DTFT, and
	the continuous-time Fourier transform.
	Assigned HW#1 Ch 1: 2, 3, 4, 7, 8, 9, 14 DUE FRI 9/14.
	Matlab files for Problem 8: probCh1_8script.m, probCh1_8X.m.

9/10 Stated Parseval's theorem for continuous-time Fourier transforms. Stated and derived the Poisson Summation Formula. Drew several graphs to illustrate how sampling the time function corresponds to adding up shifts of the corresponding Fourier transform. 9/12 Restated the Poisson Summation Formula. Stated and derived the Sampling Theorem, introducing the terms cutoff frequency and Nyquist rate. Derived the sinc reconstruction formula and discussed aliasing. Considered the special case fs=2fc. 9/14 Discussed filtering interpretation of sinc reconstruction (impulse sampling) and generalized to ordinary pulses p(t)and the zero-order hold in particular. Ran Matlab demos of sampling theorem reconstruction and the zero-order hold. Assigned HW#2 Ch 1: 6, 13, 15 and Ch 2: 1, 2, 3, 4 DUE FRI 9/21.
9/17 Covered Section 1.5 on Bandlimited Waveforms and Systems. Covered Intro. of Ch. 2. Covered definition of DFT and formula for IDFT. Covered Section 2.1.2 Computation of the DFT in Matlab using fft and fftshift. Also talked a bit about avoiding loops in Matlab via products of column and row vectors; discussed the use of repmat. Added extra problem to HW#2. 9/19 Discussed Sections 2.1.1 Summing a Periodic Sequence over a Period. 2.1.3 Evaluation of Fourier-Series Coefficients. 2.1.4 The Geometric Series (including limiting case as N -> infinity). 2.1.5 Derivation of the IDFT. Started 2.2 Circular Convolution. 9/21 Finished Sections 2.2, 2.2.1, 2.3 Linear Convolution Using Circular Convolution, 2.4 Application to Inputs of Unspecified Length. Assigned HW#3 handout DUE FRI 9/28.
9/24 Ran Matlab demo showing that you should pre-allocate arrays and avoid loops in Matlab. Showed that the Matlab function conv is slower than doing convolution by circular convolution of zero-padded sequences via FFTs. Showed that when evaluating the convolution of a finite sequence with an infinite sequence, if only finitely many outputs are needed, the the problem can be reduced to the convolution of two finite sequences. Lecture Notes for 9/24, Matlab script in Lecture Notes. 9/26 Section 2.5 Windowing Techniques. Ran demo wXscript. Talked about different windows' strengths and weaknesses. Derived the mainlobe and sidelobe widths and sidelobe level of the rectangular window. 9/28 Ran demo on effect of smoothing. Ran demo on the overlap-add method of convolving one block at a time. Discussed Bartlett window. Started Hann window. Assigned HW#4 Ch 2: 5, 6, 8 DUE FRI 10/5.
10/1 Discussed zero-padding and the computation of the DTFT using the FFT. See notes here. Notes also list and discuss my Matlab functions dtft and dtftfft (click on function names to download M-files). Discussed motivation behind the Hann window. Here are two Matlab demos that show how to approximate the continuous-time Fourier transform using the FFT: For x(t)=cos(2*pi*10*t) use ftfftcos.m, and for x(t)=exp(-abs(t)) use ftfftexpabs.m. 10/3 Discussed the use of the finite-sum DTFT to approximate the continuous-time Fourier transform of exp(j*2*pi*f_0*t). Finished discussion of window techniques. Started discussion of z transform. 10/5 Stated an Exam Review problem. Talked more about the ROC as being part of the z transform. Derived a simple inverse z transform formula. See latest notes. See also Exam 1 Summary & Review Questions. Solutions.
10/8 Covered z-transform properties: linearity, delay/advance, convolution. Started Discrete-Time Systems: Linearity, Time Invariance. Worked Examples 5.4 and 5.5. Showed that every discrete-time LTI system can be represented by convolution. 10/10 Answered questions. 10/12 Exam 1 -- in class. Assigned HW#5 See back of exam. DUE FRI 10/19.
10/15 Went over Exam 1. Defined bounded sequence and BIBO stability. 10/17 Showed that an LTI system is BIBO stable if and only if its impulse response is absolutely summable. Showed that an LTI system is causal if and only if its impulse response is zero for negative time. Started discussion of transfer functions H(z). Show that an LTI system is stable if and only if the ROC of its transfer function contains the unit circle. 10/19 Showed that the z transform of a causal waveform has a region of convergence that contains the exterior of a circle. Gave an example of a waveform whose region of convergence is the empty set. Started discussion of difference equations. Showed that without sufficient assumptions, a difference equation can have multiple solutions. Assigned HW#6 Ch 6: 1, 2, 3, 4, 5, 6, 7, 8 DUE FRI 10/26.
10/22 From now on, difference equations are understood to model causal systems. This means that when a causal input is applied, the initial conditions are set to zero. A special case of a causal input is the unit impulse. Showed that if a general input is convolved with the impulse response, the result satisfies the difference equation. To compute solutions in Matlab, use the filter function. When taking z transforms of difference equations to find the transfer function, the transfer function will be B(z)/A(z) and the region of convergence will contain |z|>R0 where R0 is the maximum of the absolute values of the roots of A(z). 10/24 Discussed the bilinear transformation for converting a rational Laplace transform into a rational z transform. Went over some basic properties of Laplace transforms of real-valued impulse responses. Assigned HW#7 Ch 7: 2, 3, 5, 6 DUE FRI 11/2. 10/26 Introduced Butterworth filters.
10/29 Discussed how to evaluate H(exp(j*2*pi*f)) in Matlab with polyval and fliplr when H(z)=B(z)/A(z) is a quotient of polynomials in z. Also showed how to get coefficient vectors a and b from roots of A(z) and B(z) using poly. Discussed script at end of Section 7.3. Here is the script: butterworthscript.m 10/31 Discussed example of filtering the 5-harmonic approximation of a square wave to eliminate the 3rd and 5th harmonics. Method 1: Use infinite- duration continuous-time data and an ideal continuous-time LPF. Method 2: Use infinite-duration signal sampled at faster than the Nyquist rate and apply an ideal discrete-time LPF to infinitely many samples. Method 3: Use only finitely many samples and apply to an IIR filter described by a difference equation. Filter designed by transforming a continuous-time Butterworth filter using the bilinear transform. Started discussing the Chebyshev Type-I filter. 11/2 Covered the design of Chebyshev-I filters. Assigned HW#8 Ch 7: 7, 8, 9, AND ... Generate the square wave signal with harmonics up to 5 (you may use your earlier HW script for this) on the time inverval [0,10]. Using only lowpass filters (you may need more than one) obtained by modifying the Matlab script butterworthscript.m, process samples of the square wave to remove all harmonics except the 3rd. TURN IN: Use subplot to provide the true 3rd harmonic (top plot) and your output waveform (bottom plot). Explain how you use your different lowpass filters. Write out the parameters fp, Ap, fs, As for each filter you use. DUE FRI 11/2.
11/5 Covered Chebyshev-II filters. Covered partial fraction expansion of z transforms. 11/7 Introduced Generalized Linear Phase. 11/9 More on Generalized Linear Phase. Suggested Exam 2 Review problems.
11/12 Answered questions about earlier material and the Review questions. 11/14 Answered questions. 11/16 Exam 2 -- in class. Assigned HW#9 on partial fractions/filtering (download) DUE FRI 11/30.
11/19 Ran Matlab demo of filter types to demonstrate symmetry. Worked differentiator example and ran Matlab demo. 11/21 Returned and went over Exam 2. Pointed out that since a differentiator is a kind of high-pass filter, a type-III FIR filter is not appropriate. Also recalled that a finite Fourier series is always continuous, even if it is converging to a function with a jump discontinuity. Showed that differentiating an FM signal yields essentially a DSB-LC AM signal that can be demodulated with an envelope detector. Ran demo of low-pass filtering y(t)=x(t)cos(2*pi*f0*t), where x(t)=m(t)cos(2*pi*f0*t). 11/23 THANKSGIVING RECESS -- NO CLASS
11/26 Introduced the continuous-time Hilbert transforms and showed that form bandlimited signals, the transform can be generated using discrete-time signal processing. For practical GLP implementation, use a type-IV filter. Also showed how the Hilbert transform is used to produce single-sideband signals for communication systems. 11/28 Introduced the Parks-McClellan Algorithm (see reference at top of this web page). The idea is to write the filter approximation problem as a polynomial approximation problem and then apply the Remez (or Remes) Exchange Algorithm. Explained a bit about the uniform polynomial approximation problem. 11/30 Finished explanation of uniform polynomial approximation. Began discussion of how quantizing the coefficients of a difference equation affects the positions of the poles of the corresponding z transform. Assigned HW#10 Problems 14, 15, 18, 19 from the 12/1/07 version of Chapter 8. Also turn in multiband filter design problem (see my e-mail of 12/1/07). To get started, you may modify the Matlab script multibandscript.m and use the function plotfilterspecs.m DUE FRI 12/07.
12/3 Discussed HW #10, ran multibandDemo.m to explain how to specify band edges, amplitudes, and attenuations. Ran demo illustrating how pole positions change with quantization of difference equation coefficients. Introduced block diagrams and provided an alternative realization that allows for direct control of poles for second-order filters. 12/5 Finished alternative realization for 2nd-order filters. Introduced cascade and parallel realizations for N-th order filters using first and second-order subsystems. Ran demo of z-transform poles of a butterworth filter before and after quantization of its difference equation coefficients. Distributed teaching evaluations. 12/7 Worked several examples of determining the transfer function from a block diagram. Introduced the direct form I realization. Distributed TA teaching evaluations. Assigned HW#11 (download 1-page pdf file) DUE FRI 12/14.
12/10 Introduced the direct form II realization. Showed how to find the transpose of a realization. Started discussion of decimation, interpolation, and sampling rate conversion. See Wikipedia description of decimation in the Roman army. 12/12 Covered upsampling and interpolation. Covered most of downsampling and decimation. 12/14 Finished decimation. Covered sampling rate conversion.
12/21 FRIDAY 2:45-4:45 pm FINAL EXAM in 2535 EH

Web Page Contact: John (dot) Gubner (at) wisc (dot) edu