Continuous Discrete Sampling Demo CON 2 DIS team





















- Slides: 21
Continuous - Discrete Sampling Demo (CON 2 DIS) team Intelligent Tutoring System (ITS) Ruo Zhang Wenqi Xian 12/9/2015
Fall 2015 Goal - Implement GUI to demonstrate Digital Signal Processing concepts for students in ECE 2026. - Based on existing Matlab GUI • Creating more interactive visualization and animation • Web-based interface - Learn front-end web development with the use of HTML, CSS, Java. Script, and 3 rd party Java. Script library JSXGraph - Learn Linux operating environment and how to use Github as means of source control.
Project Overview - The Continuous-Discrete Sampling Demo is a program that shows the continuous and discrete spectra (of the input and reconstructed signals) during sampling. - This program covers the content in Matlab GUI CON 2 DIS demo, Nyquist theorem and Sampling theorem. - GUI DEMO: link - http: //itsdev 3. vip. gatech. edu/~rzhang 315/
Matlab GUI
Overall Layout of CON 2 DIS demo
Module 1: Animation - A “play” button is designed to run a quick demo for users before they begin to change parameters of the signal. - Purpose: - Reduce cognitive load - Better understand the process
Play button is pressed→ call player() 1: if (not playing) → start the timer “animate” → call slider. Animation() 2: if (playing) → stop the timer “animate” → clear the timer
slider. Animation() →set timer →update slider →update function of sinusoids and spectra.
Input Slider object from JSXGraph Library
Module 2: Graph function implementation Function graph object from JSXGraph Library
Segments Line objects based on ‘Point’ Object from JSXGraph Library
Module 3: Continuous Time Spectrum & Discrete Time Spectrum Line objects and Rectangle objects based on Point Object from JSXGraph Library
Module 3: Continuous Time Spectrum Discrete Time Spectrum Line objects and Rectangle objects based on Point Object from JSXGraph Library
Question & Formula Output Basic HTML
Code Structure HTML 5 + CSS + Javascript +JSXGraph Library CSS header HTML affect file contain Board 1 ild ch (Sinewaves) ch ild Board 2 Board 3 (Discrete) (Continu. )
Analysis of JSXGraph ADVANTAGES • Easy to learn, comparing to D 3 • Strong functionality, ex. built-in objects • Easy to create an object, ex. generate graph with math formula • Less compatibility issue • Cross platform • Light and Fast
Analysis of JSXGraph DISADVANTAGES • Strange Behaviors - hide. Element() & show. Element() function with Line object • Scarce online resources and documentation - solution towards bugs - API hard to locate desired function
Challenges and Solutions • Animation with JSXGraph • Communication between boards • Algorithm • Board. update() with Javascript functions • Add boards to same parent node • Example of Dr. Mc. Clellan’s Matlab GUIs
Future Work - Connect with ITS system More informative Q&A section Reduce the ambiguity in the GUI Optimization of code • Improve algorithm • Simplify hard-coding • Well-structured object oriented programming
Learning Outcome Technical • Usage of Github to collaborate • Familiarity with Linux System Command • Mastery of Javascript, CSS, and JSXGraph library Team-wise • Cooperating with each other • Accepting and Giving Suggestions • Time Management