ee 265.3 discrete-time signals and systemsengineering.usask.ca/ece/documents/ee...
TRANSCRIPT
EE 265.3
Discrete-Time Signals and Systems Department of Electrical and Computer Engineering
Fall 2014
Description: This course introduces the fundamental concepts and techniques for modeling and analysis of
discrete-time signals and linear systems. Topics include sinusoids and complex exponential
representation, Fourier series, sampling and reconstruction of continuous-time signals, discrete-
time representation of signals and systems, linear time-invariant (LTI) systems, finite impulse
response (FIR) filters, and frequency response of FIR filters. MATLAB is introduced and used
in all simulation-based laboratories that explore analysis tools and their applications. (Official
Description from the Course and Program Catalogue)
Prerequisites: MATH123.3 Calculus I for Engineers
MATH124.3 Calculus II for Engineers
Students are expected to be able to communicate in spoken and written English.
Prerequisite or
Corequisite:
CMPT 116 Computing I (for Engineers)
Instructor: Brian Daku, Ph.D., P.Eng.
Professor and Department Head, Electrical and Computer Engineering (ECE)
Office: Room 3B48.2E (Engineering Building)
Phone: (306) 966-5421
Email: [email protected]
Class Sessions: Tuesday - Thursday, 1:00–2:20PM, Room 2C44E
Laboratory: Section L01: Tuesday, 11:30AM–12:50PM, Room 2B04E (Delta Lab)
Section L03: Thursday, 2:30–3:50PM, Room 2B04E (Delta Lab)
Website: The course website is on the ECE edX server at edx.engr.usask.ca . You will need to register an
account and then register in EE265. This can be done in one step by selecting the link EE265
Discrete-Time Signals and Systems on the edx.engr.usask.ca site. Then select the button
Register for EE265. Fill in the form that appears. Make sure you use your NSID for your Public
Username and your University email in the form “NSID”@mail.usask.ca for your email
address. You need to accurately fill in this form to receive credit for the online marked
activities. Note that any registration without a valid name, NSID email and associated
NSID public username will be removed.
Course Reference
Numbers (CRNs):
89349 (lectures), 89350 and 89352 (laboratory)
Textbook: No Required Textbook
Recommended Reference Textbook: James H. McClellan, Ronald W. Schafer and Mark A.
Yoder, “Signal Processing First”, Pearson Prentice Hall, 2003.
Office Hours: Students are welcome and encouraged to drop by my office at any time for help with the course
material. Though, as Department Head my schedule can be challenging, so it is advisable to
schedule a meeting time by email. Email is the best way to contact me, and I will usually be able
to respond to emails within one business day. Be advised that I generally don't respond to emails
in the evenings or on weekends.
Reading List: None
Course Structure: This course operates on the principle that you will learn best when you are actively working on
a task rather than passively listening. Both passive listening and active work have their places in
the learning process, but since active work is generally harder and requires more assistance than
passive listening, we will be spending the bulk of class time together working actively on
problems, where you can work at your own pace and ask questions freely of the professor and
Teaching Assistants (TA’s).
To make time and space for this amount of active work in class, most of the lectures for this
class are videos. These lectures have the same content and are roughly the same length as
lectures that would normally be given in class. Rather than doing extensive homework problem
sets outside of class, your outside of class time will largely be spent watching the lectures
(generally around 45 to 60 minutes worth of lecture for each 75 minutes of meeting time, so
something like 1.5-2 hours a week) and answering structured study questions about what you
are watching. Then we will work on homework in class in the form of problems that will
challenge you and help you learn to apply the basic material to new and interesting problems.
Please be assured that you are not being asked to "teach yourself". In fact, you will be receiving
a much higher quantity and quality of professor help in this format that you would in a
traditional format, because the professor is available in the same room as you exactly when you
are encountering the hardest work. Also, multiple means of asking questions and getting help
outside of class have been set up so that you are never really working on your own (except on
timed assessments, of course).
The basic workflow of the course consists of:
Before the Class
o Guided Practice
Videos, reading and exercises
During the Class
o Entrance Quiz
Evaluate basic learning outcomes covered in Guided Practice
o Class Activity
Apply knowledge to more complex problems
After the Class
o Homework
Online homework and solution write-up in a homework journal
Assessment: The methods of assessment and their respective weightings are given below:
Guided Practice Exercises 5%
Class Participation (primarily Entrance Quiz) 5%
Homework 6%
Homework Journal 4%
Lab Assessments (2) 15%
In-Class Assessments (2) 30%
Final Assessment 35%
Final Grades: The final grades will be consistent with the system specified in the university’s grading system.
http://students.usask.ca/current/academics/grades/grading-system.php
For information regarding appeals of final grades or other academic matters, please consult the
University Council document on academic appeals.
http://www.usask.ca/university_secretary/honesty/StudentAcademicAppeals.pdf
Course Content: See the course content on the edx.engr.usask.ca site under the Courseware tab.
Homework: A homework assignment will be posted periodically throughout the term.
Tutorials: To be arranged when needed
Quizzes: An Entrance Quiz is associated with each Guided Practice
Assessments: Two in-class assessments during the term and one final assessment on Dec 4, 2014.
Important Dates: Thursday, September 4, 2014, 1:00-2:20PM EE265 class begins
Tuesday, October 9, 2014, 1:00-2:20PM In-Class Assessment 1 (may change)
Thursday, November 6, 2014, 1:00-2:20PM In-Class Assessment 2 (may change)
Thursday, December 4, 2014, 1:00-4:00PM Final Assessment (may change)
Note that these dates and times depend progress through the course material and on scheduling
appropriate computer lab space and thus could change.
Student Conduct: Ethical behaviour is an important part of engineering practice. Each professional engineering
association has a Code of Ethics, which its members are expected to follow. Since students are
in the process of becoming Professional Engineers, it is expected that students will conduct
themselves in an ethical manner.
The APEGS (Association of Professional Engineers and Geoscientists of Saskatchewan) Code
of Ethics states that engineers shall “conduct themselves with fairness, courtesy and good faith
towards clients, colleagues, employees and others; give credit where it is due and accept, as well
as give, honest and fair professional criticism” (Section 20(e), The Engineering and Geoscience
Professions Regulatory Bylaws, 1997).
The first part of this statement discusses an engineer’s relationships with his or her colleagues.
One of the ways in which engineering students can demonstrate courtesy to their colleagues is
by helping to maintain an atmosphere that is conducive to learning, and minimizing disruptions
in class. This includes arriving on time for lectures, turning cell phones and other electronic
devices off during lectures, not leaving or entering the class at inopportune times, and refraining
from talking to others while the instructor is talking. However, if you have questions at any time
during lectures, please feel free to ask (chances are very good that someone else may have the
same question as you do).
For more information, please consult the University Council Guidelines for Academic Conduct.
http://www.usask.ca/university_secretary/council/reports_forms/reports/guide_conduct.php
Academic Honesty: The latter part of the above statement from the APEGS Code of Ethics discusses giving credit
where it is due. At the University, this is addressed by university policies on academic integrity
and academic misconduct. In this class, students are expected to submit their own individual
work for academic credit, properly cite the work of others, and to follow the rules for
examinations. Academic misconduct, plagiarism, and cheating will not be tolerated. Copying of
assignments and lab reports is considered academic misconduct. Students are responsible for
understanding the university’s policies on academic integrity and academic misconduct. For
more information, please consult the University Council Regulations on Student Academic
Misconduct and the university’s examination regulations.
http://www.usask.ca/university_secretary/honesty/StudentAcademicMisconduct.pdf
http://www.usask.ca/university_secretary/council/academiccourses.php
Safety: The APEGS Code of Ethics also states that Professional Engineers shall “hold paramount the
safety, health and welfare of the public and the protection of the environment and promote
health and safety within the workplace” (Section 20(a), The Engineering and Geoscience
Professions Regulatory Bylaws, 1997).
Safety is taken very seriously by the Department of Electrical and Computer Engineering.
Students are expected to work in a safe manner, follow all safety instructions, and use any
personal protective equipment provided. Students failing to observe the safety rules in any
laboratory will be asked to leave.
Laboratory Learning
Outcomes:
See the attached Lab Learning Outcomes document.
Course Learning
Outcomes:
See the attached Course Learning Outcomes document.
Attribute Mapping: Level of Performance*
Learning
Outcome
Attribute**
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
All 1 1 1
**Attributes:
A1 Knowledge base for engineering
A2 Problem analysis
A3 Investigation
A4 Design
A5 Use of engineering tools
A6 Individual and team work
A7 Communication skills
A8 Professionalism
A9 Impact of engineering on society
and the environment
A10 Ethics and equity
A11 Economics and project
management
A12 Life-long learning
*Levels of Performance:
1 - Knowledge of the skills/concepts/tools but not using them to solve
problems.
2 - Using the skills/concepts/tools to solve directed problems.
(“Directed” indicates that students are told what tools to use.)
3 - Selecting and using the skills/concepts/tools to solve non-directed,
non-open-ended problems. (Students have a number of S/C/T to
choose from and need to decide which to employ. Problems will
have a definite solution.)
4 - Applying the appropriate skills/concepts/tools to solve open-ended
problems. (Students have a number of S/C/T to choose from and
need to decide which to employ. Problems will have multiple
solution paths leading to possibly more than one acceptable
solution.)
Accreditation Unit (AU) Mapping: (% of total class AU)
Math Natural Science
Complementary
Studies
Engineering
Science Engineering Design
0 0 0 45.8 0
Assessment Mapping:
Component Weighting Methods of Feedback***
Learning Outcomes Evaluated
Exercises and Quizzes 10% S All
Homework 10% S All
Lab Assessments 15% S All
In-Class Assessments 30% S All
Final Assessment 35% S All
***Methods of Feedback:
F – formative (written comments and/or oral discussions)
S – summative (number grades)
EE 265 Lab Learning Outcomes Fall 2014
1. Lab 1: Basic Calculations
Once you have completed this lab you should be able to:
(a) Start and quit MATLAB.
(b) Generate and execute MATLAB expressions that use the basic arithmetic operators:addition (+), subtraction (-), multiplication (*), division (/), and exponentiation (^).
(c) Define variables that can be used in other MATLAB calculations.
(d) Control MATLAB’s displayed numerical output: suppressing the output completely oraltering the number of decimal places displayed.
(e) Generate and execute MATLAB expressions using basic trigonometric, exponential, andlogarithmic functions.
2. Lab 2: Working with Vectors
Once you have completed this lab you should be able to:
(a) Generate variables containing a row or column vector.
(b) Apply the basic arithmetic operators to vector variables: addition (+), subtraction (-).
(c) Use the array operators: element by element multiplication (.*), element by elementdivision (./), element by element exponentiation (.^).
(d) Calculate the dot (scalar) product.
(e) Access individual elements in vector variables.
(f) Use some basic trigonometric, exponential, and logarithmic functions with vector vari-ables.
3. Lab 3: Basic Plotting
Once you have completed this lab you should be able to:
(a) Generate long vectors for use in plotting.
(b) Produce the x and y vectors used in plotting.
(c) Place two plots on one figure.
(d) Label (annotate) plots.
4. Lab 4: M-File Script Programs
Once you have completed this lab you should be able to:
(a) Display, save, load and clear the contents of the MATLAB workspace.
(b) Load the contents of the MATLAB workspace.
(c) Generate a script using the MATLAB Editor.
(d) Add comments and help information to a script file.
(e) Save the script file in a user created folder.
(f) Tell MATLAB where the script file is located.
(g) Execute a script file.
5. Lab 5: M-File Functions, Relational Operators and If Statements
Once you have completed this lab you should be able to:
(a) Write an M-file function.
(b) Use an M-file function.
(c) Compare arrays using relational operators (<, >, <=, >=, ==, ~=).
(d) Write a MATLAB program using an if statement to make a decision.
6. Lab 6: Solving Equations
Once you have completed this lab you should be able to:
(a) Generate a variable containing a matrix (two-dimensional array).
(b) Use MATLAB’s left division operator to solve a set of linear equations.
7. Lab 7: Working with Matrices
Once you have completed this lab you should be able to:
(a) Multiply two matrices (two-dimensional arrays).
(b) Calculate the determinant, rank, and inverse of a matrix.
8. Lab 8: Sinusoidal Signals
Once you have completed this lab you should be able to:
(a) Use vectors to approximate a continuous-time sinusoid that can be displayed in a figurewindow using the command plot.
(b) Use vectors to generate a discrete-time sinusoid plot using the command stem.
(c) Annotate figures with axes labels and a title.
(d) Generate and execute a MATLAB program, which is referred to as an m-file script.
(e) Generate multiple figures in the same figure window using subplot.
(f) Generate multiple line plots on the same figure using hold.
9. Lab 9: Digital/Discrete-Time Signals
Once you have completed this lab you should be able to:
(a) Load a digital audio signal from a .wav file into MATLAB using wavread.
(b) Play discrete-time signals using MATLAB commands sound.
(c) Use the gtext or text command to place labels on a figure.
10. Lab 10: Generating and Playing Discrete-Time Signals
Once you have completed this lab you should be able to:
2
(a) Generate discrete-time sinusoids and play them on a sound card using various samplingfrequencies.
11. Lab 11: Frequency Response of a FIR System
Once you have completed this lab you should be able to:
(a) Determine an expression for the frequency response of an FIR system from the unitsample response, h[n] = b[n]. The frequency response is generated using the DTFT(Discrete-Time Fourier Transform).
(b) Generate a discrete-time signal, x[n], consisting of the sum of two sinusoids.
(c) Determine the frequency representation of a discrete-time signal using the DTFS todetermine the DTFT at specific discrete frequencies.
(d) Use the MATLAB command filter(b, a, x) to determine the output of the system definedby h[n] = b[n], given the input x[n].
(e) Determine the effect of an FIR filter in the frequency domain by comparing the frequencyrepresentation of the input signal, x[n], and frequency response H(ejω) of the FIR filterto justify the frequency representation of the output signal, y[n].
12. Lab 12: FIR Filter
Once you have completed this lab you should be able to:
(a) Determine the unit sample response for an FIR filter from the filter difference equation.
(b) Determine the type of filter (lowpass, highpass, bandpass) from the frequency response,H(ejω), of the FIR filter calculated using the DTFT.
3
EE 265 Course Learning Outcomes Fall 2014
1. Guided Practice 1: Radians, Sinusoids and the Unit Circle
• Generate a definition for radian.
• Generate and use the relationship between arc length, angle and radius.
• Generate the plot of a sine waveform using a unit circle.
• Demonstrate that radian is a unitless measure.
• Generate the plot of a sampled sinusoidal waveform using the unit circle.
• Generate the plot of a delayed (shifted) sinusoidal waveform using the unit circle.
2. Guided Practice 2: Working with Sinusoids
• Determine the amplitude, period and midline of a sinusoid function from a graphicalplot.
• Generate the mathematical equation of a sinusoid function using the amplitude, periodand midline.
• Determine the frequency and phase of a continuous-time sinusoid.
• Generate and use Euler’s formula: ejθ = cos θ + j sin θ.
• Calculate the principal phase of a time-shifted continuous-time sinusoid.
• Determine the frequency of a complex exponential, ejΩt from unit circle vector plots.
• Generate the the inverse Euler expressions for cos θ and sin θ from the Euler’s formulafor ejθ and e−jθ.
3. Guided Practice 3: Complex Numbers Part I
• Generate the real part, Rez, and imaginary part, Imz, of a complex number z.
• Add and subtract complex numbers.
• Plot complex numbers as vectors on an Argand diagram.
• Add and subtract complex numbers geometrically using vector addition on an Arganddiagram.
• Calculate the distance between two complex numbers.
• Calculate the midpoint coordinates between two complex numbers.
• Determine the complex conjugate, z∗, of a complex number z.
• Multiply and divide complex numbers.
• Graphically show that z + z∗ = 2Rez, where z∗ is the complex conjugate of z.
• Graphically show that z − z∗ = 2jImz, where z∗ is the complex conjugate of z.
• Provide a geometrically interpretation for the multiplication of a complex number by j.
• Generate the vector addition or subtraction of two or more complex numbers representedas complex exponentials or as real and imaginary components.
4. Guided Practice 4: Complex Numbers Part II
• Generate the magnitude (absolute value, modulus) of a complex number.
• Generate the principal value of the angle (argument) of a complex number.
• Convert between rectangular and polar forms of a complex number.
• Divide two complex numbers using the complex exponential form.
• Determine zc using complex exponentials, where z is a complex number and c is a realnumber.
• Derive trigonometric identities, such as cos (α + β) = cos α cos β−sin α sinβ, using com-plex exponentials.
• Generate the phasor for a sinusoidal signal.
• Add two phasors.
• Derive the product of two sinusoids using the inverse Euler’s formulas.
5. Guided Practice 5: Spectrum Representation Using Phasors
• Generate the phasor for an arbitrary sinusoid.
• Use the MATLAB command abs to determine the magnitude of a phasor.
• Use the MATLAB command angle to determine the phase of a phasor.
• Determine the sinusoid function representing the addition of two sinusoid functions, bothhaving the same frequency, using the phasor representation for the sinusoids.
• Generate a spectrum plot for a sinusoid.
• Determine the fundamental frequency and fundamental period for a sum of two harmon-ically related sinusoids.
• Use the inverse Euler formula to generate the magnitude and phase plots representingthe spectrum of the sum of N arbitrary sinusoids, where N is an integer.
• Generate the time-domain equation from the plot that represents the spectrum of a sumof sinusoids.
• Extend the basic learning outcome of determining the fundamental frequency and fun-damental period for a sum of two harmonically related sinusoids to a set of N sinusoids.
6. Guided Practice 6: Basic DT Signals
• Generate a unit sample sequence.
• Generate a unit step sequence.
• Generate and plot, using MATLAB, a real exponential sequence.
• Generate and plot, using MATLAB, a sinusoid sequence.
• Determine the period of a sinusoid sequence.
• Generate and plot the magnitude and phase, using MATLAB, of a complex exponentialsequence.
• Generate an expression for an arbitrary DT sequence, using shifted and weighted unitsample sequences.
• Determine the frequency and the fundamental period, N , of a DT sinusoid sequence.
7. Guided Practice 7: DT Signal Properties: Part I
• Identify if a DT signal is periodic.
• Determine the period N of a periodic DT signal.
• Generate a signal that is a time shifted, time reversed or both time shifted and reversed.
• Determine whether a DT signal is even, odd or neither.
• Determine the even and odd components of a DT signal.
2
• Given a sequence x[n] and h[n], evaluate the expression
y[n] =
∞∑
k=−∞
x[k]h[n − k]
This expression, which makes use of time shifting and time reversal, is used to determinethe output of a system. The equation represents an operation that is referred to asconvolution, a topic covered in detail later.
8. Guided Practice 8: DT Signal Properties: Part II
• Calculate the energy in a DT signal.
• Calculate the average power in a DT signal.
• Determine the magnitude of a complex function z[n] using |z[n]| = z[n]z∗[n] where ∗
represents complex conjugate.
• Calculate the sum of the geometric series, αn for n = 0, 1, · · · , N , where α is a realnumber, using the closed form of the sum.
• Calculate the sum of the more general geometric series, zn for n = N1, · · · , N2, where z
can be complex and N2 ≥ N1, using the closed form of the sum (derived in the CourseHandout document: Closed Form of a Sum), where z is either:
– a real number,
– a complex number, ejω.
• Given a periodic sequence x[n] with period N , evaluate the expression
c[k] =∑
n=<N>
x[n]e−jkn2π/N
where the notation n =< N > indicates the sum is taken over one period. This expres-sion is used to determine the frequency components of x[n]. The equation represents anoperation that is referred to as the Fourier series, a topic covered in detail later.
9. Guided Practice 9: DT System Properties
• Define the system properties: memoryless, time invariance, linearity, causality, and sta-bility.
• Determine whether a system is memoryless, time-invariant (shift-invariant), linear, causal,and stable.
• Determine whether more complex systems, such as those listed below, are memoryless,time-invariant (shift-invariant), linear, causal, and stable.
– y[n] = nx[n]
– y[n] = x[n] − x[n − 1]
– y[n] = x[n]x[n + 1]
10. Guided Practice 10: Convolution
• Determine the output of a simple LTI system with impulse response h[n] for a giveninput x[n], using convolution.
• Determine the output of more complex systems and input signals, such as those listedbelow:
– h[n] and x[n] are both rectangular pulses
3
– h[n] and x[n] are both exponential sequences
– h[n] and x[n] are both periodic sequences
11. Guided Practice 11: Fourier Series
• Determine the DTFS for sinusoidal signals.
• Use MATLAB to determine the DFT (which is directly related to the DTFS) of adiscrete-time signal.
• Determine the DTFS of more complex signals, such as those listed below:
– Periodic square wave
– Rectified sine wave
– Periodic triangle wave
4