Recent Courses Taught



ECEN4024 Senior Design

Fall and Spring Semesters


This is the second and final capstone senior project class. It is intended to be one of the last classes you take prior to graduating as an Electrical Engineer or Computer Engineer. Students function in teams of nominally four students to solve a complex and realistic problem, beginning with the problem statement, through proposal, design, implementation, documentation and presentation/delivery. Students assume specific roles and responsibilities in order to complete the necessary tasks.


Students are expected to exhibit individual responsibility, professionalism, and maturity, and must be willing to devote the necessary level of effort to complete their project successfully and on time. While the success of your project is typically a function of your time and commitment to the project – it is the actual outcome of the project rather than your time and effort which will be graded. It’s important to distinguish between how hard you work and the actual outcome you produce, as it’s the latter that ultimately matters.


It’s not sufficient to simply produce a minimal solution to a problem. Realistic constraints, including economic, environmental, sustainability, manufacturability, usability, ethical, health and safety, social and political, must also be considered as appropriate.


Successful completion of the project, and meeting all specifications, is an essential measure of success. Teamwork is an important aspect of this class and it is critical that you work together toward your common goals, working honestly, ethically, and professionally. All students are expected to contribute equally to the project.


A faculty Project Advisor provides general supervision and guidance during the semester, but students are fully responsible for their own success.



ECEN4773 Real Time Digital Signal Processing

Spring Semester


This course builds and expands on some of the material typically covered in an introductory digital signal processing course such as ECEN 4763 or ECEN 5763, providing a link between theoretical aspects of digital signal processing and real time implementation on special purpose signal processing hardware. In addition, the course includes material related to computer architecture, simple real time programming techniques, and signal processing hardware.


We will discuss the architecture of modern signal processing chips, such as the Texas Instruments TMS320Cxx families. Special attention will be paid to the architectural features of these processors, and DSP microprocessors in general, which make them especially suited for efficient implementation of signal processing algorithms.


A single-board development kit (OMAP L138 Experimenter Kit) containing the Texas Instruments C6784 floating point DSP core will be used to implement in real time a variety of common signal processing algorithms, such as A/D and D/A, polled and interrupt driven I/O, digital filters, interpolation and decimation, the Fast Fourier Transform, etc. In addition, we will discuss the operation of sigma-delta A/D converters, oversampling, and finite-precision arithmetic effects.


We will use one or more commercial software packages for certain design and analysis activities, with Matlab being the primary tool. Algorithm implementation will use TI Code Composer Studio and/or other software tools specifically oriented to the OMAP L138.


The course will include a significant open lab component, making use of the OMAP L138 TI development boards and software mentioned above. The front room in ES301 will be used as a development laboratory. This lab contains stations that you will share with other class members. Lab access will be via your ID card and will be 24/7. I ask that you work individually and as a group to keep the lab and its contents secure and in good condition. Please don’t give access to students who aren’t in this class and be sure the room is locked if you are the last person to leave.

This class provides an excellent opportunity for you to explore your special interests that go beyond topics specifically covered in class.


Homework assignments and projects will require programming the OMAP L138 development boards in C using Code Composer Studio to implement and analyze a variety of DSP applications. These implementations may be complex, and like any programming assignment may take a considerable amount of time.


The class format will be informal lecture/seminar. I expect us to have substantial "give and take" during the semester as we learn about this processor family, investigate architectural features which enable efficient implementations, and then actually perform real time implementations using the hardware and software which we have available. Student presentations will be required from time to time. Student participation in class is expected!



ECEN5763 Digital Signal Processing

Fall Semester


The course  provides coverage of topics in the broad area known as Digital Signal Processing beyond that typically covered in a senior-level introductory DSP course. We will begin with a very brief review of fundamental concepts of discrete time linear system theory, sampling and Z-transforms (Ch. 1-4). This will be followed by an examination of the sampling theorem for bandlimited signals, along with sampling rate conversion (interpolation and decimation) and issues related to A/D and D/A conversion (Ch. 4).


We will consider transform representations of LTI systems, as well as the concepts of linear and minimum phase, the effect of pole and zero location on frequency response, inverse systems, and all-pass systems (Ch. 5).

Computer aided and optimal methods for designing FIR and IIR filters will be considered in Chapter 7. We will investigate the discrete Fourier and discrete cosine transforms (Ch. 8), mathematical transforms used in a variety of signal analysis/synthesis, compression, and communication applications (i.e., JPEG and MPEG), and we will determine how to compute efficiently the DFT using the fast Fourier transform (FFT) (Ch. 9).


The class will conclude by considering applications for some of the topics we have covered (Ch. 10), along with possibly a few more advanced topics if time permits (topics might include adaptive filters, wavelets, linear predictive systems, additional transforms, etc.).


At the conclusion of this course you will have a better appreciation of discrete-time and digital signals and systems, an understanding of some of the techniques for designing systems for processing and analyzing discrete-time data, and a sense of the advantages and disadvantages of working in the discrete-time domain. These are all useful skills for performing graduate-level research in a variety of areas.


Many of these concepts and topics will be demonstrated and reinforced using MATLAB and the Signal Processing Toolbox, both of which are available in the CEAT PC labs and for student install. Additional information will be provided.