ECE 3551 Microcomputer Systems 1 Final Project Morse Code Reader Instructor: Dr. Veton Kepuska Term: Fall 2006 By: Erik Lindman & Rong Li.

Slides:



Advertisements
Similar presentations
A number of MATLAB statements that allow us to control the order in which statements are executed in a program. There are two broad categories of control.
Advertisements

© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 13 – Salary Survey Application: Introducing.
Lecture 14 User-defined functions Function: concept, syntax, and examples © 2007 Daniel Valentine. All rights reserved. Published by Elsevier.
Lecture 7 Curve Turn.
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
ECE 447 Fall 2009 Lecture 9: TI MSP430 Interrupts & Low Power Modes.
Introduction to Programming Using simple games to convey introductory concepts MERLOT International Conference 2004 Tracey Jensen Assistant Professor,
CAPSTONE Demonstration Radio TiVo FPGA Thundercats: Hariklia Karagiannis Hasina Jamal Osato Edo-Osagie Brad Mazan Chad Griffith.
CENG536 Computer Engineering Department Çankaya University.
Lab. 2 – More details – Tasks 4 to 6 1. What concepts are you expected to understand after the Lab. 2 is finished? 2. How do you demonstrate that you have.
Group 1 Final Project Preliminary Design Review/Status 22 November 2002 Madhvi Jain Yasin Ozer Jon Shalvi Frank Patrum.
TK 2633 Microprocessor & Interfacing Lecture 3: Introduction to 8085 Assembly Language Programming (2) 1 Prepared By: Associate Prof. Dr Masri Ayob.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Meeting recorder Application based on Software Agents.
EE332 Junior Project Sound Recorder Spring 2001 Chris Brophy Matt Olinger Instructor: S. D. Gutschlag 4/26/01.
Information Systems Development and Acquisition Chapter 8 Jessup & Valacich Instructor: Ramesh Sankaranarayanan.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Professor: Dr Kepuska Presented by Kyle Farnum. Audio Manipulation through utilizing three types of filters: Low-pass filters Band- pass filters High-
Lecture 5 Geocoding. What is geocoding? the process of transforming a description of a location—such as a pair of coordinates, an address, or a name of.
CS0007: Introduction to Computer Programming Introduction to Arrays.
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
CIS 375 Final Presentation Doug Code § Brad Lloyd § Michelle Zukowski.
 What’s a Computer? What’s a Computer?  Characteristics of a Computer Characteristics of a Computer  Evolution of Computers Evolution of Computers.
By: Joel Rodriguez.  International student from Mexico  Delicias, Chihuahua Mexico  Spanish  Sports and Music.
Computers & Employment By Andrew Attard and Stephen Calleja.
1 CSC103: Introduction to Computer and Programming Lecture No 2.
Offline Performance Monitoring for Linux Abhishek Shukla.
Peripherals and their Control An overview of industrially available “peripheral devices” that use “pulse-width modulation” for information passing. Review.
Hardware Architecture of a real-world Digital Signal Processing platform: ADSP BlackFin Processor, Software Development on DSPs, and Signal Processing.
ECE 264 Object-Oriented Software Development Instructor: Dr. Honggang Wang Fall 2012 Lecture 4: Continuing with C++ I/O Basics.
EE 445S Real-Time Digital Signal Processing Lab Fall 2013 Lab #2 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6748 DSP.
Measuring Phase Difference Dr. Len Trombetta 1 ECE 2100.
Topics Covered: Data processing and its need Data processing and its need Steps in data processing Steps in data processing Objectives of data processing.
Array Cs212: DataStructures Lab 2. Array Group of contiguous memory locations Each memory location has same name Each memory location has same type a.
Verb Expansion Game Team 3 Bryan Bloss Jeremy Comardelle Gordon Gable Gleyner Garden Sponsored By: Dr. Beth Young.
University Of Central Oklahoma ENGR 3613 Dr. Yuhao Jiang April 23rd, 2012.
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
Team # 2 Members: Sowmya Krishnaswamy Hakan Terzioglu Manu Mehan Jerome Tunaya.
For my final project I am going to use the SDRAM. I am uploading 9 files that exceed the limit of the internal memory RAM. I am going to manipulate the.
EE 113D Fall 2008 Patrick Lundquist Ryan Wong
Digitalized Surround Sound Effects Using ADSP BF 533 Kunal Gupta ECE 3551, 03 Fall, 2006.
Arrays Arrays in C++ An array is a data structure which allows a collective name to be given to a group of elements which all have.
Advanced Speed Guidance for Merging and Sequencing Techniques Chris Sweeney Thomas Jefferson High School for Science and Technology MITRE Corporation Center.
ITC Research Computing Support Using Matlab Effectively By: Ed Hall Research Computing Support Center Phone: Φ Fax:
Audio Led Bargraph Equalizer Final Project for ECE /02/09 Instructor: Dr Kepuska By; Anushan Weerasooriya & Chris Guzowski.
Blackfin Calculator Learning Game By Majed Al-Herbi Will Matthau Course: ECE3552 – Spring 2008 Instructor: Dr. Veton Kepuska.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 8 Arrays.
1 Circuitscape Design Review Presentation Team Circuitscape Mike Schulte Sean Collins Katie Rankin Carl Reniker.
Lecture 26: Reusable Methods: Enviable Sloth. Creating Function M-files User defined functions are stored as M- files To use them, they must be in the.
 By: Stanley O. Abada Presented to: Dr. V Kepuska December 4, 2010 Microcomputer 1.
Microcomputer Systems Final Project “Speaker and Sound Modulation”
Simon Says ECE 3551 Microcomputer Systems I Elizabeth Nelson.
ECE 2552 Software/Hardware Integration Grade Point Average Calculator (alpha version) 29 th April, Xerxes Beharry.
Chapter 7 Problem Solving with Loops
Signaling on the CCR Tyler Raulin. Overview of Signals Rules: – Red Light There is a train in the next section of track The turnout is not turned correctly.
Audio Manipulation And Buffers using DSP-BF533 EZ-KIT Lite Dr. Veton Z. Këpuska By Husain Alotaibi Ahmed Alalyak ECE 3551 Microcomputer System I Spring.
Audio Filtering By: Rudrapratap Jadhav ECE 3551 Microcomputer System.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 4 Loops.
CSCI 156: Lab 11 Paging. Our Simple Architecture Logical memory space for a process consists of 16 pages of 4k bytes each. Your program thinks it has.
ECE 3551 – Microcomputer Systems 1 Fall 2010 Siobhan Ireland.
Programming Logic and Design Fifth Edition, Comprehensive Chapter 6 Arrays.
OPERATORS IN C CHAPTER 3. Expressions can be built up from literals, variables and operators. The operators define how the variables and literals in the.
Sound Source Localization & Surround System A Blackfin 533 DSP Application by Jordan Arnold & Adam Hanafi.
CIS 115 AID Peer Educator/cis115aid.com FOR MORE CLASSES VISIT
Microcomputer systems 1 ECE 3551 Dipesh Patel.  Activating Filters using the pushbuttons.  Combination of LEDs turned on with each pushbutton pressed.
Playing the Piano on a black fin Scott Pio ECE 3551 – Microcomputers Dr. Kepuska.
CIS 115 ALL EXERCISES DEVRY UNIVERSITY (DEVRY)  CIS 115 All Exercises Devry University CIS 115 ALL ILABS DEVRY UNIVERSITY (DEVRY)  CIS 115 All iLabs.
Lecture 2d1: Quality of Measurements
Other Kinds of Arrays Chapter 11
Compiler Construction
Disclosure This presentation is intended as a high level overview of TRS reporting. This presentation should not be viewed as a comprehensive overview.
Presentation transcript:

ECE 3551 Microcomputer Systems 1 Final Project Morse Code Reader Instructor: Dr. Veton Kepuska Term: Fall 2006 By: Erik Lindman & Rong Li

The Goal Of the Project User enter Morse code letters using three PF buttons on the board According to the input, the board plays back the corresponding letter

Problems To Be Solved Convert the recorded audio file into data that can be included into the code Design a proper user interface and interpretation logic Regenerate the voice from the board

Initial Approach The recorded wave file is interpreted using Matlab and covered into a series of coefficients By employing several data organizing methods, the coefficients are stored in a.h file as an array declaration

Initial Approach cont. The LED lights are used to assist the users’ code input and display the result in light pattern Intended to use Timer interrupt to regenerate the voice, by calculating the time interval between samples and increment the coefficient array index accordingly

Major Difficulty The coefficient arrays generated are enormous compare to the board’s memory, as one single letter would have 3.5k coefficients and the board could not load even one of such arrays. The sample rate of the recorder, on the other hand, can not be changed The idea of using Timer interrupt doesn’t work as it is the SPORT interrupt that had the control on the board’s sampling rate. A way needs to be found so we can adjust the sampling rate in our favor

Solution In order to reduce the array size, we drop as many samples as we could, taking only every Nth sample. After multiple tests, we decide that N=10 is the highest we can do while maintaining a recognizable voice pattern. However, even after reducing around 90% of the samples, we could only include letters from A to K

Solution cont. After many different attempts and research, we still could not find a direct way to change the sampling rate of the SPORT interrupt, so we came up with a indirect approach:  ratio++;  if (ratio>39)  ratio=0;  if (ratio%20==0 && index <1000)  index++;

Error Prevention To prevent invalid inputs, the code is made so that the board only takes five values, and if the full Morse code table could be loaded into the board, then there will not be a invalid input. Since there is a corresponding letter/number for each combination of the inputs.

Credit Erik Lindman (50%):  Voice coefficient generation and compression  Importing technique for sampled data into C code  Audio data handling Rong Li (50%):  User interface design  Morse code interpretation  Audio replay techniques

Acknowledgement Special THANKS to :  Dr. Kepuska, for his lecture and constant support  Mr. Hua, for his ever-present advice Thanks to all the great buddies who spent hours and hours with us in the lab