Course Outline (F2019)
ELE792: Digital Signal Processing
|Instructor(s)||Saber Amini [Coordinator]|
Office: ENG 450
Office Hours: Tuesdays 1:00 pm - 3:00 pm
|Calendar Description||The topics covered in this course include fast algorithms for the computation of DFT, fast Fourier transform (FFT), finite length discrete transforms, Discrete Cosine transform (DCT), estimation of spectra from finite-duration observations of signals, implementation of discrete-time systems, floating-point and fixed-point representations, multi-rate signal processing, adaptive filters and applications.
|Prerequisites||ELE 632 and ELE 635 and (COE 538 or ELE 538)|
- A.V. Oppenheim and R.W. Schafer, Discrete-Time Signal Processing, 3rd Edition, Pearson Higher Education Inc., 2010.
- R. Chassaing and D. Reay, Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd Edition, Wiley IEEE Press, 2008.
- S.K. Mitra, Digital Signal Processing: A Computer-Based Approach, third edition, McGraw-Hill Inc., New York, 2005.
- J.G. Proakis and D.G. Manolakis, Digital Signal Processing: Principles, Algorithms, and Applications, fourth edition, Prentice Hall, Upper Saddle River, New Jersey, 2007.
- E.C. Ifeachor and B.W. Jervis, Digital Signal Processing: A Practical Approach, second edition, Prentice-Hall Inc., Essex, 2002.
|Learning Objectives (Indicators) |
At the end of this course, the successful student will be able to:
- Develops a good understanding of modeling and analysis discrete-time signals and systems. Works with real-world signals to extract their salient characteristics. Works with mathematical tools (z-Transform, difference equations) to have an in-depth understanding of discrete-time signals and systems. (1c)
- Uses spectral analysis (Fourier analysis: DTFT, DFT) to analyze signals and systems. Studies, understands and works with A/D, D/A conversion processes to convert baseband, bandpass and complex-valued signals. Studies digital filter design techniques. (1d)
- Investigates techniques for efficient and real-time implementation of signal processing algorithms. Studies discrete-time system structures for transmission over communication channels, signal shaping and feature extraction. (2a)
- Studies algorithm complexity to measure the viability of different implementation techniques within prescribed real-time processing constraints. Studies a building block to system/algorithm design. (3b)
- Applies signal processing and real-time implementation techniques to formulate feasible alternatives. Proposes solutions to design problems that will satisfy various design criteria. (4c)
- Works with specialized engineering tools (Texas Instruments Code Composer Studio, Matlab/Simulink) to develop DSP code which in turn is used to obtain experimental results and to verify analytic results obtained through theoretical analysis. (5a)
NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).
3.0 hours of lecture per week for 13 weeks
2.0 hours of lab/tutorial per week for 12 weeks
|Teaching Assistants||Randy Tan|
|Lecture: Midterm Examination|| 25 %|
|Lecture: Final Examination|| 35 %|
|Laboratory: Project|| 12.5 %|
|Laboratory: Experiments|| 27.5 %|
Note: In order for a student to pass a course with "Theory and Laboratory" components, in addition to earning a minimum overall course mark of 50%, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section for details on the Theory and Laboratory components.
|Examinations||Midterm Examination: Week 8, Wednesday, October 23; 2 hours duration; problem based, close book; covers weeks 1–7.|
Final Examination: During exam period; 3 hours duration; problem based, close book; covers the entire course material.
|Other Evaluation Information||None|
|Other Information||Note: You should have free online access to a PDF version of this book. You may need to connect from a Ryerson computer to access the above link.|
Chp 4 Sect 1-5
• Overview of the course and learning objectives
• Course organization
• Methods and measures of assessment
• Characteristics of digital signals
• Systems tools and techniques learned in pre-requisite course ELE 632.
Chp 4 Sect 1-5
• Periodic sampling frequency domain representation of sampling
• Reconstruction of bandlimited signals from its samples
• Nyquist criteria
• Baseband sampling theorem
Lab 1 Review and Discussion (Randy Tan)
Chp 4 Sect 1-5
• Bandpass sampling theorem
• Complex/quadrature bandpass sampling.
• Application of complex/quadrature sampling in communication receiver design.
Chp 4 Sect 6-9
Multirate Signal Processing:
• Introduction to multirate signal processing: motivation rationale and introduction to decimation interpolation
Chp 4 Sect 6-9
Multirate Signal Processing (Continued):
• Time and frequency-domain representation
• Analysis of decimated and interpolated signals.
Multirate Signal Processing (Continued):
• Changing the sampling rate by integer and non-integer factors
• Perfect-reconstruction of filterbanks: analysis and synthesis
Lab 2 Review and Discussion (Randy Tan)
Multirate Signal Processing (Continued):
• Implementation strategies for multirate systems noble identities
• Polyphase filters and decomposition implementation considerations.
Applications of Multirate Signal Processing:
• sampling rate conversion in digital domain narrowband filtering transmultiplexing
• Oversampling A/D conversion low bit-rate conversion.
Chp 5 Sect 3–7
Transform Analysis of Linear Time-Invariant Systems:
• transfer function and frequency response of filters
• relation between pole zero locations and filter characteristics
Chp 5 Sect 3–7)
• Allpass filters equalizers and oscillators Linear phase FIR transfer functions.
Che 6 Sect 1-8
Structures for Discrete-Time Systems:
• Block and signal flow diagram representations
• Basic network structures for FIR and IIR systems.
Lab 3 Review and Discussion (Randy Tan)
Midterm Examination - October 23, in-class, closed book.
Overview of finite-precision numerical effects effects of coefficient quantization.
Digital Filter Design:
• Digital filter design techniques
• Introduction to the design of discrete-time IIR filters from continuous-time filters
Overview of FIR filter design techniques:
• Design of FIR filters by windowing optimum approximations of FIR filters
Chp 8 Sect 1-8
Finite Length Discrete Transforms:
• Overview and motivation Discrete Fourier series
• Fourier transform of periodic signals
• Discrete Fourier Transform (DFT)
• Relation between the Fourier transform and the DFT
• Circular convolution
• Linear convolution using the DFT
Project Review and Discussion (Randy Tan)
Chp 8 Sect 1-8
Discrete Cosine Transform (DCT):
• Energy compaction properties of discrete transforms.
Chp 10 Sect 1-4
Fourier Analysis of Signals Using the DFT:
• DFT analysis of sinusoidal signals windowing
The time-dependent Fourier transform:
• Filter bank interpretations of time-dependent Fourier transform examples
DSP Applications (time permitting)
• Summary and review of the course material
• Directions of further investigation/learning (graduate studies)
Final Exam Review:
• Structure of Final Exam
• Topics covered
Lab 1: Code Development using the TI Code Composer Studio (CCS)
In the laboratory component of this course students will use both the Matlab/Simulink environment (for graphical block diagram based code development) and the TI CCS environment (for C and Assembler language based code development). In this second lab session students will be introduced to the TI CCS environment they will use the TI CCS to develop a simple DSP project compile and run the code on the target TMS320C6713 system.
Lab 2: Implementation of Digital Filters and DSP Algorithms with Digital Filters
Introduction to Matlab based digital filter design tools design real-time implementation and testing of various FIR/IIR filters on the DSP hardware.
In this laboratory exercise students will be exposed to the following concepts: polling and interrupt based data input-output (i/o) structures computationally efficient and compact implementation of FIR and IIR filters in C and Assembler languages using different approaches:
• Non R/T implementation in Matlab and Simulink
• R/T implementation on the TI-DSP system using C and/or assembler code.
In the second part of this experiment students will proceed to implement a DSP algorithm that utilizes multiple filter blocks.
Lab 3/Project–Part 1: Block-Processing Algorithm Implementation
Many DSP algorithms are based on block processing (e.g. FFT) and while the algorithm operates a block of samples further samples will arrive and need to be stored in a temporary buffer. These DSP algorithms require an interrupt-based data input/output subsystem. In this laboratory exercise students will study how such a system can be structured and implemented. This exercise uses an FFT based spectrum analyzer code implemented on the TI-DSP system for demonstration.
In this laboratory exercise students will be exposed to the following concepts: block processing interrupt-based data i/o timing and r/t considerations in the design of block processing algorithms.
Projcect: Media Authentication with Electric Network Frequency Analysis
The objective of this project is to investigate the use of various signal processing techniques in extracting Electric Network Frequency (ENF) information from audio signals as a means of media authentication.
In this project students use Short-Time Fourier Transform (STFT) to extract time varying ENF information at the line frequency and its harmonics. The ENF information extracted from the audio signal will be compared to a reference ENF signal. Comparison of the two ENF signals can provide valuable clues about the similarity between the two ENF signals and consequently about the authenticity of the audio signal being investigated.
In the first laboratory session students will be introduced to DSP architectures processor specific architecture examples will be provided for the TI DSP processors that will be available for the students’ use in the laboratory. The first session will also introduce students to real-time (r/t) programming. Issues that are critical to r/t programming will be discussed and highlighted. Differences with other computer aided design and development environments for signal processing such as Matlab will be illustrated.
Policies & Important Information:
- Students are required to obtain and maintain a Ryerson e-mail account for timely communications between the
instructor and the students;
- Any changes in the course outline, test dates, marking or evaluation will be discussed in class prior to being implemented;
- Assignments, projects, reports and other deadline-bound course assessment components handed in past the due date will receive a mark of ZERO, unless otherwise stated. Marking information will be made available at the time when such course assessment components are announced.
- Refer to our Departmental FAQ page for information on common questions and issues at the following link: https://www.ee.ryerson.ca/guides/Student.Academic.FAQ.html.
Missed Classes and/or Evaluations
When possible, students are required to inform their instructors of any situation which arises during the semester which may have an adverse effect upon their academic performance, and must request any consideration and accommodation according to the relevant policies as far in advance as possible. Failure to do so may jeopardize any academic appeals.
- Health certificates - If a student misses the deadline for submitting an assignment, or the date of an exam or other evaluation component for health reasons, they should notify their instructor as soon as possible, and submit a Ryerson Student Health Certificate AND an Academic Consideration Request form within 3 working days of the missed date. Both documents are available at https://www.ryerson.ca/senate/forms/medical.pdf.. If you are a full-time or part-time degree student, then you submit your forms to your own program department or school;
- Religious, Aboriginal and Spiritual observance - If a student needs accommodation because of religious, Aboriginal or spiritual observance, they must submit a Request for Accommodation of Student Religious, Aboriginal and Spiritual Observance AND an Academic Consideration Request form within the first 2 weeks of the class or, for a final examination, within 2 weeks of the posting of the examination schedule. If the requested absence occurs within the first 2 weeks of classes, or the dates are not known well in advance as they are linked to other conditions, these forms should be submitted with as much lead time as possible in advance of the absence. Both documents are available at www.ryerson.ca/senate/forms/relobservforminstr.pdf. If you are a full-time or part-time degree student, then you submit the forms to your own program department or school;
- Academic Accommodation Support - Before the first graded work is due, students registered with the Academic Accommodation Support office (AAS - www.ryerson.ca/studentlearningsupport/academic-accommodation-support) should provide their instructors with an Academic Accommodation letter that describes their academic accommodation plan.
Ryerson's Policy 60 (the Academic Integrity policy) applies to all students at the University. Forms of academic misconduct include plagiarism, cheating, supplying false information to the University, and other acts. The most common form of academic misconduct is plagiarism - a serious academic offence, with potentially severe penalties and other consequences. It is expected, therefore, that all examinations and work submitted for evaluation and course credit will be the product of each student's individual effort (or an authorized group of students). Submitting the same work for credit to more than one course, without instructor approval, can also be considered a form of plagiarism.
Suspicions of academic misconduct may be referred to the Academic Integrity Office (AIO). Students who are found to have committed academic misconduct will have a Disciplinary Notation (DN) placed on their academic record (not on their transcript) and will normally be assigned one or more of the following penalties:
- A grade reduction for the work, ranging up to an including a zero on the work (minimum penalty for graduate work is a zero on the work);
- A grade reduction in the course greater than a zero on the work. (Note that this penalty can only be applied to course components worth 10% or less, and any additional penalty cannot exceed 10% of the final course grade. Students must be given prior notice that such a penalty will be assigned (e.g. in the course outline or on the assignment handout);
- An F in the course;
- More serious penalties up to and including expulsion from the University.
The unauthorized use of intellectual property of others, including your professor, for distribution, sale, or profit is expressly prohibited, in accordance with Policy 60 (Sections 2.8 and 2.10). Intellectual property includes, but is not limited to:
- Lecture notes
- Presentation materials used in and outside of class
- Lab manuals
- Course packs
For more detailed information on these issues, please refer to the Academic Integrity policy(https://www.ryerson.ca/senate/policies/pol60.pdf) and to the Academic Integrity Office website (https://www.ryerson.ca/academicintegrity/).
Important Resources Available at Ryerson
- The Library (https://library.ryerson.ca/) provides research workshops and individual assistance. Inquire at the Reference Desk on the second floor of the library, or go to library.ryerson.ca/guides/workshops
- Student Learning Support(https://www.ryerson.ca/studentlearningsupport) offers group-based and individual help with writing, math, study skills and transition support, and other issues.