ECGR4090/5090        Embedded Signal Processing           Fall 2016b


Prof. Weldon: EPIC 2228 tpweldon@uncc.edu
Course Web site: see courses link on http://coefs.uncc.edu/tpweldon/
Office hours: see my home page http://coefs.uncc.edu/tpweldon/

FIRST DAY OF CLASS REQUIREMENTS:
1) Register for account at mbed.org (see below).
2) Order required hardware (see below).
3) Before midnight of first class,
students must email tpweldon@uncc.edu
a) snapshot of mbed.org dashboard with your username logged in
b) snapshot of purchase confirmation for hardware (see below)
4) Failure to meet above required items will result in an
IMMEDIATE FAILING GRADE of "U" for the course, since there
is a waiting list of many students to take this course

Course Philosophy and Overview:
- Grades will be highly subjective, whatever instructor decides.
- The subjective grading reflects intangibles in a hands-on class.
- This is a graduate course intended to conduct REAL research.
- Therefore, see the instructor's relevant research papers.
- Top students would co-author a research paper with faculty.
- The focus is on signal processing more than embedded systems.
- Prerequisite knowledge of DSP, z-tranform, digital filters.
- The work will be hands on, building real systems.
- The course is task-oriented with many pass/fail assigned tasks.
- Class requires 2 hours out-of-class work per class meeting.
- May assign random project groups weekly, PhD's may elect option.
- Papers shall be submitted by hardcopy PLUS pdf by email.

Caution on DSP background and other:
Students either must have prior knowledge of digital signal
processing or must commit to extra effort to independently
become proficient in needed topics such as z-transform and
digital filter design. A comprehensive DSP exam is typically
given within the first ~2 weeks. To aid in review, see
midterms and final exams on:
http://thomasweldon.com/tpw/courses/eegr4124/index.html
Students should also be thoroughly familiar with Laplace and
Fourier transforms, such as taught in ECGR 3111.

Mbed.org account registration:
You MUST have access to FRDM-K64F mbed tools in the class to be
able to pass this course. Therefore, on the first day of class,
it is your responsibility to VERIFY THAT YOU MEET the mbed.org
Website Terms and Conditions of Use, by signing into mbed.org,
accepting the terms, and opening your personal mbed.org account.
The university has no control over company's legal agreements;
you should not take the course if their terms are unacceptable.
It is also necessary to install NXP/Freescale Kinetis
Design Studio and KSDK design kits, under the same caveats.



IMPORTANT:
*** NO EXCEPTIONS! ***
**================================================================
** HARDWARE MUST BE ORDERED BY MIDNIGHT OF FIRST CLASS MEETING
** and THE VENDOR CONFIRMATION MUST SHOW **NO BACKORDERS** AND
** SHIPPING by UPS 2nd Day, USpostal priority mail, or overnight.
** ALL STUDENTS are required to email a purchase confirmation
** from Digikey, Amazon, or Mouser of the following items by
** midnight of the first day of class. If you do not have a
** credit card, ask a friend or classmate to order it for you.
**
**BEFORE MIDNIGHT:
**===============
** Email tpweldon@uncc.edu a copy of your order confirmation from
** a vendor/vendors for the below items, SHOWING NO BACKORDERS.
** If a vendor has no stock, CHOOSE A DIFFERENT VENDOR.
** SHIPPING must be UPS 2nd Day, USpost priority mail, or express.
** REMOVE ALL CREDIT CARD INFO before emailing, for security!
** !! Goal is to have all the boards by the 3rd class meeting!!
**===============================================================

ITEMS THAT MUST BE PURCHASED:
==================================================================
REQUIRED ITEMS FOR ALL STUDENTS:
-------------------------------
1) FRDM-K64F: Freescale Freedom Development Platform for Kinetis
see example: approx $35
www.mouser.com/ProductDetail/NXP-Freescale/FRDM-K64F
developer.mbed.org/platforms/FRDM-K64F/
(NOTE: if there is some special board needed to support
a faculty research project, speak to instructor)

OPTIONAL items **ONLY IF** you do not own these or similar:
--------------------------------------------------------
2) Micro USB cable 0.5 to 1 meter long:
see example: approx $3
www.adafruit.com/products/592
3) ethernet cable to connect to boards
see example: approx $3
www.adafruit.com/product/995
4) two sets Male/Male 75mm jumper wires: approx $2 each
see example https://www.adafruit.com/products/1956
5) Female/Female 75mm jumper wires: approx $2
see example https://www.adafruit.com/products/1951
6) Breadboard
see example: approx $5
https://www.adafruit.com/products/64
7) a LAPTOP or computer at home,
Since the lab may be busy/unavailable with many courses,
and you will need many hours of work outside class time.
As a bare minimum, make sure it works with mbed (mbed.org)
Even better if it supports KDS (Kinetis Design Studio).

Other OPTIONAL items you may wish to consider:
--------------------------------------------------------
4) ARDUINO PROTO SHIELD REV 3
see example: approx $15 assembled
www.digikey.com/product-detail/en/A000077/1050-1035-ND/3476359


FUTURE REQUIRED ITEM PURCHASES:
--------------------------------------------------------
The above items cost a total of approx $75 including shipping,
BE PREPARED to order up to $45 more as semester progresses,
under the same mandatory conditions, or FAIL THE COURSE.

**** ALSO NOTE: If you BURN OUT YOUR BOARD
at any time during semester, you are required to immediately replace
it by midnight of that day, and email another order confirmation.
Showing up in class without the receipt for replacement of a burned
out board, at any time in semester, means FAILING THE COURSE.


Course overview:
================

This will be a hands-on, interactive, learn-by-doing course, hence
attendance is mandatory, and unexcused absences result in low grades.
Grading will be based on quizzes, projects, reports, attendance,
assignments, and so forth as the course progresses. Groups will be
formed, but EVERY student must be prepared to demonstrate every
assignment on their own board. NOTE: during demos, the instructor
may select and interrogate any member of the group for the demo.

As a rough guide ONLY, which may change as course progresses, the
course grading will consist of:
0) co-authoring paper with instructor is best indicator of "A"
a) 50% quizzes and pass/fail demos/reports of milestone tasks
b) 20% DSP exam
c) 15% end-of-semester IEEE format 4-page conference paper
d) 15% end-of-semester powerpoint final presentation of
results from your end-of-semester paper/project
f) NOTE: Since a large portion of the class involves subjective
in-class activities, grading will be highly subjective, whatever
the instructor decides, based on the above rough weightings PLUS
the instructor's overall impression of student performance,
REGARDLESS of above scores. The weights are only a rough guide
to your progress. The instructor reserves the right to assign
whatever grade represents overall performance, even for example
assigning a "C" for a 90% score.
g) Expect a grade of "C" or lower for poor attendance/participation.

Milestones may be weighted roughly in proportion to the number of class
periods devoted to each. Rough grading scale: 90-100 A, 80-89 B, 70-79 C,
with ``curve,'' if any, entirely at the discretion of the instructor,
AND the instructors OVERRIDING subjective evaluation of performance.

Collaboration (not copying) on homework/projects is encouraged. However,
different project groups may NOT share program code or report material.
Certain assignments may be restricted to independent effort, in which
case collaboration is not permitted. Class attendance and participation
are expected. There is no formal course prerequisite for this course,
but students are strongly encouraged to have previously taken topics of
digital signal processing (ECGR4124), Java or C or C++, analog and digital
communications (ECGR4123), Fourier transform concepts (ECGR3111), and
electronic devices R, L, C, BJT, MOSFET, and their use in circuits. It
would be advantageous had to have experience in embedded systems
and microcontrollers/microprocessors, however the focus in this class is
on relatively simple code for use in signal processing, rather than
complex and large code. Review of such topics is the responsibility
of the student.

Course Outline (subject to change).

Week Topic

1 Order Boards, course overview, DSP Review: sampling
DSP Review: difference equations, DTFT, DFT

2 DSP quiz, DSP Review: z-transform
DSP Review: filters, IIR, FIR, bilinear transform

3 DSP review, Overview of our board/MCU, ARM Cortex-M4F
DSP exam review

4 DSP exam
Review C++, Blinky, Overview of IDEs

5 Blinky Demo in mbed & 1-page report #1
DSP/C++ quiz, gpio & DAC & sampling & quant. noise

6 Gpio and DAC demo & 1-page report #2
Sampling & quant. noise quiz, ADC & Clocks

7 ADC & Clocks demo & 1-page report #3
ADC quiz, debug, moving average, disassembly, SysTick
Cortex M4, multiply & saturated math

8 Moving average and Debug demo, & 1-page report #4
Debug/mvg-avg quiz, Butterworth FIR/IIR filter and Digital Resistors
Cortex M4, Ticker.h, timers, interrupts

9 FIR/IIR/Butter/dig-R demo, & 1-page report #5 FIR/IIR/Butter/dig-R quiz, digital capacitor

10 Digital negative capacitor demo and 3-page report #6 due
NetBeans/Ethernet/IoT Project 

11 NetBeans/Ethernet/IoT pass/fail, 2-page report report #7
end-of-semester project: submit/discuss proposal

12 End of semester project revised proposals due
end-of-semester project assignments

13 Design review: pass/fail, 1-page report #8
  Open session for end-of-semester project
14 Final walk-through: pass/fail, 1-page report #9
  Paper submissions to conferences 15 End-of-semester paper due (4 pages IEEE 2-column format).
 Final demonstrations of hardware in lab on last day of class

Finals Week: Final powerpoint presentations during final exam period
 
If you miss an exam/quiz/demo for any reason, you will receive a grade of zero
(exceptional circumstances must be documented and/or approved by the
instructor at least 24 hours prior to the exam). Any special exam or project
accommodation request should be made no later than the class meeting one week
before the exam or project. Frequent absence from class or labs may result
in a severe grade reduction. Late projects will not be accepted, or may
be penalized up to 50 percent per day, solely at the instructor's discretion.
Absence from each project session, or early departure before attendance is
taken should result in 100% grade reduction per absence, per day's work,
beyond 2 absences. The instructor is free to assign students to any project
group at any time. Appeals regarding final grade must be communicated to
instructor within 14 days after end of semester, since any residual materials
may be destroyed thereafter. If a quiz/demo occurs during a "free pass," the
the instructor may offer a makeup or assign the next/prior/current quiz/demo
grade doubly, solely at the instructor's discretion. Departure from
the classroom during any quiz or exam may result in a grade of zero.
Students are responsible for submitting all forms to Disability Services,
and must provide a letter of accommodation from Disability Services in the
first week or two of the semester (see their office for more information).
If there are any issues or problems within a group, students must
follow the Project Problem Resolution Guidelines provided on the
course website. Audio or video recordings are not permitted, and all
course content are copyright by Thomas P. Weldon.

It is the responsibility of the student to be familiar with the academic
regulations, degree requirements, religious accommodation for students,
course requirements, and all other requirements, policies, and procedures
set forth in the current University Catalog and all University Policies.
The official university guidelines supersede any contradictions that may
exist in this handout. Violations may result in reduction of grades,
zero grade, fines, suspension, course failure, or other adverse consequences.
In addition, a proper classroom environment is expected by all students,
and therefore any disorderly or disruptive conduct or other negative impacts
on the classroom, solely at the instructor's discretion, will result in
expulsion from such class with a grade of zero for corresponding material,
and/or other adverse sanctions as may be deemed appropriate.

The course policies set forth in this syllabus may be modified at any time
by the course instructor. Notice of such changes may be by announcement in
class, website posting, and/or by email to the student's UNCC email address.


ALL STUDENTS MUST MEET PREREQUISITES AND COREQUISITES FOR THIS COURSE as
published in the UNCC Catalog.

Prerequisite:
Corequisite:
Prerequisite or corequisite:

There is no formal course prerequisite for this course,
but all students enrolling should be thoroughly familiar with any topics
noted above. Review of topics is the responsibility of the student.

GRADUATE LEVEL SECTIONS
Higher-level graduate sections will be required to do additional design
work in the final project, and/or more rigorous material or expectation.