ece 5655/4655 real-time signal...

3
ECE 5655/4655 Real-Time Signal Processing Spring Semester 2020 Instructor: Dr. Mark Wickert Office: EB-292 Phone: 255-3500 [email protected] Fax: 255-3589 http://www.eas.uccs.edu/~mwickert/ece5655/ Office Hrs: Mon 3:15–4:30pm, others by appointment. Required Text/Hard- ware Donald Reay, Digital Signal Processing Using the ARM Cortex-M4, Wiley, 2016. Joseph Yiu, The Definitive Guide to ARM® Cortex®-M3 and Cortex®- M4 Processors, Third Edition, Newnes, 2013 (~$40). Analog Discovery 2, USB oscilloscope, logic/spectrum/network analyzer ($179 with edu pricing). Software runs on Windows, Mac, Linux. Will be supplemented with instructor course notes. Optional Hardware/ Software: The primary hardware is the $50 Cypress FM4 S6E2CC Pioneer Kit. For com- putation and lab reports Python via the Jupyter Notebook/Lab (http://ipy- thon.org/ install.html). Will be available in lab and discussed on the first lecture. We may explore real-time DSP using pyaudio_helper. Grading: 1.) Graded homework/laboratory assignments/experiments worth 60%. 2.) Mid-term Exam worth 20%. 3.) Final hardware/software team project worth 20%. Format: Lecture time will consume about 50% of the course meeting time (or course videos) with laboratory work comprising the remaining 50% of the class meet- ing time. Topics Text 1. Overview: Hardware and Software Tools Notes Ch. 1, Text 1–20 2. The ARM Cortex Family and the M4 Architecture Notes Ch. 2–3, Text 1–20 3. Analog Input and Output Using Codec Libraries Notes Ch. 4 4. Fixed-Point Considerations Notes Ch. 5 5. Code Optimization Notes Ch. 6 6. Real-Time FIR Digital Filters Notes Ch. 7, Text 21,22 7. Real-Time IIR Digital Filters Notes Ch. 8, Text 21,22 8. Adaptive filters Notes Ch. 9, Text 21,22 9. Real-Time Fast Fourier Transform Notes Ch. 10, Text 21,22 10. Communications Applications Notes Ch. 12, Text 21,22 Drop Date The last day to drop is April 3, the Friday after Spring break week.

Upload: others

Post on 26-Jan-2021

15 views

Category:

Documents


0 download

TRANSCRIPT

  • ECE 5655/4655 Real-Time Signal Processing

    Spring Semester 2020

    Instructor: Dr. Mark Wickert Office: EB-292 Phone: [email protected] Fax: 255-3589http://www.eas.uccs.edu/~mwickert/ece5655/

    Office Hrs: Mon 3:15–4:30pm, others by appointment.Required Text/Hard-ware

    Donald Reay, Digital Signal Processing Using the ARM Cortex-M4, Wiley,2016. Joseph Yiu, The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors, Third Edition, Newnes, 2013 (~$40). Analog Discovery 2,USB oscilloscope, logic/spectrum/network analyzer ($179 with edu pricing).Software runs on Windows, Mac, Linux. Will be supplemented with instructorcourse notes.

    Optional Hardware/Software:

    The primary hardware is the $50 Cypress FM4 S6E2CC Pioneer Kit. For com-putation and lab reports Python via the Jupyter Notebook/Lab (http://ipy-thon.org/ install.html). Will be available in lab and discussed on the firstlecture. We may explore real-time DSP using pyaudio_helper.

    Grading: 1.) Graded homework/laboratory assignments/experiments worth 60%.2.) Mid-term Exam worth 20%.3.) Final hardware/software team project worth 20%.

    Format: Lecture time will consume about 50% of the course meeting time (or coursevideos) with laboratory work comprising the remaining 50% of the class meet-ing time.

    Topics Text

    1. Overview: Hardware and Software Tools Notes Ch. 1, Text 1–20

    2. The ARM Cortex Family and the M4 Architecture Notes Ch. 2–3, Text 1–20

    3. Analog Input and Output Using Codec Libraries Notes Ch. 4

    4. Fixed-Point Considerations Notes Ch. 5

    5. Code Optimization Notes Ch. 6

    6. Real-Time FIR Digital Filters Notes Ch. 7, Text 21,22

    7. Real-Time IIR Digital Filters Notes Ch. 8, Text 21,22

    8. Adaptive filters Notes Ch. 9, Text 21,22

    9. Real-Time Fast Fourier Transform Notes Ch. 10, Text 21,22

    10. Communications Applications Notes Ch. 12, Text 21,22

    Drop Date The last day to drop is April 3, the Friday after Spring break week.

    http://www.cypress.com/documentation/development-kitsboards/fm4-176l-s6e2cc-eth-arm-cortex-m4-mcu-starter-kit-ethernet-andhttps://www.amazon.com/Digital-Signal-Processing-Using-Cortex/dp/1118859049/ref=sr_1_1?ie=UTF8&qid=1483719230&sr=8-1&keywords=Digital+Signal+Processing+Using+the+ARM+Cortex-M4https://www.amazon.com/Definitive-Guide-Cortex-M3-Cortex-M4-Processors/dp/0124080820/ref=sr_1_fkmr0_2?ie=UTF8&qid=1483719308&sr=8-2-fkmr0&keywords=The+Definitive+Guide+to+ARM%C2%AE+Cortex%C2%AE-M3+and+Cortex%C2%AE-M4+Processorshttps://www.amazon.com/Definitive-Guide-Cortex-M3-Cortex-M4-Processors/dp/0124080820/ref=sr_1_fkmr0_2?ie=UTF8&qid=1483719308&sr=8-2-fkmr0&keywords=The+Definitive+Guide+to+ARM%C2%AE+Cortex%C2%AE-M3+and+Cortex%C2%AE-M4+Processorshttp://store.digilentinc.com/analog-discovery-2-100msps-usb-oscilloscope-logic-analyzer-and-variable-power-supply/http://conference.scipy.org/proceedings/scipy2018/pdfs/mark_wickert_250.pdfhttp://conference.scipy.org/proceedings/scipy2018/pdfs/mark_wickert_250.pdf

  • Cortex-M App Dev

    Download and Install ARM Keil MDK: https://www.keil.com/down-load/product/. Version 5.28a works OK, maybe newer is out.

    Installing Python & scikit-dsp-comm

    Download and Install the Anaconda Python 3.7+ Distribution: https://ana-conda.org/anaconda/python. I recommend you have Anaconda configurepaths to the tools. This is not the default. Jupyter Notebook, QT Console, andJupyter Lab will be installed with the Anaconda distribution. Finish installa-tion on Windows in Powershell by typing: conda init powershell. Follow theJupyter Lab link for more steps on getting this up. See my miniconda info.Download and Install the distributed version control application git: https://git-scm.com/ on Windows systems (included on macOS and Linux). Optionally Download and Install a code development environment that alsointegrates git version control such as Visual Studio Code (VS Code): https://code.visualstudio.com/ or PyCharm Community Edition IDE for Python:https://www.jetbrains.com/pycharm/. Clone and Install the package scikit-dsp-comm by following the GitHubREADME page at: https://github.com/mwickert/scikit-dsp-comm. Maintain scikit-dsp-comm using git pull origin master (see the informa-tion in the GitHub link).

    Optional Jupyter Notebook to PDF Conversion

    The Jupyter notebook is the perfect place to write code, document code, writetext using markdown, import figures, and typeset math equations usingLaTeX syntax. To render a Jupyter notebook as a PDF document a few moreopen source software components are needed:

    • Install Pandoc for file conversion to LaTeX and other formats: https://pandoc.org/index.html

    • Install MikTeX for converting LaTeX documents to PDF on Windows:https://miktex.org/

    • When installing MikTeX be sure to choose the option to automaticallydownload needed LaTeX packages on-the-fly

    • Install TeXLive for converting LaTeX documents to PDF on macOS andLinux: https://www.tug.org/texlive/

    • Install Inkscape for converting embedded SVG graphics in Jupyter note-books via Pandoc to LaTeX and then PDF: https://inkscape.org/en/release/0.92.2/. This gives you the ability to have nice looking graphics inthe notebook and easily convert to a PDF, using just the File: DownloadNotebook menu item. On macOS you just install Inkscape. On Windowsyou may have to manually tweak the registry to get Inkscape to properlyconvert SVG graphics to PDF in the notebook conversion process. Whenthis is finally set up it is great.

    • Install Typora: As an alternative to installing LaTeX (MikTeX or TeX-Live), install the markdown editor Typora: https://typora.io/. Now youcan export as *.md and then open the file in Typora and save to PDFdirectly. You can also do some nice file editing if need be.

    http://www2.keil.com/mdk5/525https://www.keil.com/download/product/https://www.keil.com/download/product/https://www.keil.com/download/product/https://anaconda.org/anaconda/pythonhttps://github.com/jupyterlab/jupyterlabhttps://git-scm.com/https://git-scm.com/https://code.visualstudio.com/https://www.jetbrains.com/pycharm/https://github.com/mwickert/scikit-dsp-commhttps://pandoc.org/index.htmlhttps://miktex.org/https://www.tug.org/texlive/https://inkscape.org/en/release/0.92.2/https://typora.io/https://typora.io/