Instructor: Christopher Neils
Office: Foege Bldg, room N310E
Meeting Times and Locations:
Lecture: Monday 11:30 – 12:20
Lab: Thursday 4:30 – 6:20, Foege N133
This course introduces a variety of techniques for real-time data acquisition, processing, and output, and allows students to implement the desired operations using software (LabView) or firmware (e.g. Arduino) interfaces. One lecture hour per week briefly presents sensor and data I/O options, applications, and underlying mathematics. In a weekly two-hour lab section, students will create LabView programs that use the computer as an oscilloscope and function generator, force and motion sensing system, feedback controller, and digital input/output interface. The quarter ends with exercises in programming an Arduino board via its command-line interface as well as via LabView. Prerequisites: BIOEN 316 or equivalent knowledge of frequency-domain analysis and filtering; familiarity with the basic programming techniques in any high-level language such as Python, C/C++, MATLAB, or Java. Two credits.
Prerequisite courses: BIOEN 316 or equivalent.
- Basic Programming with Python, C/C++, MATLAB, Java, or similar.
- Frequency domain analysis and filtering.
Textbook: Hands-on Introduction to LabVIEW for Scientists and Engineers, 2nd edition. John Essick, Oxford U Press. ISBN 978-0-19-992515-5
Course topics by week
|Lecture topic||Lab activity|
|Classes of processing systems:
Gate-array logic, Floating-point gate arrays, microcontrollers, microprocessors, signal-handling software.
Intro to graphical programming.
|Guided exploration of LabView interface. Signal simulation and display using express VIs.|
|Analog signal acquisition hardware (analog-to-digital converters); hardware specifications; timing methods; signal buffering; signal conditioning (amplification and analog filtering); high-voltage hardware protection.||Signal acquisition with LabView and USB-based DAQ hardware. The computer as an oscilloscope.|
|Accelerometers and pressure sensors; applications in robotic and prosthetic systems.||Touch/motion sensing system.|
|Analog signal output hardware (digital-to-analog converters). Analog output filtering. Pulse-width modulation. Considerations for output to sound card.||Signal output with LabView and USB-based DAQ hardware. The computer as a function generator.|
|Feedback control principles. Basic PID control theory (review of BIOEN 336/337).||Feedback control of LED brightness as used in pulse oximeter.|
|PID control strategies and applications (extension of BIOEN 336/337).||PID/feedback controller using LabView and touch/motion sensing system.|
|Advanced Labview programming structures: sub-VIs, script nodes, low-level functions.||Finish PID control lab project.|
|Digital signal I/O: digital buses & bus contention, voltage standards, serial and parallel data collection, applications.||Digital I/O exercise with Labview and [hardware TBA]|
|Stand-alone microprocessors: Arduino and PIC||Arduino coding exercise (scripts)|
|Inter-platform software: MATLAB→Arduino, LabView→Arduino, C→PIC, etc. Compiled & encrypted MATLAB and LabView code.||LabView/Arduino interface|
|Finals week, no lecture||Practical final exam; students sign up for individual exam times.|
Students will learn the following fundamental concepts:
- Characteristics and applications for a variety of digital signal acquisition and processing hardware and software;
- Software implementation of PID control systems;
- Limitations of signal sampling
- Structure of graphical computer programs.
Students will also develop the following skills:
- Implementation of signal acquisition routines using LabView.
- Implementation of output and simple feedback routines using LabView.
- Programming Arduino microprocessors for simple input & output functions.
Most lab exercises use LabView for digital filter design and implementation, with a few exercises in Arduino scripting language. Assignments may be composed using Word and submitted via Catalyst drop box.
BIOEN 498 employs lectures, online exercises, homework problems, and a practical in-lab final exam.
Lecture There is one 1-hour lecture per week.
Lectures will include PowerPoint presentations, mathematical examples at the board, and demonstrations of the use of software.
Online exercises Online tutorials in the use of LabView and Arduino will be recommended but will not constitute the main content delivery mechanism.
Labs There is a weekly lab period in which students will practice the skills introduced in lecture. The lab assignments will include two or three multiweek projects on simple sensor systems and feedback control systems. If a lab session must be missed, the instructor should be notified beforehand so arrangements can be made.
Reading: Reading assignments will be provided as handouts [and may include a book, TBA].
Homework Approximately four brief homework assignments on the fundamental mathematics underlying the signal acquisition and output concepts will be required. Homework assignments will be due either at the beginning of lecture OR will be submitted on line, depending on the nature of the assignment. Homework turned in late may be penalized at 5% per day unless prior arrangements have been made. Students may discuss the problems, solution strategies and programming steps, but then are expected to produce their own code and report. Similar to the policy in Computer Science, no matter who helped you through the learning phase, submitting an individual assignment implies that you are capable of doing that work by yourself and could demonstrate that ability if asked.
Exam The practical final exam will be comprehensive and will require students to may include material from the quizzes, homework, and lectures. There will be no midterm exam other than the quizzes.
Special project (graduate students) Graduate students should extend their participation in the LabView community in one of two ways.
1. (preferred) Prepare a written description of one of the lab projects that we have done this quarter, or that the student has done as part of his or her research, in the style of the “Solutions” examples provided on the National Instruments web site, http://www.ni.com/solutions/.
2. Analyze one of the case studies provided through the NI Solutions page, and present the case study to the class as a podium presentation. If there is inadequate lecture time to present the case study in class, the presentation should be recorded and made available to the class in video format.
Grading distribution for undergraduates:
- Homework 24%
- Lab projects 44%
- Final exam 32%
Grading distribution for graduate students:
- Homework 20%
- Lab projects 40%
- Final exam 25%
- Special project 15%
Disabilities as defined by state and federal law will be accommodated. For issues that relate to content (e.g. large-print handouts) or access (e.g. positioning of lab benches) please contact the instructor at firstname.lastname@example.org. For issues relating to graded work (e.g. extra time on exams) a request must be made via the UW Disability Services Office. To request disability accommodation, please contact the DSO at least ten days in advance at: 206.543.6450 (Voice), 206.543.6452 (TTY), 206.685.7264 (FAX), or email@example.com.