San José State University, College of Engineering, Electrical Engineering Department, EE253, Digital Signal Processing I, Spring 2010 Instructor: Prof. Essam A. Marouf Office Location: E353 Telephone: (408) 924-3969 Email: emarouf@email.sjsu.edu Office Hours: M&W 2:15-4:15 pm Class Days/Time: M&W 6:00-7:15 pm Classroom: ENG303 Prerequisites: EE210: Linear Systems (basic knowledge of signals, systems, and transforms) or equivalent EE253 Website There is a website for this class hosted by SJSU/BLACKBOARD. The URL is http://sjsu6.blackboard.com/. More detailed instructions to access the website will be provided in class. All handouts (except the Lecture Notes and any other large handouts) will be posted there. Only officially registered students can access the website. Course Objectives After a brief review of time and frequency analysis of discrete-time signals and systems, the course proceeds to develop analytical and computational tools to study: 1- Signal conversion from the anolog to the digital domains and back. 2- The Discrete Fourier Transform (DFT) and its properties. 3- The Fast Fourier Transform (FFT) implementation of the DFT and application to fast implementation of convolution and correlation algorithms. 4- Spectral analysis of deterministic signals; spectral resolution and leakage. 5- Spectrogram analysis of non-stationary signals. 6- Characterization and performance analysis of various classical discrete-time filters (LP, HP, BP, BS, comb, notch, multi-notch, allpass filters). 7- Design and implementation of FIR filters (LP, HP, BP, BS, Hilbert-transformers, differentiators) using the window and optimal algorithms. 8- Design and implementation of IIR filters based on analog filter prototypes and the bilinear transformation . Frequency transformations. 9- Implications of quantization effects on digital filter design 10- Introduction to multirate signal processing: decimation, interpolation, and sample rate conversion. Efficient multi-stage and polyphase implementations. EE253, DSP I, Spring 2010 Page 1 of 6 Course Outcome a) Ability to understand practical limitations on conversion of signals from the analog world to the digital world and back b) Ability to reliably use the FFT to reliably move signals between the time and frequency domains; ability to analytically characterize the limitations on achieved spectral resolution and leakage performance. c) Ability to select and apply appropriate time or frequency algorithms to implement basic DSP operations such as convolution, cross-correlation, and auto-correlation. d) Ability to analyze the function a digital filter specified using either its polynomial coefficients or its pole/zero pattern, and to design simple filters based on direct pole/zero placement in the z-plane. e) Ability to understand basic well-known algorithms to digital filter design, and to effectively use computer-aided design tools, such as the Matlab DSP Toolbox, to apply these and other algorithms to the design of a broad spectrum of filter types. f) Ability to select appropriate efficient implementation of a designed filter based on reallife constraints, including sensitivity to quantization effects and implementation economy. g) Ability to analytically and/or computationally assess achieved design performance. h) Ability to relate studied algorithms to real-life signal processing applications. Required & Recommended Texts/Software Textbook 1. Discrete-Time Signal Processing, 3rd Ed., A. V. Oppenheim & R.W. Schafer, Pearson, 2010. Referred to as O&S in the class notes. The main text for the course. Required. 2. Digital Signal Processing Using Matlab, V. K. Ingle and J.G. Proakis, 2nd Ed., Thomson, 2007. Source of summary reviews, Matlab examples and problems. Required. 3. Digital Signal Processing, M H. Hayes, Schaum’s Outline Series, McGraw-Hill, 1999. A moderately priced good source of additional solved and unsolved problems. Recommended. 4. The Student Version of Matlab (Release 2007a or later includes the Signal Processing Toolbox among other Toolboxes; the current release is 2010a). It’s published by the Mathworks Inc. Matlab is the computational tool for this course. Recommended; please see software section below. Other References 1. Digital Signal Processing: A Computer-Based Approach, 3rd Ed., S. K. Mitra, McGrawHill, 2006. (A previous textbook for EE253.) 2. Digital Signal Processing: Principles, Algorithms, and Applications, R. A. Proakis and D. G. Manolakis, 4th Ed., Prentice-Hall, 2007 EE253, DSP I, Spring 2010 Page 2 of 6 Software: Matlab & the Signal Processing Toolbox Matlab is used as the computational platform for class examples and homework problems. Matlab and many of its Toolboxes are available on the PCs in room ENG 387. The lab operates on an open door policy. Check availability times posted on the lab door. You may also consider purchasing the Student Version of Matlab (~$100) for private use at school and home. This is perhaps the most time flexible way to do the computational assignments and Project. The Student Version Release R2007a and later now includes the Signal Processing Toolbox. Check the web site http://www.mathworks.com/academia/ for more information. You may order the Matlab Student Version on the web or may purchase it directly from the Spartan Bookstore, Textbooks Department. Source code for the m-files in Ingle & Proakis is available from the publisher’s website http://www.brookscole.com/cgiwadsworth/course_products_wp.pl?fid=M20b&flag=student&product_isbn_issn=978 0495073116&disciplinenumber=38 If you are not familiar with Matlab, an introduction can be found at http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html and a DSP introduction at http://www.mathworks.com/access/helpdesk/help/toolbox/signal/. See also the Student Version Manual. Several good Matlab tutorials are also available on various websites. Google ‘Matlab tutorial’. Electronic versions (html and pdf) of Matlab and all Toolboxes manuals can be accessed at the Mathworks website above. Matlab has a very good ‘help’ facility that you should invoke to learn more about specific commands and functions. You will need to learn and use Matlab to get the most out of this course. Dropping and Adding Students are responsible for understanding the policies and procedures about add/drops, academic renewal, etc. Information on add/drops are available at http://info.sjsu.edu/webdbgen/narr/soc-fall/rec-298.html. Information about late drop is available at http://www.sjsu.edu/sac/advising/latedrops/policy/ . Students should be aware of the current deadlines and penalties for adding and dropping classes. Assignments and Grading Policy Grading: Homework Midterm Exam #1 (Date TBD) Midterm Exam #2 (Date TBD) Optional Term Project (replaces the worst midterm) Final Exam (Monday May 24, 2010) EE253, DSP I, Spring 2010 5% 30% 30% 30% 35% Page 3 of 6 Exams & Term Project: All exams are in-class. Two 8.5x11 double-sided summary sheets are allowed. No other course material is allowed. A term project that deals with an in depth study of a relevant application, including computer simulations or DSP board implementation, is optional. The optional project grade could replace the worst of the two midterms. More details regarding the term project will be handed out in class later. Homework: Homework is crucial for the understanding of the course material. Homework will be assigned regularly. Part will be fully graded and the other part will be checked for completeness. Solutions for only the analytical part of the problems will be provided. Part of the homework will require using Matlab. Please try to solve the homework problems on your own. This is critical if you are to understand the course material and to do well in the exams. Please note that the 5% for the homework can move your grade across grade boundaries (from B to B+ or A- to A, … etc). University Policies Academic integrity Students should know that the University’s Academic Integrity Policy is availabe at http://www.sa.sjsu.edu/download/judicial_affairs/Academic_Integrity_Policy_S07-2.pdf. Your own commitment to learning, as evidenced by your enrollment at San Jose State University and the University’s integrity policy, require you to be honest in all your academic course work. Faculty members are required to report all infractions to the office of Student Conduct and Ethical Development. The website for Student Conduct and Ethical Development is available at http://www.sa.sjsu.edu/judicial_affairs/index.html. Instances of academic dishonesty will not be tolerated. Cheating on exams or plagiarism (presenting the work of another as your own, or the use of another person’s ideas without giving proper credit) will result in a failing grade and sanctions by the University. For this class, all assignments are to be completed by the individual student unless otherwise specified. If you would like to include in your assignment any material you have submitted, or plan to submit for another class, please note that SJSU’s Academic Policy F06-1 requires approval of instructors. IMPORTANT NOTE: POSSIBLE FRIDAY LECTURES In addition to my teaching duties, I am also involved in research projects related to planetary exploration by unmanned spacecraft. To be able to attend related technical meetings during the semester, some rescheduling of class time will be necessary. During one or more weeks of the semester the class may be taught M & F, W & F, or M, W, & F to compensate for any sessions missed during travel. Please make sure that you are available to attend the lecture on Friday (6:00-7:15 pm), in addition to the regular times on M & W. Any Friday lectures will be announced in class ahead of time. EE253, DSP I, Spring 2010 Page 4 of 6 TOPICS COVERED & READING ASSIGNMENTS Lecture O&S (3rd Ed.) Notes Sec I&P Ch Hayes Ch Time and frequency representation of discrete-time signals and systems 1, 2 2.0-2.9 2, 3 1, 2 A/D & D/A conversion; sampling theorem 3 4.0-4.3 4.8-4.9 ---- 3.1-3.4 DFS, DTFT, and DFT properties of the DFT 4, 5 8.1-8.6 5 6.1-6.5 Fast convolution & correlation 5 8.7 5 6.6 DFT computation using the FFT; real signals & the DCT 6 9.0-9.5 9.6 5 7.2 Spectra of sinusoids; resolution and leakage 7 10.0-10.2 7.5.1-7.5.3 ---- ---- Time-varying spectra; the short time Fourier transform (STFT) 8 10.3-10.4 ---- ---- Signals & systems in the complex frequency domain (Z-transform) 9 3.0-3.5 4 4.1-4.4 Frequency response; system function; 9, 5.0-5.4 4 5.2 Stability of discrete time systems 10 Example discrete-time systems; LP, HP, BP, BS, notch, comb, allpass 11A, 11B 5.5-5.6 ---- 5.4, 5.5 Canonical realizations 13 6.0-6.5 6 8.1-8.4 Linear Phase FIR filters 12 5.7 7 5.3 FIR filter design: window method; Frequency sampling method 16, 17 7.5-7.6 7 9.3.1, 9.3.2 FIR filter design: Optimum (Parks-McClellan) method 18 7.7-7.8 7 9.3.3 IIR filter design; bilinear transformation 14 7.0-7.2 8 9.2, 9.4 IIR filter design; Butterworth , Chebyshev and elliptic designs 14, 15 7.3-7.4 App. B 8 9.4 Intro to Multirate Signal Processing 18 4.6- 4.7 10 --- Digital filter implementation; 19, 6.7-6.10 9 8.6 Quantization & round-off effects 20 TOPICS COVERED & READING ASSIGNMENTS: O&S 2nd vs 3rd Editions Lecture O&S (2nd Ed) Notes Sec O&S (3rd Ed) Sec Time and frequency representation of discrete-time signals and systems 1, 2 2.0-2.9 2.0-2.9 A/D & D/A conversion; sampling theorem 3 4.0-4.3 4.8-4.9 4.0-4.3 4.8-4.9 DFS, DTFT, and DFT properties of the DFT 4, 5 8.1-8.6 8.1-8.6 Fast convolution & correlation 5 8.7 8.7 DFT computation using the FFT; real signals & the DCT 6 9.0-9.5 9.6 9.0-9.5 9.6 Spectra of sinusoids; resolution and leakage 7 10.0-10.2 7.2.1,7.2.2 10.0-10.2 7.5.1,7.5.3 Time-varying spectra; the short time Fourier transform (STFT) 8 10.3-10.5 10.3-10.4 Signals & systems in the complex frequency domain (Z-transform) 9 3.0-3.4 3.0-3.5 Frequency response; system function; 9, 5.0-5.4 5.0-5.4 Stability of discrete time systems 10 Example discrete-time systems; LP, HP, BP, BS, notch, comb, allpass 11A, 11B 5.5-5.6 5.5-5.6 Canonical realizations 13 6.0-6.5 6.0-6.5 Linear Phase FIR filters 12 5.7 5.7 FIR filter design: window method; Frequency sampling method 16, 17 7.2-7.3 7.5-7.6 FIR filter design: Optimum (Parks-McClellan) method 18 7.4-7.5 7.7-7.8 IIR filter design; bilinear transformation 14 7.0-7.1 7.0-7.2 IIR filter design; Butterworth , Chebyshev and elliptic designs 14, 15 7.1 App. B 7.3-7.4 App. B Intro to Multirate Signal Processing 18 4.4- 4.5 4.6- 4.7 Digital filter implementation; 19, 6.7-6.9 6.7-6.10 Quantization & round-off effects 20