Signals and Systems Simulation for iPad: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
Core (talk | contribs)
No edit summary   (change visibility)
Core (talk | contribs)
No edit summary   (change visibility)
Line 14: Line 14:


In Drill Problems, program shows some of the examples about the Signals and Systems courses.
In Drill Problems, program shows some of the examples about the Signals and Systems courses.



== Project Members ==
== Project Members ==

Revision as of 04:44, 15 May 2012

SPRING 2012 - Senior Project

Description of the Project

The project aim is to create an iPad simulation for the Signals and Systems courses. These projects have three submenus.

  • Visualizations
  • Explorations
  • Drill Problems

In Visualization part, program shows the some examples of the signals and convolutions. User can choose the filter and signal type for the simulation of convolution to understand the process for the systems.

In Explorations part, program record the voice from outside and use these signals as an input for filters. Filters are low-pass filter and high pass filter. User listen these output records after the filtering process or analysis with the graphs.

In Drill Problems, program shows some of the examples about the Signals and Systems courses.

Project Members

Prof. Mark Fowler

Huseyin SULAR

Visualization Part

Visualizations

  • Complex Numbers & Complex Sinusoids
  • System Properties
  • Differential and Difference Equations
  • First-Order Differential Equations & RC Circuits
  • Recursive Solution of Difference Equations
  • Convolution
  • Convolution Illustrations
  • Demo of FIR filter data flow
  • Motor Speed Measurement using DT Convolution
  • Fourier Analysis
  • Fourier Series – Create, See, and Hear
  • Understanding Negative Frequencies
  • FT Pairs and Properties (CT & DT options)
  • System Analysis using Frequency Response
  • Sinusoid In – Sinusoid Out (CT & DT options)
  • Frequency Response – Three Paths (CT & DT options)
  • Sampling Theory
  • Sampling Theory Illustration
  • Sampling – Use in Systems
  • DFT Processing
  • Relationships between CTFT, DTFT∞,DTFTN, and DFT
  • Illustrating Errors in DFT
  • System Analysis
  • Poles/Zeros and Transfer Function Plots (CT & DT options)
  • Stability… Select Pole locations and see impact on impulse response (CT & DT options)
  • Bode Plot (CT Only)
  • Step Response (CT & DT options)
  • System Model Relationships (CT & DT options)

Exploration Part

Explorations

  • RC Circuit Response to Audio Signals
  • DT Convolution – Pulses and Sinusoids
  • DT Convolution – Filtering Audio Signals
  • FT Properties
  • CT Frequency Response – Effect on Audio Signals
  • Measuring Room Impulse Response and Frequency Response
  • Sampling Rate Effect on Audio Signals
  • DFT Processing of Sinusoids (Multi-Player “Game”)
  • DFT Processing of Audio Signals
  • DT FIR Filter Design for Audio Signals
  • System Model Exploration

Exploration Part - DFT Processing of Sinusoids (Multi-Player “Game”)

Description: The game makes use of one player who is the Signal Generator (SG) and any number of other players who are the Signal Analysts (SA). The SG selects two frequencies and two amplitudes and the app then generates two sinusoids with those parameters and plays them as a sound. At the same time the SAs will receive the sound and use DFT processing to try to determine which frequencies were selected. SAs should strive to determine the frequencies while using the lowest number of samples… app should record the largest number of samples a user has tried in the current round of play. (i.e., each SA would strive to start with a low number of samples and work up from there… after “play” has finished each SA can show the number of samples they needed – that would be the largest they tried during play of that round).

Technical Needs: The SG part needs code to generate the sum of two sinusoids and play it through the speaker. The SA part needs FFT code that allows the user to specify: (i) number of samples to use, (ii) a choice of “window” function to use (from a handful of choices), and (iii) how much “zero-padding” to use. Will need a way to zoom on peaks (finger-based zooming should be fine). Will need a way for user to determine the frequency at a desired peak (finger touch causes display of frequency and prompts if SA wishes to save this as one of their two frequencies).