Discrete Convolution Demo

Slides:



Advertisements
Similar presentations
EasySearch Technical Overview. Ever seen a website without a full text search? BUT – Search is expensive Financially Computationally – Search is complicated.
Advertisements

Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
SERVER web page repository WEB PAGE instructions stores information and instructions BROWSER retrieves web page and follows instructions Server Web Server.
MM3FC Mathematical Modeling 3 LECTURE 3
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
SIMULINK Dr. Samir Al-Amer. SIMULINK SIMULINK is a power simulation program that comes with MATLAB Used to simulate wide range of dynamical systems To.
SQL Reporting Services Overview SSRS includes all the development and management pieces necessary to publish end user reports in  HTML  PDF 
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Using 3D-SURFER. Before you start 3D-Surfer can be accessed at For visualization.
User Interface Design using jQuery Mobile CIS 136 Building Mobile Apps 1.
Team May12-25 Alex Wilkins Kevin Wells Daniel Mears Le Uong Interactive GUI for Emergency Light Bar Design.
IT 210 The Internet & World Wide Web introduction.
1 Signals & Systems Spring 2009 Week 3 Instructor: Mariam Shafqat UET Taxila.
Robert Vitolo CS430.  CSS (Cascading Style Sheets)  Purpose: To provide a consistent look and feel for a set of web pages To make it easy to update.
Yahoo! User Interface (YUI) Library Natly Mekdara.
GRACE Project IST EGAAP meeting – Den Haag, 25/11/2004 Giuseppe Sisto – Telecom Italia Lab.
Development of the iPad Application “Sound Reading” Ryan DuToit, Bennett Hansen, Dr. Timothy Urness *Department of Mathematics and Computer Science, College.
Ranjeet Department of Physics & Astrophysics University of Delhi Working with Origin.
Interacting with a Web Page using JavaScript Mat Kelly GTAI Presentation January 10, 2014.
OPEN SOURCE, OPEN MINDS Using Moodle™ to Become an Effective Educator By Tracy Magin and Allen M. Ford.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Kanban Task Manager helps teams visualize task workflows and makes it easy to cooperate on projects. With the SharePoint version of Kanban Task Manager.
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
HTML Forms. Slide 2 Forms (Introduction) The purpose of input forms Organizing forms with a and Using different element types to get user input A brief.
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
HTML FORMS The TEXT Object Presented By: Ankit Gupta.
CS5604: Final Presentation ProjOpenDSA: Log Support Victoria Suwardiman Anand Swaminathan Shiyi Wei Department of Computer Science, Virginia Tech December.
INTRODUCTION TO HTML5 New HTML5 User Interface and Attributes.
National Aeronautics and Space Administration TablePress Evaluation & Section 508 Accessible Tables with Visual Editor WP Workshop, 3/19/2014.
New and Improved Financial Aid Help Service System for Clark Atlanta University By Shannon Parker.
Benchmark 2 progress report and future directions Sergey Lyskov
October 7 th, 2010 SDU Webship. What did we learn last week? jQuery makes it really easy to select elements and do stuff with them. jQuery can process.
Overview of Previous Lesson(s) Over View 3 Program.
SIN DRILL & Z-DRILL Bhaskar Khaneja Lekha Surasani.
05 | Integrating JavaScript and MVC 4 Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek.
Orion 'Code Edit': A Really Sweet Stand-Alone Code Editor Eric Moffatt Orion Committer IDS Web IDE (Tooling)
Virtual Observatory India VOStat Statistical Analysis for the Virtual Observatory By Deoyani and Mohasin.
Craig Pelkie Copyright © 2015, Craig Pelkie ALL RIGHTS RESERVED Use RPG to Mobilize your IBM i.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
Enterprise Oracle Solutions Oracle Report Manager The New ADI and More Revised:June 20091Report Manager/SROAUG Presentation.
IR Homework #2 By J. H. Wang May 9, Programming Exercise #2: Text Classification Goal: to classify each document into predefined categories Input:
TREVOR BOARDMAN, TRISTAN HUMMEL, JOSEPH KADRICH, ERIC ROBY.
C# Programming: From Problem Analysis to Program Design1 Visual Studio Configuration C# Programming: From Problem Analysis to Program Design 4th Edition.
Web Design, 5 th Edition 6 Multimedia and Interactivity Elements.
LINGO TUTORIAL.
Creating and Processing Web Forms
Creating Visual Effects
Pre-Production Meet with the client to create a project plan:
Java FX: Scene Builder.
Objective % Select and utilize tools to design and develop websites.
>> Introduction to CSS
Objectives Design a form Create a form Create text fields
LMEvents SharePoint Portal How-to Guide
Lecture 12 Linearity & Time-Invariance Convolution
Section 17.1 Section 17.2 Add an audio file using HTML
Objective % Select and utilize tools to design and develop websites.
IS1500: Introduction to Web Development
Jefferson Lab Andrea Cowley, George Kharashvili, Pavel Degtiarenko
Django Presentation: Project MiTunes 2.0
Displaying Form Validation Info
Continuous - Discrete Sampling Demo (CON2DIS) team
OptiSystem-MATLAB data interchange model and features
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Fourier Series GUI Implementation.
CS3291: "Interrogation Surprise" on Section /10/04
ILLINOIS Visualizing Graphs Distributed Across Multiple Processes
Lecture 7: JavaScript/DOM Lab Wednesday February 7, 2018.
Lab 1: D3 Setup John Fallon
Intelligent Tutoring Systems
Presentation transcript:

Discrete Convolution Demo Team Members: Jay Karwatsky, Cassie Xia

Goals Recreate discrete convolution demo GUI using HTML/CSS, JavaScript, and JSXGraph Learn how to use JSXGraph libraries Use GitHub to organize collaborative work

Project Overview The Discrete Convolution Demo is a program that helps visualize the process of discrete-time convolution. The demo we created works with linear convolution. This demo allows the user to select from a selection of signals and view the output of the discrete time convolution.

Matlab GUI - Discrete Convolution

Matlab GUI - Signal Inputs

JavaScript GUI - Signal Inputs

JavaScript GUI - Discrete Convolution

Tools Used HTML Javascript (JSXGraph) CSS (Bootstrap) Git

JSXGraph JSXGraph is a JavaScript library used to display visuals In our demo, we use the JSXGraph to provide the graphs and sliders content to our webpage

Webpage Setup The webpage was laid out with a modular design structure This design structure allowed elements of the page to be moved around easily without causing issues with the code The modular design allowed for easy implementation of Bootstrap CSS tools. JavaScript files were also implemented with a modular design Each function was placed in a separate file in a JavaScript folder

x[n] and h[n] Input Signal Types Pulse User Inputs: Amplitude, Length, Delay Cosine User Inputs: Amplitude, Period, Phase, Length, Delay Sine Exponential User Inputs: Scaling Factor, Exponential Constant, Length, Delay, Causality

Input Signal Features Changes input queries based on selected signal type Only shows input boxes for selected signal type Select signal type through drop-down menu Submit signal to graph user input Make changes to input signals before convolving Can always go back to resubmit input signals

Convolution Signals were stored in a global array that all boards could access and manipulate x[n] and h[n] are convolved point by point and added to the overall convolution board. The delay slider determines where signals are placed on the overlay and multiplication boards. Zoom is determined based upon the max ranges of X and Y values for respective boards.

Overlay Board x[n] and h[n] signals are overlaid on top of each other Zoom is based on the range of the input signals Ability to change whether x[n] or h[n] is flipped

Middle Step Board The middle board highlights the multiplication of the overlaid signals

Convolution Result Board Displays the final result of the convolution and highlights the stem associated with the stems in the middle board Zoom is again based on the possible range of values

Challenges Encountered Learning how to use the virtual machine alongside of GitHub to setup a localhost Overcoming different levels of JavaScript experience Locating resources for learning about JSXGraphs and how to use the JSXGraph libraries Encountering compatibility issues when combining individual code together Figuring out how to use design space most efficiently

JavaScript GUI - Signal Inputs

JavaScript GUI - Discrete Convolution

What Worked? Using a global backing array Using a modular HTML and JavaScript design Setting up Brackets (Text Editor) to work as an IDE Brackets provided live feedback during development

What Didn’t Work? Optimal use of GitHub Use of AJAX to format the pages Too much to learn within the given timeframe Could not test code without a local server Ended up using CSS

Possible Improvements Display equation of each input signal Add an unit sample input for x[n] and h[n] Add an user signal input for x[n] and h[n] Improved zoom functionality and tools to configure zoom Improved visual design Optimization of backing code Setting limits for the user Display equation of each input signal On both the input signal page and the convolution page Add an unit sample input for x[n] and h[n] Functionality is available in pulse input signal Add for improved user compatibility Add an user signal input for x[n] and h[n] Allow user to input an array of values instead of a defined signal type

Learning Experience Greatly improved knowledge of JavaScript and how to use libraries Basic understanding of Git collaboration Using suggestions and reference code from multiple sources Time management and group coordination

Questions?