EENG 3910: Project V Digital Signal Processing and Real

advertisement
EENG 3910: Project V
Digital Signal Processing (DSP) System
Design
By
Instructor: Oluwayomi Adamo
Department of Electrical Engineering
University of North Texas
Outline
 Course Syllabus
 Digital Signal Processing Basics
 Computer Architecture Basics
 Hands-on Exercise of DSP Programming using Code
Composer Studio
Course Syllabus – Contact Info.
 Instructor: Oluwayomi Adamo
 Office: B 208
 Phone : 940-891-6874
 Email : oluwayomi.adamo@unt.edu
 Class Hours : Th. 1:00 PM - 3:50 PM
 Classroom : B207
 Office Hours : Tues. & Thurs. 4:00 PM - 5:00 PM
 Teaching Assistant : Neelima Kamineni
 Office Hours : TBD
Course Syllabus - Course Objective
 Understand the basics of computer architecture and digital
signal processor architecture;
 Develop basic understanding of real-time processing and
real-time system, either soft or hard real-time;
 Develop basic understanding of theories of digital signal
processing, including sampling and reconstruction of signals,
FIR and IIR filter design, and FIR and IIR filtering of signals;
 Develop basic understanding of Fast Fourier Transforms
(FFT), spectral analysis and windowing through hands-on
exercises;
Course Syllabus - Course Objective
 Implement and simulate signal processing algorithm in
MATLAB, LABview and C;
 Program and implement signal processing algorithm in C
programming language on TI DSK hardware/software
platform;
 Understand real-time DSP specific programming techniques,
including interrupt-based processing, sample by sample
processing, frame-based processing, and various periodic
signal generation techniques
 Understand basics of audio signal sampling, processing and
special effects as well as related hardware connection and
configuration (Microphone, computer/DSK, speaker
Course Syllabus (cntd)
 Prerequisite: Signals and Systems (EENG 2620)
 Required Textbooks : Real-Time Digital Signal Processing
from MATLAB to C with the TMS320C6x DSK, T. B. Welch,
C. H. G. Wright, and M. G. Morrow, CRC Press, Taylor &
Francis Group, LLC, 2006
Course Syllabus - Class Policies
 Class and lab attendance is mandatory;
 All lab assignments and assignment reports are individual
work.
 However, Discussion of course material is encouraged.
 Assignments are due before class and late assignments will be
penalized.
Grading:
 Hands-on Exercises and Report - 50%
 Projects (Final Projects - 30) – 50%
Class Policies (cntd)
 All Hands-on Exercises will be assigned one week earlier.
 You are required to study the assignments and related




theories in the corresponding book chapters before coming
to the class.
Pre-lab assignments will be EVALUATED and GRADED in
class.
If you encounter any questions on the lab assignments or
related theories, you need to get help from TA or instructor
before the lab session.
Towards the end of the semester, you will need to design and
implement a final project (groups of 2 or 3 ).
Final Project deliverables include a final project report and
presentation in the final week.
Course Syllabus - Schedule
 First half of the semester
 Every week we deal with one important DSP concept.
 You will learn the basic theories by reading before Hands-on session.
 You will learn to write real-time DSP programs and implement DSP
algorithms during Hands-on sessions.
 Submit weekly assignment report in the following week.
 Second half of the semester
 Every week you will work on a project outlined in the book.
 You will load the programs and run the project following instructions in
the book.
 You will need to make some changes to the original project
implementation following the instruction in the assignments.
 Submit weekly assignment report in the following week.
 Final Project (group project with 2-3 person/group)
 You design.
 You implement.
 Submit final project report and present your project in the final week.
Tips for Success
 Study the book and assignment materials before the lab session.
 Do Matlab experiments before lab session! Read/study code files in the book





CD before lab session.
Timely submission of assignment reports will be particularly enforced.
Your grade will suffer from late assignment submissions.
 Strictly following schedule is one of the most important principles that you
will need to follow as an engineer –You will be an engineer in less than 2
years!
Prepare for the lab early every week; Please consult with your TA or instructor
before lab session to make sure you can finish the lab on-time in class.
Be inquisitive by asking “Why” in this course!
Make your assignment report as detailed as possible and explain clearly what
you have done in the lab.
 It also helps communicating with TA about specific requirements and
expectations on the report.
DSP
 Digital Signal Processing (DSP)
 Is the manipulation of digital signals in order to modify their characteristic or to extract useful




information. Why digital and not analog?
Digital signal allow programmability,
Digital circuit allow for stable output than analog
Microprocessors and computers have become so powerful
only digitized signal can be processed by computers.
 Digital Signal Processor (DSP)
 DSP is a specialized microprocessor optimized for signal processing.
 General purpose microprocessors such as Pentium series microprocessors that are used in PC are not
optimized for signal processing purposes.
analog
signal
A/D
converter
DSP
algorithms
D/A
converter
General Block Diagram of a DSP System
analog
signal
Real-Time DSP
 Real-time DSP combines
 Digital signal processing theories
 You need to understand what you are doing and why it works.
 Computer engineering
 To do real-time DSP programming, you will need good understanding of
computer organization, microprocessor architectures, digital and analog
circuits, …
 Software engineering
 You will need to implement DSP algorithms in Matlab and on DSP platforms
using C and LABview programming language. So, you need to be a very good
programmer.
Real-Time Processing
 Real-time processing means:
 The processing of a particular sample must occur within a given time period or the
system will not operate properly.
 Real-time DSP is inherently an interrupt driven process. The input samples should
only be processed using interrupt service routines (ISR).
 Hard real-time system
 The system will fail if the processing is not done in a timely manner.
 Soft real-time system
 The system will tolerate some failures to meet real-time targets and still continue to
operate, but with some degradation in performance.
 The performance demands and power constraints of real-time systems often
mandate specialized hardware.
 That may include the digital signal processor (DSP), programmable logic devices,
application specific integrated circuits (ASIC), and etc.
Computer Architecture
 Computer architecture is:
 “… an abstract interface between the hardware and the lowest level
software of a machine that encompasses all the information necessary
to write a machine language program that will run correctly,
including instructions, registers, memory size, and so on.”
 Think about your computer for a moment. What are the
major components of your computer?
 ???
 ???
Basic Microprocessor System
Registers
Clock
&
Reset
Timing
&
Control
ALU
R0
R1
R2
R3
R4
R5
R6
R7
Memory
Subsystem
Input/Output
Subsystem
CPU (Central Processing Unit)
Read Appendix D for more details.
You will learn Computer Architecture/Organization in EENG 3710.
External
Devices
Real-time DSP Programming using CCS
 CCS stands for Code Composer Studio
 It’s Texas Instruments’ (TI) integrated development environment
(IDE) software for developing programs on a wide variety of their
DSP’s.
 In CCS, the code editing, code generation, and debugging tools are all
integrated into one unified environment.
 Read Appendix A for more details.
 Follow the step-by-step instruction in Appendix A to get familiar with
the software. You will do most of the programming using CCS in this
semester.
DSP Simulation using MATLAB
 MATLAB is an integrated technical computing tool
 Math and computation Algorithm development
 Data acquisition Modeling, simulation, and prototyping
 Data analysis, exploration, and visualization
 Scientific and engineering graphics
 Application development, including graphical user interface building
 Go through the tutorial at MathWorks to get yourself
familiar with MATLAB
 http://www.mathworks.com/academia/student_center/tutorials/la
unchpad.html
(type “matlab tutorial” in google and it will be the first result.)
Assignment 0
 Open an existing project in C:\EENG3910Project and try to run it.
 Appendix A
 Create a .m file which plots a SIN wave.
 Tutorial 7 - Performing Calculations
http://www.mathworks.com/academia/student_center/tutorials/performing_calculations.
html
 Tutorial 8 - Visualizing Data (Plotting)
http://www.mathworks.com/academia/student_center/tutorials/visualizing_data.html
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
1
2
 Before you leave, show your results to the instructor.
3
4
5
6
7
8
9
10
Hands-On 0
 Choose a computer and stick to it for the rest of the semester.
 The directory C:\EENG3910Project is a copy of the
textbook CD.You can modify files, source codes in this
directory. A good practice is to make comment wherever you
make changes.
 C:\DSPCD is a read-only copy of the textbook CD and is
used for restoring EENG3910Project directory.
 Always remember to save your modified files to your flash
drive, student storage, e-mail, etc.
Download