AUTOMATIC MODULATION CLASSIFIER Overview

AUTOMATIC MODULATION CLASSIFIER Overview
AUTOMATIC MODULATION CLASSIFIER
Overview:
Cognitive radio (CR) is relatively a new technology which enables an efficient usage of
radio frequency spectrum. Smart Radios equipped with CR technology utilizes empty spaces in
both licensed and unlicensed spectrum, called white spaces, to deliver a ground breaking
performance; unmatched by any other wireless technology. The basic idea is to monitor and
detects empty spectrum holes, then utilize them until their rightful owner shows up again.
Afterwards, CR will change frequency to another hole and possibly another set of modulation
and coding. This procedure is most likely to occur frequently, which imposes a large feedback to
the receiver for every time the modulation and/or the coding change. One proposed solution to
this problem is the utilization of a type of DSP analysis called automatic modulation
classification. These simple DSP calculations can determine the type of modulation very
accurately using a set of simple features to differentiate between modulation schemes. However,
most work in this area is military oriented; applied to HF channels, and cannot be applied
directly to GHz range, additive white Gaussian Noise (AWGN) channels.
Proposed project effort:
The primary objective of this project is to develop and implement a real-time
implementation of Automatic Modulation Classifier (AMC), which can work in AWGN and able
to detect both single carrier and multi-carrier schemes in the 2.4 GHz range. The first step is
survey literatures about this topic and find out if anyone have done any real-time implementation
of AMC modules. Afterwards, design stage commences with clear definition of the problem and
proposed solutions. Simulate algorithm using MATLAB© and identify elements which influence
the performance. The third step would be implementation on hardware platform. FPGA boards
would make a perfect candidate for the DSP calculations required by the AMC. AMCs are not
computationally expensive and do not require large memory either. Therefore, a mid-range
FPGA board will suffice. Also, a complete RF chain; antenna, RF filter, and mixer, working in
the range of 2.4 GHz is needed for the implementation too. Finally, testing would require
transmitter with multiple modulation and coding schemes and a relatively “quite” area in the 2.4
GHz band.
INTERFERENCE CANCELLATION FOR CDMA SYSTEMS
Overview:
Today’s communication systems are overloaded by unprecedented demand on data and
online services. Just few years ago, the market is fighting to achieve 1 Mbps threshold. Now,
we’re talking about tens or ever hundreds of times improvements in data speeds. Mobile
communication market was, and still is, racing to introduce more speed to users, who are
relaying more and more on data speed hungry applications. One of the most recent and still
widely deployed is Direct Sequence Code Division Multiple Access DS/CDMA systems,
commercially known as third generation 3G systems. Even after the introduction of improved
generations 3.5G, 3.7G and 3.85G, the main issue of CDMA is not fully resolved; that is Air
Interference or soft interference. Due to the fact that practical CDMA systems utilize codes that
aren’t fully orthogonal, interference between users occurs and in most cases limits the system
performance. Many solutions were suggested in literature, one of which is Interference
Cancellation structures. These structures can be made cheaply and are easy to install in currently
deployed equipment. These modules can extend the life expectancy of current mobile systems
and improve performance considerably.
Proposed project effort:
The primary objective of this project is to develop and implement a real-time
implementation of Interference Cancellation (IC) structures, which can work in AWGN and able
to decode users’ data more reliably than commonly used matched filter. The first step is survey
literatures about this topic and find out if anyone have done any real-time implementation of IC
structures. Afterwards, design stage commences with clear definition of the problem and
proposed solutions. Simulate algorithm using MATLAB© and quantify possible benefits to
utilizing such modules. The third step would be implementation on hardware platform. FPGA
boards would make a perfect candidate. IC structures are usually computationally expensive and,
therefore, a high-range FPGA board will be required. Even though the model is supposed to be
working 5 GHz radio channel, a simple setup would suffice as a proof of concept. The simulated
noise and interference can be added to the data inside a PC and then fed to the FPGA for
decoding.
Ahmad Almudarres
EECS 452 Pre-Project Ideas
I.
Design Ideas
A. E-move chair: Rather than trying to make deaf people hear music, with this design, one gets
to actually experience it through vibrations, motion and tilting. The E-move allows utilization
of different signal frequencies and assigns various actions to each band of frequency. In
other words, is similar to regular massage chair, except that it uses music tracks to
determine the location and strength of the vibration. It also has the ability to tilt depending
on the frequency of the signal as well. The chair will be operated by a program that is
written based on the principles of basic signal processing and from there, determines the
limits of each frequency filter.
a. There are two main actions the chair software will control. First of all, it will control
vibrations depending on the frequency of the signal. Using high, low and mid band
filters, the software will receive an input, which usually comes from any music
player such as an I-pod through the auxiliary input, and will determine the necessary
action accordingly. High and mid band frequencies will induce vibrations in the
upper to mid back, while low frequency controls vibrations in lower back and thighs.
Therefore, people are enabled to feel the emotion of each track "just by feeling it
vibrate their back and legs". Furthermore, the back angle can also change according
to the genre of the playing music. Both of these aspects are user programmable can
be modified according to the user's preference.
b. E-move chair design
Vibration points
Controlled back angle
that changes according to
played track
Three fully controlled
massage locations
Allows reprogrammable
software to change
frequency band limit
Auxiliary input to connect
any media source
Ahmad Almudarres
EECS 452 Pre-Project Ideas
II.
Design Ideas
B. Bluetooth Cochlear Implant (BCI): A cochlear implant, also called a bionic ear, is a surgically
implanted device that gives a deaf person a limited sense of sound. Over the last decade
scientist have been hard at work improving the capability of cochlear implants to perceive
melodies and allow users to appreciate music. The Bluetooth compatible cochlear implant
will take advantage of these scientific advances by allowing the deaf to connect directly to
their phone, iPod, or any other Bluetooth compatible device to fully appreciate their music.
a. The visible portion of the BCI, shown below, consists of a receiver, the removable
Bluetooth device, and a removable battery casing all connected to the signal
processor which sits around a user’s ear. Sound is picked up by a receiver on the
back of the person’s head. It is then processed and transmitted via radio frequency
to the implanted portion of the device. The removable battery allows the person to
recharge one battery while using another. The main contribution that this design
makes to previous cochlear implants is the removable Bluetooth device that
attaches to the bottom. This device connects directly to the processor which
combines the signals from the receiver and the Bluetooth device to allow the user
to hear their surroundings as well as the music from their Bluetooth phone or IPod.
Users can adjust the volume of the receiver to control how much sound from their
surroundings overlays the music.
b. BCI Design:
Volume
Receiver
Bluetooth On /Off Switch
Battery Casing
Bluetooth Casing
Genre Recognition Overview: It seems that everyone in today’s society have some type of music generating device such as an iPod or Zune. Today’s generation have the tendencies to listen to most, if not every, genre in the music world, from Hip hop and Rap to Hard Rock to Electronic music. In most of these devices, the user uses only one type of equalizing (EQ) genre. The proposed Device would analyze the music that is being listened to and change the EQ for optimum quality and enjoy ability for the user. For example if the person is enjoying the genre of Rap, than the device would change the EQ to Bass Booster or Hip Hop or even both depending on the best quality of the results. This device would increase the number of users and would certainly be helpful in the entertainment industry. Proposed Project Effort: This device would be using digital signal processing to define the frequency that is being used. For example if the user if listening to Rock, the device would need to measure the frequency, which tend to be high in Rock, and determine that it is a Rock song and change the EQ to the specific genre. After the device has recognized the frequency than it would need a filter to filter out the unnecessary frequency space and optimize the used frequency. Since the genre stated above tend to be in the high range than the filter would have a cutoff of the lower frequencies. This project would use low pass and high pass filters to filter out the unwanted frequencies. It will measure the frequencies by measuring the peeks of the signal and the constancy of the measurement in that range to determine which genre it is, and perform the necessary tasks. The problem with this project is that it can be consume power at a higher rate than the original devices. Video Sensor for Traffic Monitoring Overview Traffic is one of the most uncontrollable aspects of civilization; we have regulated speeds, lanes and many other rules of driving to make it safe yet efficient. In a growing technological environment, there are more and more people driving, making it very difficult to insure that traffic jams are minimal. Some traffic jams can come and go in a manner of seconds, while some jams can last up to hours. By effectively devising a way to reduce traffic jams we can insure that people are happy and willing to drive their vehicles without any madness. The device proposed here provide the means to control traffic jams by measuring the number of cars present in the intersection and changing the clock of the traffic lights to make it faster, to allow for faster movement and less jams. Proposed project effort: Initially we need to develop the ability to process the image from the traffic monitor to decide if there is a traffic jam. Another way we can use an average time slots where jams occur which typically occur early morning times and midafternoon’s times. We can program the time slots into the clock of the traffic light to make it faster during these times, but it is better and much more ensuring to use digital signal processing. We can design a filter that would only calculate the images of vehicles and not anything else. We can use digital image processing to calculate the rate of arriving cars to the intersection, and by concluding to how many cars would be counted as a traffic jam we can change the clock of the traffic light. The device would involve some type of image providing device (DCAM camera) and an image processor coding that would work with the images taken by the device. It can be processed by Matlab which supports standard data and image formats including JPEG. It would be installed under the traffic light, and the device should cost around 300‐400$. Arielle Baine
visuaLIFEr: A Desktop Audio Visualizer
Overview:
In recent times, music has become not only an audible experience, but also a visual
experience. The future of the music world is predicted to emerge beyond just these
experiences. Music has the potential to become a demonstrative experience as well.
Can you imagine an audio visualizer that sits on your desk? This concept would bring
music to life.
The issue with many common lackadaisical objects, such as lava lamps, is that they do
not provide a demonstrative experience. In other words, they do not engage the
individuals mind, body, and soul in totality.
Proposed project effort:
The physical representation would consist of lightweight and/or collapsible objects. The
objects would be moved by a series of motors to visually represent the music. The
music will be sent through line-audio input cable, so the FPGA can perform the analogto-digital conversion. Important components of music include bass, mid, treble, signal
frequency, etc. Signal processing would be done using the C5510 DSK. Next, the
frequency spectrum would be sampled and proportionated, so that it can be
represented on the desktop audio visualizer as a digital signal. The FPGA would also
perform a digital-to-analog conversion to output the music to the devices speakers.
The output would need to be in real-time creating a possible challenge for high tempo
songs. The motors would need to fast enough to eliminate delay or some other solution.
An adaptation would be to allow the device to recognize any unrecorded and respond
accordingly; however this could be too large of a project.
Other digital signal processing concepts within the scope of this project include
frequency modulated analog signal and digital filters
Arielle Baine
Caller ID using Voice Recognition
Overview:
With so many aggressive technologies and trends caller IDs can be very unreliable.
One known trend is spoofing, which has caused the unreliability of caller IDs. Spoofing
is the act of an individual or organization calling a recipient from a number that is not
their own.
Something as simple as the unreliability of a caller ID can take away an individual’s
peace of mind and security. Since individuals can no longer rely on the trustworthiness
of the caller, a voice recognition caller ID would bring the reliability of caller IDs back.
Proposed project effort:
The basis of this project would be to use 2 speech recognition computing techniques
known as pattern recognition and acoustic phonetic systems. The speech would be
recorded through a microphone to capture the speech signal. A high quality headset
styled microphone would be must appropriate to use since ambient noise to be
minimized (as opposed to using a desktop microphone). The most important digital
signal processing concepts used to develop the caller ID are FFT, analog-to-digital
conversion, sampling and reconstruction, and filtering. These concepts could be
summed up into audio, sound processing, and control efforts. The concepts mentioned
will help discover if a voice has detected as known or unknown. A flowchart would be
developed to explain what to do in the two scenarios (known or unknown caller).
The disadvantage of the caller ID is that first time caller’s would not have a voice in the
repository until they called a second time. A way to improve the rate of first-time callers
would be to create a network-based repository. This would allow for only one person
“scope wide” to receive an unknown caller.
Self-Diagnostic Tool for Musicians
Overview:
A number of tools currently exist to assist musicians with preparing pieces, or helping others. However,
there is no piece of equipment yet widely available that compares multiple aspects of the performance of
a piece against the sheet music. For example, it is possible to forget a sharp or flat, and therefore play an
incorrect note repeatedly until someone else finally catches the error. Once the error is caught, it can be
difficult to correct, since the wrong note has been played repeatedly. While clearly some aspects of music
are not about simple deviations from the notes written on the page (e.g. tone, style, etc), many other
aspects (rhythm, accuracy, tuning, and tempo) are.
A device that could be programmed with the sheet music of a song and provide real-time
feedback on a player’s accuracy would be useful for music students at a variety of levels. Beginning
students would benefit from early error detection, and more advanced students could use it when
practicing for sight reading exercises. It would also be possible for a player to record themselves playing,
and then play the recording to receive feedback, which would allow him to find all the minor errors in a
performance. In the long run, it might be possible to expand on this idea to compare an entire recording
against a piece of sheet music and display on a computer or other device sheet music extracted from the
recording and the original part, with differences highlighted. This would be useful to band directors, who
could see which sections are struggling with which sections of music.
Proposed Project Effort:
First, it would be necessary to program an FPGA with a specific piece of music. This would mean storing
the relative durations and frequencies of the expected sequence of notes. Next, DSP would be involved in
finding a means of quickly detecting the frequency of a note played. The processor would then need to
compare this frequency against the ideal frequency. For small deviations, no feedback would be given. A
larger deviation would signal a warning about intonation. Finally, a significant enough deviation would
generate a warning that the wrong note had been played.
Ideally, the processor would also need to use DSP to find the length of the first note played. This
would determine tempo, and therefore the desired lengths of the other notes. If this proved impractical,
the tempo could be provided as an input using switches. Again, some small margin of error in note
duration would be allowable, since in reality no musician plays all notes exactly perfectly. However,
beyond this margin, a note held too long, or moved from too quickly, would trigger warnings. These
warnings could be in form of different LED lights.
Ideally, by the end of the term, the FPGA could compare live performance against a programmed
ideal for one or two pieces. It would also be best to test this device with a few different instruments as
well as with a recording to ensure that the frequency could be correctly determined even with different
overtones and tone characteristics.
For hardware, the FPGA board used in lab could be used since it already contains a microphone
input, switches, and LEDs.
Electronic Lead
Overview:
There are several existing “electric collar” designs, created to assist dog owners in training their pets.
These collars, however, require human input to administer a warning or correction. As a result, they do
not perform entirely the same function as a traditional lead, particularly if the owner is not continually
paying attention to their dog. Specifically, with an electric collar, the dog can move an arbitrary distance
away from the owner until the owner realizes that this is occurring. With a real lead, both the owner and
dog obtain feedback when the dog attempts to move away from the owner by a greater distance than the
lead length.
It would be useful to dog owners, therefore, to create an electric lead that would have the same
capabilities as an electric collar (the ability to administer or warning to the dog via human input) with the
additional feature of automatically detecting the distance between the collar and the human’s controller
device. This distance could be set by the owner. A warning (ideally auditory) would be issued to both dog
and human when the distance neared the “lead length”. This warning would continue until the distance
was reduced. Additionally, prior to walking the dog, the owner could select between an “automatic
correction” and “manual correction” setting. The automatic correction setting would administer a
correction to the dog in the form of a shock if it persisted in exceeding the desired distance from the
owner. This setting would be ideal for keeping the dog within some rather large distance. In manual
mode, the owner would have the option of administering a correction to the pet if the dog persisted in
moving further away. This option would be more analogous to the use of a traditional leash.
An additional useful feature would be a rapid change of the allowable distance, in the event that
people or other dogs were approaching.
Proposed Project Effort:
RF signals could be used to determine the distance between the collar and the controller. The
controller could emit an RF signal, which would then be received by the collar. The collar would then
transmit a response signal. The delay between reception and response would be constant, and using this
information, as well as the approximate speed of the RF waves, a distance could be computed. For
purposes of this project, it would be best to limit the cases to the dog being within the owner’s line of
sight. This should be adequate for most situations.
Some sort of DSP based control algorithm would need to be used to check and compute
distances, and transmit corrections and warnings. It would also need to take in any change in the desired
distance and transmit a warning signal while slowly changing the desired distance down to the new level.
Ideally, the speed of this change would be controlled by the initial distance between dog and handler.
A difficult aspect of this project would be finding hardware. Specifically, some sort of controller
would be needed with a means of inputting distances; for purposes of keeping it small, inexpensive, and
portable, using “up” and “down” inputs to change a default distance might be better than a full number
pad. It would also require a few other buttons for controlling the mode and sending corrections or
warnings manually. It would also need an audio or haptic output to warn the owner if the dog was moving
too far away. Additionally, a small, programmable receiving device, also capable of various outputs,
would be needed for the collar. A good starting point for this project would be to look at the devices used
for existing collars, and see if a similar device with the potential for more capabilities exists.
Communicator for the Physically Disabled Overview There are many people all over the world whose disabilities keep them from communicating properly, despite the fact that they are extremely intelligent human beings who would like to share their thoughts and ideas with the world. They feel trapped in a body that is limiting to them. A communicator that was tailored to the needs of individuals, and easy to use, would help many people express themselves in valuable ways. The communicator would need a wide vocabulary, and an easily understandable organizational system for this vocabulary. Once ideas or sentences are formed, they could be outputted on either a display screen or through a speaker, or both, attached to the system. The communicator would perhaps be able to connect to the Internet, allowing users to easily Google something to further expand ways to communicate with the outside world. There are many possibilities and uses for a simple user-­‐controlled communication system and there are many forms one could take, depending on the needs and capabilities of the user. Proposed Project Effort Physical disabilities vary extremely. Some people have more motor control than others. A MIDI controller with programmed words might be usable for some, whereas others have less motor control and would need a controller on a smaller scale. Using a small joystick with a few buttons would probably be more manageable for a lot of people because it’s portable, simple, and can be operated with small movements of one hand. These controllers would then be connected to a microprocessor to read the signals given by the controllers and translate the movements into the words and sentences that the user is trying to communicate. Some form of auto-­‐complete to make sure sentences are grammatically correct might make the process easier and more understandable for both the user and those being communicated with. The system would then need to translate this sentence to an observable form, such as a display or through a speaker with an automated voice, or both depending on the needs of the user. A display might be a good way to “raise a hand” in class to not cause a distraction but also draw attention to the user, whereas the idea could be shared through the speaker for the professor and class to hear. Singing Tesla Coil Overview Generating electronic music has been gaining momentum in the world. We now have auto tuners, cell phone orchestras and applications like Garage Band to help us create music with out the use of instruments. In the exploration of electronic music, engineers have found that tesla coils are able to produce different frequencies and can thus be used as a complicated, but very cool, instrument. Despite the fact that it may not be extremely marketable, I feel it could bring at least the population of University of Michigan some joy. Once designed, many people would probably enjoy participating by coding songs to play. For examples, you can search ArcAttack, a robot band that utilizes a tesla coil. Proposed Project Effort The tesla coil itself would probably not be too hard to construct. However, they can need a lot of tweaking and we want the tesla coil to produce its electricity, pulsed at frequencies that can be heard as tones. To allow it to be programmed or controlled by a computer or MIDI controller like a keyboard would take more significant effort. One would need to connect the controller to a microcontroller in order to take the MIDI signals and turn them into a signal to send to the tesla coil to make it produce the correct frequency with the correct timing. This would take considerable DSP programming through the microprocessor. The Tesla coil would need to be turned on and off quickly and at different frequencies, as programmed by the microcontroller. The whole system would need a lot of tweaking to get right, but the end product would be magnificent. As a summary, we’d need to build a tesla coil with inductor and capacitor circuits and a toroid, and then we’d attach it to a microcontroller, which would need to be programmed to take instructions and turn them into signals to control the Tesla coil. That signal might need to be amplified. Once the system is all connected, it would take considerable testing to be able to actually create distinguishable tones through the tesla coil and even more to string them into the timed tones of a song. As a note, handling Tesla coils can be dangerous because of the high amounts of electricity that surrounds the system. Safety precautions would be necessary throughout the process. Pre-Project Ideas
EECS452
Fall12
Project 1 Automatic Target-Tracing Laser Gun
Overview:
In modern society, automation becomes more and more important. Lots of target recognition or
tracing technique greatly changed our life. For example, some laptops use fingerprint reader to
improve the security; some smartphones even use facial recognition to unlock. Maybe in one
day, just using one camera and one microphone, the system will point out the stuff we specified
by speaking.
The main idea of this project is image and signal processing and the way I want to demonstrate it
is using a laser gun.
Proposed Project Effort:
First, a base should be built to load the laser gun, camera, microphone, DSP, FPGA and servo,
etc. That’s should be pure mechanical and be done in the first week if possible. It would be
preferred if the laser gun can turn in maybe 180 degree or more. The PWM signal used for servo
control can be generated easily by FPGA.
Next, it’s about target-tracing. To simplify the project, I would prefer to use maybe only two
kinds of targets: A red circle and a green square. We can set two modes of the laser gun to show
that we do can differentiate them. For instance, the laser gun will keep shooting the red circle
and it will keep blinking if the target is a green square. Of course, there can be way more kinds
of targets and behaviors of the laser gun. But the ultimate object of the project is to show that this
system can differentiate various targets and keeps tracing them.
The third part of this project should be voice recognition. For example, we can say “start” or
“stop” to control the system. Surely, for security consideration, this system should only be
controlled by who were saved in the system. But for general propose, this system should also be
able to be configured to “listen” to everyone. However, I think this kind of voice recognition
should be much harder since various people’s voice has not only different speed but also
different frequency. Maybe reading some paper will help. Definitely, this part should be
considered as the last part of this project.
1
Pre-Project Ideas
EECS452
Fall12
Project 2 (Portable) Multi-Use Audio Effects Generator
Overview:
Nowadays, there are various kinds of music player such as old school CD players, iPods, and cell
phones, etc. However, they usually have rotten effects generator and most of them do not have
noise cancelling function. Using different sound effects in different scenarios can make music
much more interesting while noise cancelling function is very useful and demanded in office,
airplane, and any noisy places.
The object of this project is to build a music box that can generate various sound effects, cancel
noise and does not rely on the music player we use.
The effects I mentioned here is not limited to what an equalizer can handle. It’s should also
include effects such as scene effect or something else.
Proposed Project Effort:
First, the music box should contain: DSP and FPGA to do the signal processing; several tuners to
set the sound effect or alternatively, we can use the LCD and buttons to select them; one or two
microphone to receive the noise; one 3.5mm male to connect to the music player and one 3.5mm
female to connect to output such as an earphone.
Next, it’s about sound effect generation. I anticipate this part will be, somehow, straight-forward.
It’s a pure signal processing on the input signal. In the first step, the music box should be able to
enhance or reduce the sound of a various frequencies as an equalizer. Then, there should be
several particular sound effects as selections for users to choose. Using the LCD is preferred.
Alternatively, we can also use the tuners or switches for the purpose of demonstration.
The third part of this project should be noise cancelling. I regard this as the hardest part of this
project. The outside noise we received reaches as far as the whole frequency spectrum.
Nevertheless, I wonder if it also related to the problem of phase. Even if we get the perfect signal
of outside voice, how can we use it wisely to generate the cancelling signal and add them into the
music? Clearly, my current knowledge is far not enough to solve these problems. As a result, I
anticipate that reading will be the first priority during the whole project.
2
Designing a System that Distinguishes Music and Speech
Overview:
With the continuing advancement of hands-free technology the ability to control wireless gadgets such
as floor-cleaning robots through speech is eminent. The idea is that a robot should be able to receive,
process, and distinguish speech commands in the presence of common background noises that emanate
throughout a home. The key for the robot to be able to process voice commands universally in a home is
for it to distinguish between speech and music being played on the radio.
Discriminating between speech and music is also important in enhancing Automatic Speech Recognition
(ASR) systems because it is used to disable ASR when music and other related audio classes are present
in automatic speech transcription.
In addition, the ability to discriminate between speech and music can be applied to enhance bit-rate
coding. Speech coders achieve better results for speech coding than music coders do, and music coders
achieve better results for music coding than speech coders do, so the ability to discriminate between
speech and music makes it possible to select the correct bit-rate coding.
Proposed Project Effort:
The goal of this project is to process pre-recorded sound samples that result from digitally combining
speech and music, and extract the speech and music components separately. Once the two classes of
sound, speech and music, have been separated they should be compared with the original speech and
music components respectively to determine the quality of speech and music discrimination.
In an effort to make this system superior and efficient, students should strive to improve the quality of
speech and music discrimination by employing features unique to speech. Some features include the 4
Hz modulation energy characteristic of speech, percentage of low energy frames, spectral centroid for
voiced and unvoiced speech, and the zero-crossing rate of speech. While a single feature should suffice
in the discrimination process, employing multiple features will likely improve the quality of
discrimination and, in turn, the quality of the system.
A multidimensional MAP estimator can be used to classify the class of data that the audio signal belongs
to (ie. speech or music and/or some other class entirely). Each class can be modeled as a Gaussian
cluster of points in the feature space (the dimension of the space is equal to the number of features
utilized). Some initial training data will be required to determine this cluster of points.
Development should begin with the TI DSK and Spartan-3. Ideally, students should be able to
demonstrate a complete working system contained in an FPGA. Likely peripherals include LEDs,
speakers, audio amplifiers, and switches to toggle between settings.
The scope of this project is open ended in the sense that it is the group’s call to decide how many
features (to distinguish speech from music) are incorporated, and how many classes of sounds it wishes
to incorporate in addition to speech and music.
Designing an Encoder and Decoder to Perform Audio Steganography
Overview:
Steganography is the art of writing hidden messages in such a way that no one other than the sender
and the intended recipient can suspect the existence of a message. While cryptography and encryption
protect the contents of a message, when left in plain sight they may also arouse suspicion.
Steganography, on the other hand, does not protect the contents of a message, but instead conceals the
message itself in an unobvious way. When used in conjunction with cryptography, steganography will
both protect the message contents and the parties involved in the message transmission.
Digital steganography works by hiding one message or file inside another message or file, respectively.
Various digital media can be used to hide messages or files, including sound, images, and video. When
steganography is performed, the media within which the message is hidden is digitally altered in some
way. The goal of steganography is to change the carrier ever so slightly with the actual message in such a
way that when the stego-object is played back the difference is unnoticeable. As long as changes to the
media on which steganography was performed remain indiscernible when compared to the carrier the
hidden message is safe.
Proposed Project Effort:
The purpose of this project is to create an encoder and decoder to perform Audio Steganography (AS)
on various types of speech samples. Various steganographic techniques should be explored and
implemented including, but not limited to, LSB coding, phase coding, and spread spectrum. A user of this
system should be able to input a speech sample, the message object, that he/she wants AS performed
on. The encoder should perform AS on the input speech sample by using some of the aforementioned
steganographic techniques to embed it within an existing sound sample, the carrier object (ie. classical
music, simulated white noise within an airplane cabin, radio music, rap music, rock music, etc.), to
produce a stego-object. The user should then be able to playback the carrier object’s sound and the
stego-object’s sound to compare sound quality. As a final check, the system should demonstrate the
ability to decode and extract the original speech sample, the message, from the stego-object.
In addition, the team working on this project should perform various analyses on the carrier object and
the stego-object to determine the quality of AS. Compare the transmission rate, robustness against
removal techniques, which techniques minimize the probability an attacker can detect the hidden
message, and produce an undetectable change in sound to the human ear. Different steganography
techniques will work better depending on the message object and the carrier object characteristics.
Various steganographic techniques exist for AS applications, and they all have unique tradeoffs. LSB
coding is the most basic form of AS and should be explored just to understand what sort of noise and
distortion are introduced to the audio sample when steganography is performed. Phase Coding works by
encoding the message object in the phase components of the sound that are not perceptible to the
human ear, and thus does not introduce noise when perceived by the human ear. The Spread Spectrum
method works by spreading the message over the entire frequency spectrum of the carrier using a code
independent of the actual signal, resulting in excessive bandwidth use compared to the original carrier.
Development should begin with the TI DSK and Spartan-3. Ideally, students should be able to
demonstrate a complete working system contained in an FPGA. Likely peripherals include LEDs,
speakers, audio amplifiers, and switches to toggle between settings.
Tarek El Shamy
telshamy
EECS 452 Pre-Project Ideas
Project 1: Gesture Controlled Car
Overview:
Remote control cars being control by a directional pad have existed for years. People have even went on
to create remote control cars that self navigate and controlled by voice. People seem to be trying to
make the remote control driving experience as real as possible. So why not create a remote control car
that navigates by hand gestures? It would respond to your hand movements and turn, accelerate and
reverse based on your instructions.
Proposed Project Idea:
The project would use a camera that would detect the direction one’s hand is going. If the user’s hand
moves up, the car would accelerate, if it moved down, the car would decelerate/brake. Likewise, if the
user’s hand moves left or right, the car would move in the corresponding direction. The remote control
car would have a wireless antenna communicating with the Altera DE2 board that would be connected
to the camera and would process the direction and broadcast the correct movement/direction to the
remote control car.
Proposed Parts:
-
Wild Thumper 6WD Chassis – Black for $249.95
FreeM - Infrared Controller for $21.95
CMOS Camera - 1300x1040 for $9.95
Total Proposed Cost: $281.85
Project 2: Guiding Cane
Overview:
For years, blind people have had difficulty navigating the streets of cities and towns around the world.
They have always been subject to house arrest as leaving their homes would normally mean
endangering their lives and the risk simply wasn’t worth it. However, as the years passed, blind people
became more and more inclined to visit the streets of their neighborhoods as they became equipped
with canes and trained dogs to guide them through traffic. However, some are still too scared to leave
their homes. What if we can offer them a solution to this problem? What if we can create a cane that
navigates the streets of any city and warn them when they are about to cross a road with oncoming
traffic. Or bump into a pedestrian? We can give them that. We can give them a cane that guides them
through the street, a guiding cane.
Tarek El Shamy
telshamy
Proposed Project Idea:
The project would consist of a cane on wheels. The wheels would be connected to a camera that would
detect the proximity of the cane to objects (non-infrared emitting) and people. It would ensure the user
doesn’t bump into any person/object by providing force in the opposite direction via the wheels. This
will drive the user away from bumping into objects while ensuring his/her safety.
The cane would be connected at the base to a set of four wheels (like a remote controlled car) that are
connected to a microprocessor (Altera DE2 or other) that communicates with the camera and the
infrared proximity sensor detecting objects/people and ensuring the user doesn’t come in their
way/bump into them.
Proposed Parts:
-
Wild Thumper 6WD Chassis – Black for $249.95
CMOS Camera - 1300x1040 for $9.95
Infrared Proximity Sensor - Sharp GP2Y0A21YK for $13.95
Total Proposed Cost: $273.85
Daniel Friedman
EECS 452
Pre-project Ideas
Proposed Project 1: Noise Cancelling Headphones to allow
Keywords
Overview:
Many people wear noise cancelling headphones on planes, while working at computers or
even while running. This can be helpful for people trying to sleep on airplanes or concentrating
on computers but at some points it can be dangerous and sometimes fatal. If someone is running
along the street with headphones on and does not hear a car honking or a person yelling at them,
or does not hear the instructions from the flight attendant, possibly hazardous outcomes can
occur. The goal is to allow some keywords to be admitted through the cancellation filter. This
would allow very specific keywords like “fire!” or “stop!” to be heard to protect the person
wearing the headphones from harm. We could also allow the headphones to be customized so
that each user can program in their name so that when people that know the user call the user’s
name, their voice is heard. To narrow the scope of this project, we could only pass through
spikes in the signal that are a certain value above the noise floor. This would ensure that sounds
that are clearly addressed to the user pass through. This project looks to be possible since noise
cancelling headphones can be bought for around $50. One problem is that people talk at different
tones so the important step in deciphering the word would be significant. Then it would check
the word versus a database of keywords to find a match. This device would then allow that
keyword to be sent out of the headphones so that the user can heed the warning before it is too
late.
Proposed project effort:
To understand the signals coming into the headphones from the outside, there needs to
be some microphone or antenna to collect the signals. A test needs to be done to create a
threshold of how strong a signal should be to categorize it as someone talking to the user. Then,
to analyze the signals coming in there would need to be some interpretation of what words were
spoken. To do this speech recognition, Hidden Markov models are used. These models can be
used because a speech signal can be viewed as a piecewise stationary signal and in short time
scales, speech can be approximated as a stationary process. This will give us the linguistic
content of the speech signal. Once it is known what was said, the speech can be compared to a
database of keywords to determine if it should be sent to the headphones. Speech synthesis, or
computer generated speech can be sent to the headphones and the whole signal can be cancelled
or the actual signal can be filtered out of the noise to be sent to the headphones. Computer
generated speech can use the text-to-speech (TTS) system to convert language text into speech.
The database can be edited by the user at any time with inputs from a computer interface.
Anyone that uses noise cancelling headphones should use this device since it will protect them
from harm by hearing warnings given to them by others. This could prevent many hazardous
events from happening.
Daniel Friedman
EECS 452
Pre-project Ideas
Proposed Project 2: White-Tipped Cane with Radar Sensor
Overview:
The visually impaired use a white-tipped cane to detect objects that are their the vicinity.
What if the cane had a radar on the handle that could tell the person walking how close they are
to an object? This could be helpful to visually impaired people trying to get around in their
everyday lives. The goal of this project would be to let the person know how close they are to an
object in two different ways. One way would be for the person to wear headphones to hear a
beeping noise similar to a car pulling into a parking space or backing up. As you get closer to the
object the beeps would sound more frequently until the person is at some distance when the noise
becomes a solid tone. Another way to alert the user is to have the handle of the cane vibrate in
pulses. The vibration pulse frequency increases until it is a constant vibration at a predetermined
distance from the object. The radar implementation would not be a very expensive addition to a
cane as antennas and appropriate vibration chips would not be costly. The device proposed here
provides a way for visually impaired people to become more aware of their surroundings.
Proposed project effort:
A radar must be used to determine the distance from the handle of the cane to the
interfering object. Using the Doppler Effect and the Doppler equation one can determine the
change in phase after the wave bounces off the object and returns to the radar. Frequecy analysis
can be done to determine the range to the object. This analysis can use phase differences and the
time delays to compare all of the return signals to each other. Using this information, a threshold
distance can be determined as to when a solid warning signal is sent to the user. The output of
the system can either be audio or vibration. Either way, a certain distance can be converted to the
warning level of the output signal. A tactile transducer can be used to convert the electrical
signal to a vibration. A tactile transducer is a device in which low bas audio frequencies can be
felt as well as heard similar to what a subwoofer does. The main processing of this project
would be in the analysis of the signals from the radar. There is also some interfacing done
between the DSP chips used and the warning devices. Any visually impaired person could use
this device to help them acquire a better understanding of their surroundings. This could prevent
many different accidents from occurring.
Foteini Goudra – Proposed Projects Project 1: Speaker and command verification for file decryption
Overview:
Corporations encourage their employees to use tablets for their everyday
work. Therefore, files with sensitive corporate information are stored on a
tablet meant for professional use. The encryption of these files can fail for
multiple reasons, such as a result of hacking efforts. During current times,
when successfully securing personal information has become increasingly
necessary, we will create a speaker recognition process for preventing
unauthorized decryption of files that contain sensitive, private information.
This project will offer an easy and worry-free solution to professionals and
other individuals. Given that a file is already encrypted, the owner of the
stored information will pronounce the phrase ‘Open Sesame’, which will act
as a ‘key’ to enable the decryption of the file. After this action, an algorithm
that provides the correct private key needed for the decryption will lead to
complete accessibility of the data. This project will respond to the current
need for increased security for private information and prevention of
unauthorized access and publication.
The audio signal will be collected through a microphone connected to the
tablet. The verification of the command and the speaker’s identity will be
performed in two separate parts. The audio signal will be collected,
segmented and analyzed based on its short-term power spectrum (Melfrequency cepstrum). Further analysis of the segmented audio signal, based
on the work of Hidden Markov Model (HMM), and comparison of its results to
a database that contains this key command phrase will lead to a decision on
whether the key command is pronounced accurately. Next, collecting the
voiceprint of the individual and performing a spectrogram analysis will lead
to the verification of the speaker’s identity. After the successful completion
of both processes, an algorithm will share the key needed for the decryption.
This algorithm will be controlled and will maintain its interface on the tablet
of the team’s choice.
Foteini Goudra – Proposed Projects Project 2: Car detection for safe biking
Overview:
In every college town, numerous students every day ride their bicycles
among cars and trucks in order to get to class or meetings on time. Even
though riding a bicycle is a very environmentally friendly choice, it can be
dangerous if either the car driver or bicycle rider is not careful. Unlike cars,
bicycles lack a rear-view mirror. Therefore, avoidance of an accident
depends on the car driver’s actions. This project suggests a way that a
bicycle driver can be alerted if a car is at a very close distance behind the
bicycle. A camera will be set on the back of the bicycle and will locate the
car. We will analyze the video we collect, determine the distance between
the bicycle and the car and compare it to the value of the minimum distance
that will ensure the bicycle rider’s safety. If the distance measured is shorter
than the minimum distance, a ringing sound is emitted through a
speaker/headphones so that the rider can be alerted and speed up. Since we
will avoid the use of radar and provide a low-cost solution, this project’s final
product will attract a broad spectrum of users.
A camera will be used to collect video. The shots from the camera are
stored and analyzed. After analyzing the image via stereoscopic analysis and
detecting the car, we will determine the distance between the car and the
bicycle. This stereoscopic analysis will be implemented through software that
will recover the depth of the images. An algorithm will complete the
comparison of the distance with the minimum distance and determine if it is
accepted. If the measured distance is considered too short, then a single
audio sound will be created to alert the bicycle rider through his headphones
or speakers.
Project Proposal
1
Overview:
In modern warfare, countries increasingly rely on technology to do the fighting,
removing the need for humans. This is especially noticeable with drones supporting
ground troops. In combat there is a constant connection between the UAV in the
air, the control station on the ground and the troops on site. This creates a
triangular hierarchy that needs to be in constant connection.
The idea is to develop reliable target recognition software using various image and
video processing algorithms to alert troops on the ground for possible threats.
2
Proposed Project Effort:
To simulate the UAV, the team would have to create an image sequence on which
the image processing algorithms can perform their target recognition (frame by
frame). This image sequence (representing live feed from the drone) is fed into
an FPGA (representing the ground control station) where the target recognition
is performed. Once the targets are recognized by the software, the results are
transmitted to a display where user can track the locations of the recognized
objects on a map for example. More features can be built in such as multiple
object tracking for people and vehicles.
For the target recognition alrogithm there are several different image processing
techniques such as template matching or change detection.
The image processing capabilities of the FPGA have to be explored and assess if it
can perform the target recognition quickly enough to not fall behind the real-time
feed of the drone. The size of the images has to be also taken into account, the
bigger the picture, the longer the recognition will take.
An alternative would be to use one computer with three stand-alone programs
working simultaneously.
This would be used by the armed forces for simulation purposes and later a working
design can be implemented.
1
Project Proposal
1
Overview:
Companies now use teleconference to conduct meetings with employees or clients
oversees. If more than one person is assisting to this teleconference and one person
is presenting, the people assisting using Skype or Google Hangouts for example
should be able to follow the entire conversation. If the person leading the meeting
is moving, there is a chance that he may go outside the field of view of the camera.
A proposed solution would be to track the face or body of the presenter and have
the camera adjust to the movement.
2
Proposed Project Effort:
To implement this, the user places a seed on the person or object he wishes to
follow. This could also be implemented for more than one person with some sort
of priorities preset to decide who to follow (first, second, etc). When the followed
person moves out of a predefined boundary, the camera would recenter itself on
the person and continue tracking. A custom webcam is built to receive the signals
to pivot on its axis. The user would also be able to use a manual mode where he
can direct the camera from his mouse and/or keyboard.
The initial design would work for lateral movement but vertical and depth (zoom
in or out) could be built-in using the same idea. The camera would need to have
a good zoom for this feature.
The teams needs to develop a reliable object tracking algorithm that can correctly
recognize faces (for the initial design).
The team needs to figure out a low-cost way to build a camera that can also meet
the design requirements.
This camera would be used by people or companies that rely heavily on teleconferencing. Additionally entertainers wanting to broadcast their show could use the
camera and software eliminating the need for a camera crew.
1
IMAGE ALIGNMENT AND STITCHING
Overview
Some of the widely used algorithms in computer vision are those for aligning and
stitching images. The Image alignment algorithms can help detect various
correspondences among a group of images overlapping to different extents. They find
extensive use in applications like image stabilization (seen in almost every camcorder
these days), summarization and creation of mosaics. The Image stitching process can
take these various alignment estimates and brings them together to create a high
resolution photo mosaics. We see its use all around us as software that comes bundled
in the digital cameras allowing us to stitch multiple images into a wide angle panorama.
Image stitching also finds use in most of the digital maps and satellite photos to help
seamlessly combine multiple images.
Proposed project effort
The project proposal is to perform Image alignment and stitching of group of images
that have been captured by a camera and to display the combined image on a display
device.
The project will involve an extensive study of current literature into the process of
aligning and stitching images. For image alignment, we would first need to understand
appropriate mathematical models relating pixel coordinates in one image to pixel
coordinates in another, followed by determining alignment estimates in the group of
input pictures. Once simple techniques have been identified, methods involving
extracting distinctive features only to establish alignment can be used. Subsequently the
project effort would be towards using algorithms to seamlessly blend overlapping
images keeping blurring and any other artifacts to the minimum.
The project clearly involves a significant amount of digital signal processing by being a
paradigm for Image processing. The alignment procedure would involve correlation
estimates of various kinds and even transforms to be used on the input images to
establish similarity patterns. Stitching the images too would need use of standard image
processing techniques to process blurring and distortions.
The working system would involve a camera interfaced with an FPGA. The camera
would take a group of pictures of any scene which would be transferred onto the FPGA
for the processing. An FPGA would be more suited for this application involving images
as it could better exploit the great degree of parallelism required for this application
involving images. The memory capabilities available on the board would need to be
used to the fullest to store the images. The image processing algorithms would be
performed on the Images to generate a final mosaic which would then be displayed on a
display device (monitor, screen) through possibly a VGA port on the FPGA board.
VEHICLE SEGMENTATION AND TRACKING IN TRAFFIC VIDEO SURVEILLANCE
Overview
Traffic surveillance for vehicle count, speed and classification is ubiquitous for reasons
including safety, security and congestion management. Intelligent traffic
monitoring/surveillance systems based on computer vision techniques are becoming
extremely common due to their current level of flexibility and ease of installation. The
process of identifying and tracking a vehicle from the video is certainly a demanding
task. Nonetheless its a very attractive solution which can avoid having to manually
analyze hours worth of recorded video.
Proposed project effort
The project proposal is to implement vehicle segmentation and perform motion tracking
on vehicles from a traffic video.
There have been years of work done towards developing algorithms for vehicle
segmentation and tracking. A detailed literature survey towards the methods would
need to be done. Segmentation of vehicles involves challenges including low resolution
of surveillance videos, occlusion of vehicles and quite obviously the motion of the
vehicles. A choice of implementable yet robust methods would be need identified to
segment vehicles from the background, requiring strong DSP techniques in the context
of video processing. Tracking the vehicle once its been distinguished from the
background would then need to be performed. Blob tracking, active contour tracking,
Markov random field based tracking, feature tracking are broad categories of methods
that can be thought of being used in this particular application scenario. Combining the
segmentation process and tracking into one efficient process would be crucial to obtain
a computationally efficient algorithm.
The system when implemented should be composed of a high processing power DSP
or an FPGA board suited for video based applications. There are databases of traffic
videos available online including an extensive dataset by MIT. These videos would form
the input videos to be analyzed. They would need to be communicated from a computer
into either the DSP board of FPGA board. The algorithm should be able to segment and
track the vehicles in the video and display the information on a monitor, indicating
through identified vehicles with colors and their directions through vectors. This process
of display would need the board to be interfaced with a monitor through a display port.
Video processing would also need large amounts of memory associated with the board
along with high processing capability, to be able to perform the tracking in real time.
Project proposal
EECS452
Winter12
Title of Project: Android-Based Oscilloscope
Team members: 4-5
I. Introduction and overview of project
Digital storage oscilloscopes are a familiar tool to many electrical
engineers. Every electrical engineering student at the University of
Michigan becomes familiar with this device in EECS 215. These
devices are powerful, sophisticated, and very expensive. Agilent
brand (the same used at the University of Michigan) oscilloscopes
cost over $700 even for “budget” models, and the higher-end
oscilloscopes cost several thousand dollars [1], all out of the price
range for curious students and cost-conscious hobbyists. Smaller,
less expensive oscilloscopes do exist, but they either feature a poor
display [2], or require an display or computer with specialized
software to display results [3].
With tablet-based portable computing rapidly gaining marketshare
and steam, the price of tablets have dropped considerably in the
past year. Recently, Google and ASUS released the Nexus 7, a 7”
Android-based tablet that features a high-resolution multitouch
screen, quad-core processor including a high-performance mobile
graphics chipset, and a battery that lends it a long usage time
between recharges (9+ hours), all for $200. However, since Android
runs on many devices, this project could be reconfigured for larger
or smaller devices.
The main challenge in this project would be twofold: creating a
small, low-power (USB bus-powered, if possible) analog-to-digital
converter (ADC) that would interpret input for the Android device,
and creating an Android application that would display the data and
take user input, and send commands to the ADC to reconfigure it if
necessary. Optionally, a component can be created that will work
with the ADC to process high-voltage signals without damaging the
ADC.
1
Project proposal
EECS452
Winter12
II. Description of project
i.
Project Goals
The goal of this project is to build an inexpensive, portable,
nearly “full-featured” oscilloscope that would be used by
students and engineers using inexpensive, preferably “offthe”shelf” hardware. To accomplish this, an Android tablet
would be used as the system base, since high-quality
Android-based tablets are both prevalent and relatively
inexpensive ($200 for a 7” tablet sold by Google). Also, the
API for the Android operating system is available for free,
reducing both initial and continuing development costs. In
the real world, the tablet devices may already be available
to the potential consumer. Since most tablets do not have
suitable inputs (either 1/8” audio inputs or BNC inputs) for
reading signals from their sources, an interface utilizing an
analog-to-digital converter will translate analog signals into
digital data that will be transferred via USB to the Android
device. An optional component would be a voltage divider
connected to the ADC to cut high-voltage signals down to a
level safe for the ADC, while sending a digital flag to the
ADC so that the ADC reports to the Android tablet the
voltages reported are in a different range.
This system would also have several advantages over
traditional oscilloscope systems, including:
- Ability to take a snapshot of the current waveform (not
available in low-end portable systems or high-end systems
without an external system link)
- Software-defined controls can be modified in minutes or
hours, versus weeks/months for a hardware device that
must be re-manufactured
- Pre-defined waveforms can be saved / loaded onto the
device's copious storage space (8GB)
2
Project proposal
ii.
EECS452
Winter12
Describe the system architecture, including a detailed
block diagram (not drawn by hand) of the system including
DSP, FPGA and peripherals, if applicable. Give an
explanation of how the architecture will work – what the
function of each of the devices will be and how they will be
interfaced.
3
Project proposal
iii.
EECS452
Winter12
Predict what might go wrong and your contingency plan if
it does go wrong.
If the tablet is defective on arrival or breaks during the
process, it would set back at least half the work. While the
Android SDK does include a device emulator that would
allow some development to continue, parts of the project,
such as the tablet – ADC link and measuring the
performance of the actual device would be delayed. If this
ends up happening, development of the Android
application would have to continue using the device
emulator, with as much non-link functionality as possible
implemented while we wait for replacement parts.
iv.
Provide a preliminary parts list for your project (including
devices in the lab and those that must be purchased – give
parts numbers and links to web if you have them).
Google Nexus 7 - $200 - http://www.google.com/nexus/#/7
USB/MicroUSB Cable - <$5 http://www.monoprice.com/products/product.asp?
c_id=103&cp_id=10303&cs_id=1030307&p_id=8641&seq
=1&format=2
ADC (USBSTK5515?) - $80
Misc. Parts for voltage divider - $20
Voltage Divider IC - $2
Wiring - $7
BNC / Audio Jacks - $10
Switch - $1
4
Project proposal
EECS452
Winter12
III.Milestones
a. Milestone 1:
◦
Android application can display simulated input and do some
oscilloscope functions
◦
ADC can convert analog signals into a digital format.
◦
(Optional) Voltage stepper can step voltages down
b. Milestone 2:
◦
Android application can do most, if not all desired
oscilloscope functions, and can recognize ADC
◦
ADC can be seen by Android device and (optional) has
voltage stepper installed
c. Identify the one thing that scares you the most that could cause
you not to achieve Milestone 1? How about Milestone 2?
The biggest concern I have is that there might be few, if any
people who are familiar enough with Java / Android to be able to
successfully develop the application. This might prevent
achieving both Milestone 1 and Milestone 2. The ADC shouldn't
be too much of a concern, unless it ends up being difficult for the
device to communicate with the Android device, which might be
troublesome for Milestone 2.
IV.
Contributions of each member of team
The 4 or 5 members of the group would be split into two or three
groups, depending on scope. Two members would work on the
Android side of things, creating the application and making sure the
performance is good, and providing the capability to look for the
5
Project proposal
EECS452
Winter12
ADC. Two members would work on the ADC, making it visible to the
Android device and running at as high a sample rate as possible.
The last (optional) group member would be responsible for building
a small hardware device attached to the ADC to step the voltage
down to a safe level and communicate this with the ADC.
V. References and citations
[1] http://www.home.agilent.com/agilent/product.jspx?nid=536902447.0.00&cc=US&lc=eng&pageMode=SC
[2] https://www.sparkfun.com/products/9484?
[3] http://www.parallax.com/tabid/768/ProductID/46/Default.aspx
6
Project proposal
EECS452
Winter12
Title of Project: Low-Cost Musical Vocoder and Autotuner
Team members: 4-5
I. Introduction and overview of project
Many of the most iconic effects in modern music come from one of
two places – a musical vocoder, or an autotuner. Vocoders have
been around since the 1930s, originally designed to help compress
the sounds of the human voice in order to facilitate transfer over
telegraph wires [1]. The vocoder was then discovered to produce
certain desirable effects for music and films [2]. Digital vocoders
have been around for many years, but keyboards with built-in
vocoders are still relatively pricey. Using an inexpensive MIDI
keyboard and a DSP chip with embedded software, it should be
possible to produce the same effect.
Voice autotuning should be possible with the exact same hardware
needed for the vocoder, only with a different set of processing for
the effect. Voice autotuning is used in many ways, from slight
adjustments to perfectly tune a pop singer's voice, to providing a
vaguely electronic singing voice to those who aren't actually singing
or singing very poorly (See also: Kanye West).
1
Project proposal
EECS452
Winter12
II. Description of project
i.
Project Goals
The goal of this project is to build an inexpensive musical
vocoder and autotuner using a DSP board, an input device
to control pitch (small MIDI keyboard), and a microphone.
The DSP chip will use the MIDI input / output on the
keyboard to read the desired pitch, perform either the
vocode or the autotune operations on the input voice, and
then output the waveform.
Optionally, the system can also take into account the
detuning knob featured on the keyboard to produce effects
that fall between keyboard pitches.
ii.
2
Project proposal
iii.
EECS452
Winter12
Predict what might go wrong and your contingency plan if
it does go wrong.
The main thing I'm worried about is running out of
processing overhead with the selected DSP chipset for the
autotuning portion. Autotuning is often done after-the-fact
on a high-performance system that does not process data
in real-time, however I do know that real-time autotuners
exist.
iv.
Provide a preliminary parts list for your project (including
devices in the lab and those that must be purchased – give
parts numbers and links to web if you have them).
Rock Band MIDI Keyboard - $30 http://www.amazon.com/Rock-Band-Wireless-Keyboard-WiiNintendo/dp/B003RS19XE/
ADC (USBSTK5515?) - $80
Microphone - $10-$50
- Depends on whether we want a low-cost, “cheap”
microphone, or a slightly higher quality one
3
Project proposal
EECS452
Winter12
III.Milestones
a. Milestone 1:
◦
DSP chip can do a single-frequency vocode
◦
DSP chip can recognize desired pitch via MIDI input
b. Milestone 2:
◦
DSP chip can vocode over full keyboard range
◦
DSP chip can autotune to a single constant frequency
c. Identify the one thing that scares you the most that could cause
you not to achieve Milestone 1? How about Milestone 2?
For milestone 1, I'm worried that the MIDI input will take a lot
more work than I'm imagining, but that shouldn't affect the rest
of the team's work, since they can put a serial debug interface in
that will let them control the vocode frequency from a computer.
For Milestone 2, I'm worried that the autotuning is going to be
tougher to implement than I think.
IV.
Contributions of each member of team
The 4 or 5 members of the group would be split into two groups.
Two members would work on the vocode and autotune algorithms
to be implemented in the DSP chip. The other group would work on
interfacing the MIDI keyboard with the DSP chip. If the MIDI group
finishes this task, they can then implement the detuning knob.
V. References and citations
[1] http://www.wolton.net/info/index.html
[2] http://www.wendycarlos.com/vocoders.html
4
Khoo Wei Xiang
EECS 452: Pre-project ideas
1. Gunshot detection system in an urban environment
1.1 Overview:
Currently, response teams are dispatched to the scene only when the dispatch centers
receive urban gunfire reports via 911 calls. A couple of issues is that there may be some lag
time between the first gunshot being fired and the emergency calls being made or that callers
may provide inaccurate information due to panic or fear. These factors result in a delayed
response time as well as difficulty in pinpointing an accurate location of the shooter. A
gunfire detection and information relay system, one of the Harris project concepts, detects a
gunshot upon fire, pinpoint the location of the shooter and relay this information to response
units and a central command center. This will reduce casualty rate and improve the safety of
the law enforcement officers.
Multiple microphones can be planted in a distributed array system to listen for acoustic
phenomena that is characteristic of a gunshot. The sounds attributed to a gunshot are the
impulse sound wave generated by a muzzle blast and the shockwave that occurs when the
bullet travels through the air at supersonic speeds. Using this information, the system will be
able to pick out a gunshot from the background noise found in an urban environment and
trace the bullet back to its origin. The proposed system will also have to be able to
differentiate and ignore false alarm sounds such as firecracker explosion or vehicles
backfiring.
1.2 Proposed project effort:
Gunshot detection can be done by using the microphones to detect sounds above a certain
sound pressure level (SPL) threshold. The noise generated by an urban environment has a
SPL of 90dB while the impulse sound wave from a gunshot has a SPL of 120dB to 160dB.
This difference should allow the system to pick up the sound of a gun being fired.
As the bullet travels through the air, the different times at which the shockwave arrives at
each microphone can be recorded. Based on the difference in arrival times, the phase
difference calculated from each microphone can be used to calculate the angle at which the
bullet arrives. Using the time difference between the muzzle blast and the shockwave as well
as the speed of sound, the distance of the discharge from the microphone can be calculated.
By collating the results from the entire array system, analysis tools can triangulate the
location of the shooter. This information can be conveyed to dispatch centers and response
teams using common data networking methods such as WiFi.
By making reasonable assumptions about the caliber and model of possible guns used in
an urban environment, a library of acoustic signature of different guns can be stored in
memory. Comparisons of the frequency spectrum and envelope of the sound with the values
stored in the library will allow the system to differentiate between gunshots and other similar
sounds.
This system can be used by law enforcement agencies for wide-area protection and
quicker emergency response time.
Khoo Wei Xiang
2. Ground vehicle identification system
2.1 Overview:
To better differentiate their vehicles and reinforce positive brand images, car
manufacturers are using carefully calibrated engine induction systems and exhaust systems to
give their cars a unique acoustic signature. This means that the brand and model of a car can
be identified from its acoustic signatures. The proposed system will be able to pick out the
acoustic signature of a vehicle from the background noise. Based on the characteristics of the
sound, the system could identify the make and model of the vehicle. One application of this
system would be to use it on automated garage doors. When a car is approaching the garage,
the system will identify the car and check it against a list of pre-approved cars. If approved,
the door of the garage will automatically open to allow the car to pass through. This system
can also be adopted for military use to identify friendly or hostile vehicles.
2.2 Proposed project effort:
An acoustic sensor with a frequency range of 2.6-20000Hz can be used to sense the
approach of a vehicle. The sensor will record the sounds and filter out the noise using a filter
in order to achieve a high signal to noise ratio. This can be done by recognizing that most
acoustic signatures of vehicles contain sets of quasi-periodic signal components due to the
pistons in the engine and the sound produced by exhaust system. By identifying these
harmonic peaks, the acoustic signature of the vehicle can be filtered out from the background
noise.
After the acoustic signature has been filtered out, the information will be sent to the
processor for identification. Characteristics of the signature such as the frequency spectrum,
tonal content and the temporal characteristics (e.g. frequency vs time) can be analyzed and
compared against a library of known acoustic signatures. This will allow the system to
narrow down the model of the vehicle.
Another possible method would be to use a sensitive acoustic sensor to pick up the
infrasonic signatures produced by the vehicles. These infrasonic signatures are in the range of
0 to 20Hz and are produced in the wake of the vehicles. As the magnitude and frequency of
these infrasonic sounds increase as the size of the vehicle increases, they can be used to
identify heavy vehicles such as tanks and trucks.
One possible problem is the differentiation between the sound signatures of a vehicle
trying to enter the garage versus the acoustic signature of a vehicle of the same model that is
only passing by. This can be circumvented by investigating the effects of different piston
speeds in the engine on the acoustic signature of the car. This will allow the system to
differentiate between a car that is slowing down to enter the garage and a car that is passing
by at high speeds.
1.0) Project Proposals
1.1) The Auto-Fireman
1.1.1) Overview:
When a fire is ablaze, time and man power are of the upmost importance. Firemen are
dispatched to assess the integrity of the structure in on fire, to search the house for trapped
people, and to deploy and operate the fire hose to extinguish the fire. Each house fire costs the
city about 2500$ and business fires cost great deal more. To operate a fire hose requires two or
three firemen. The purposed product will eliminate the need for these firemen and free them to
aid in the other tasks that need to be taken care of. This will decrease the cost of fighting a fire
and increase efficiency.
1.1.2) Product Description
The auto fireman is essentially a fire hose on a turn table with vertical angle adjuster such that
the hose can aim in any direction in a hemisphere. Mounted with a thermal camera and a
normal video camera and a Distance sensor, the thermal data can be processed to identify the
hottest region the ideal place to deliver the water. The normal camera data can be processed to
identify any obstacles in the way. Combined with the distance data from the distance sensor the
angle and water pressure desired can be calculated to deliver the water to the optimal point.
The final product would be able to be deployed in less than 1 minute. Just hook up the water
supply to the hose and place the auto fireman in the area around the fire.
1.1.3) DSP algorithm (target Identification)
The challenges in designing the product lie in the DSP algorithms that would need to be
developed in order to identify the target. The product requires that an obstacle be identified
and circumvented. This means that extensive use of edge detection algorithms will need to be
used, such as the corner edge detection algorithm. Once the boundary of an object is defined,
the distance sensor could be used to determine whether the object is an object or a hole. This
will form a map that can be compared to the thermal camera output to identify where the AutoFireman can shoot.
1.2) Yard-Protector 4000
1.2.1) Overview:
Ever lean out the window of house and notice a squirrel eating your flower? Ever get annoyed at
the neighbor’s dog pooping in your yard. Well no more. The Yard-Protector 4000 can keep
unwanted rodents out of the yard.
1.2.2) Product Description
The Yard protector 4000 has a turret base that can rotate 360 degrees and change angle from 0
to 90 degrees from the horizontal. It uses a thermal imaging camera to identify moving targets
within a within a user specified distance and will fire bb’s at that target. The Yard-Protector 4000
will be programmable to identify specific targets to shoot and a list of targets to let past. For
example you can program it let kids and birds stay in the yard unharmed but not squirrels and
gophers.
1.1.4) DSP algorithm (target Identification)
The system will use a thermal imaging camera to identify targets within the yard boundary and
will compare them to a database holding information on size and body temperatures. This will
allow the unit to identify and human child as an invalid target but a squirrel or gopher as a valid
one. The system could use an audio pickup and filters to identify the target as well in the event
that thermal matching is not cost effective or too resource heavy. The distance sensor will allow
for the unit to calculate the proper angle to fire at and the temperature sensor the proper
direction. The BB firing system will use compressed air and will include a compressor for when
the tank is empty.
Eric Lin
EECS 452
PPI
Solar Powered RF Based Bike Stand
Overview:
Through our daily routine we already have plenty to keep track of and a
bike key would just be a nuisance we can all do without. Imagine you had just
woke up and are running late for class and you just run out the door and get on
your bike. But it isn’t only until later you realize you left either the lock or the key
at home in your haste. Do you risk leaving your bike unlocked and hope no one
steals it?
To counter that situation I propose a small locking mechanism that is
portable and can be easily installed on fixtures like already existing bike posts. The
purpose would be to save valuable time otherwise fumbling around getting the
bike lock and key when you’re in a hurry.
Each group of bike stand would have a small central unit that would keep
track of lock availability based on RFID technology. A user would only have to
approach one of the stand, open the app that networks with the central unit,
registering each locking mechanism to a specific user.
Proposed project effort:
This project would be fairly low cost and could achieve in several ways. But
they would all involve some sort of wireless communication between the central
unit and each individual locking mechanism.
Using something like an XBee module, the central unit would take an input
signal either generated through a mobile app or a physical interface and search
through its internal memory searching for available stands. After finding an
availability, the unit would then assign a randomized password for the user that
correspond to a particular stand so all they have to do enter their password into
the app or physical interface.
For added security, the locking mechanism and central unit itself could
have a codec so only particular signal would trigger each lock preventing
accidental locking/unlocking.
Eric Lin
EECS 452
PPI
Sensory Resonant Actuator
Overview:
There are numerous instances where noise cancelling is useful but what if
there is a vibration cancelling instead of cancellation of sound waves. Mechanical
structure that fatigues due to long term vibration would no longer a problem.
In our everyday life there are noises everywhere, it could be as simple as
having a noisy neighbor to as complex as causing damage to the road through
intermittent and various vibrations created by variety of cars traveling. But given
our project timeline a large scale project such as developing an actuator that
counteracts traffic vibration would be near impossible. So I propose a miniature
version of this sensory actuator.
Proposed project effort:
The sensory resonant actuator would have a few major components to it.
The sensor would be one, and it would need to be sensitive enough to gather the
frequency and magnitude of a vibration and feed it through a filter. This filter
would allow us to differentiate between a loud heavy bass and a cat walking
around.
After determining the property of the targeted vibration, we could use a
FPGA to control a vibration motor to create the counter vibration needed to
cancel each other out. The motor itself would be fairly complex and expensive
depending on the part chosen. Some of the motor I had in mind would be ones
from precision microdrives as they have a large selection. But parts aside, this
would most likely require a lot of fine-tuning on the filter and the control of the
feedback vibration.
1.1
Guitar as a MIDI controller using DSP
1.1.1
Overview:
The Musical Instrument Digital Interface (MIDI) protocol is a digital signal used to give digital
instruments a tangible interface. MIDI instruments are used through the use of a MIDI controller
which sends data about the digital instrument like amplitude and equalizer qualities to the digital
instrument. In most instances, MIDI controllers use an interface that replicate a piano or a drum
pad. This greatly limits the audience for which such products are developed.
The goal of this project is to explore other applications for the MIDI protocol in an effort
to expand the use of digital instruments. While the idea of a guitar MIDI controller is not
completely novel (see Guitar Hero), improvements to their functionality would help performers
expand their tonal options. Ideally this project could stand alone without any major modifications
to the guitar that’s being used as your controller. This would give it much greater commercial
application.
1.1.2
Proposed project effort:
The end product of this project would be a stand-alone device that could use a ¼” audio input
from the guitar to properly process the incoming signal and correctly identify the note being
played based on its frequency and wavelength. This device could then send a MIDI signal to an
external computer hosting a digital audio workstation (DAW) such as Ableton where the digital
instrument resides. Then based on the parameters set in the DAW, the digital instrument would
send the new information to a soundcard where the signal would be produced and sent to a
speaker via an RCA cable for listening. The digital instrument need not be incredibly robust as
that strays away from the intent of the project.
This project is definitely a high-risk, high-reward project. The greatest challenge will be
to get the various components of the system to communicate with each other at a low enough
latency for the MIDI controller to be effective. The C5515 eZDSP Stick used in the EECS 452
lab combined with C/C++ code could be used as the system which identifies the note being
plucked on the guitar. This information would then need to be sent via MIDI to another computer
hosting the DAW which would produce the audio signal necessary and send it to a speaker for
listening. A guitar would obviously be needed as well, but its only real requirement is that it has
functioning electromagnetic pickups and a proper ¼” output jack. That, and properly tuned
strings. Ideally this could be provided by a student for demonstration, but it simply acts as our
signal generator and isn’t so much a part of the actual DSP system.
2.1
DJ Surface Control
2.1.1
Overview:
When your finger is dragged over a surface of a texture material, it produces a high-frequency
sound. Though it can be heard by the naked ear, the sound propagates best through dense
materials. When dragging your finger to make a multi-part gesture, such as a letter, your finger
moves, accelerates, and decelerates in a unique fashion. This produces a unique profile of
frequency and amplitude. Particular data points about the gesture such a peak count and duration
can be extracted by means of signal processing. This can lead to particular gestures to be
classified using some machine-learning technique such as a decision tree. These unique
properties can be taken advantage of to create unpowered input surfaces. These input surfaces
can be detected by the means of some microphone coupled with a low-pass filter to eliminate
noise.
2.1.2
Proposed project effort
The idea for this project is to create a virtual DJ application that can be controlled by detecting
the unique profile of particular gestures on any surface to execute basic commands such as start,
stop, fast-forward, and rewind. Given two surfaces and two microphones, the user would be able
to manipulate two separate mp3’s on a computer similar to how a DJ would. The user would then
be able to play two tracks simultaneously in a way that is pleasing to the audience, which is
known as “beat-matching”.
Through research of projects exploiting these same properties it appears that the best tool
to sense the high-frequency noise produced by your finger would be a digital stethoscope. Many
models of digital stethoscopes are made with audio outputs. The company “Thinklabs” makes a
model that costs just under $100. However, all of the functions performed on a computer (signal
processing from both inputs as well as mp3 manipulation) would be very resource intensive and
make take quite a bit of both processing power and RAM. Additionally, to get all of the
aforementioned computer processes to function with little enough latency as to make the product
functional for the user may present some issues.
The majority of the effort for this project would manifest itself in building and detecting
profiles for unique gestures that are performed on the surfaces. The actual logic to pair the
unique input profiles with commands should be very straightforward. Additionally, finding
existing music playback software that can be controlled from such our user input may be
difficult. It may be necessary to build a new application, however it appears that the open-source
music application “foobar2000” may be robust enough to perform the necessary operations based
on our user’s input.
Aspect Ratio & Crop Video Correction
Kevin Nasto
September 13, 2012
1
Problem
Sometimes when watching playing a video (could be a video file, streaming,
DVD, etc.) on a televion or other display, the aspect ratio is incorrect and
the video is not properly cropped to fit the screen.
This is usually do an improper conversion and/or transfer. One example
of this is older DVD films designed for 4:3 televisions where the black bars
are encoded in the video. Another example is YouTube videos that are not
converted properly and the aspect ratio is incorrect.
The tradditional way to fix this is, for example, to have the software do
it in the Youtube case (download the video, change aspect ratio in player)
or in the DVD case, or change settings to crop in the DVD player. What if
a television did it automatically?
2
DSP Solution
1. Detect if the image doesn’t fit in the screen and detect if image is
stretched.
2. Apply a proper translation and transformation to fix the image.
1
One way the detection may work for the image stretch is to find a signature
in the image that corresponds to a set of defined common aspect ratio problems. For example, trying to fit a 16:9 image into a 4:3 image or vice versa.
Then after the detection, a transformation can be applied to fix the aspect
ratio. The cropping can be done by detecting the edges of the wanted image
and scaling to the edge of the display.
Afterwards, the corrected video/image will be displayed on a small OLED
screen.
2
Mike Nowak
EECS 452
Pre-Project Ideas
I.
Musical Instrument Frequency shifter
Overview
The proposed project would sample sound from a musical instrument, shift its
frequency, and then play the sound back in real time to the musician. This would effectively
augment the instrument with a different tone than what would normally be played. Such a
device could be a useful creative tool for musicians that would add to the options available to
them already for creating music. In addition to frequency shifting, other effects could be added
to the sound processor, such as simple high and low pass filtering, compression, reverberation,
and echo.
Proposed Project Effort
This project would need to sample an audio signal in some way, either directly from an
instrument with an electrical output, or via a microphone directed toward an instrument. In
order to shift the frequency of the sampled signal, a Discrete Fourier Transform (DFT) of the
sound would need to be performed, and frequency magnitudes moved around in the frequency
domain. To obtain the final desired signal, a simple inverse DFT would have to be done. The
resultant signal could then be processed further to add other effects, and finally be output
through a digital to analog convertor and played as sound through speakers.
The primary hardware necessary for such a device would be a digital signal processor
(DSP) such as the C5515 eZDSP stick. In addition to this, a microphone and connectors to
interface it to the C5515 would be needed. For simple input to the device, a small board
consisting of a few push buttons would need to be fabricated, or a prefabricated board found.
Due to the simple nature and construction of the device, it could probably be fabricated
cheaply and made to cost under $100, making it readily available to amateur and professional
musicians alike.
Mike Nowak
EECS 452
Pre-Project Ideas
II.
Ultrasonic Motion Sensor
Overview
This project would aim to use a handheld ultrasonic sound emitter to detect the hand
movements of a user and use them as control input for a device. The motion and position of the
sound emitter (and thus the user’s hand) would be determined through the use of the Doppler
Effect, in combination with the phase differences seen in a stereo feed of the detected sound.
Such information could then be used to control a simple application, or even fed into another
device or PC as input.
Proposed Project Effort
First and foremost, a handheld ultrasonic sound emitter would need to be developed for
this project. In addition to this, two microphones or transducers capable of detecting the
ultrasonic frequency emitted would also be required. The microphones or transducers required
for the detector would have to be set up at a specifically calculated distance from each other,
such that the phase differences seen between the two feeds of sound could be used to
determine the position of the sound source.
Once detection of the signal was possible, a DSP board capable of successfully sampling
the ultrasonic frequency would be required. The C5515 eZDSP may or may not be capable of
this, so another type of analog to digital convertor may be required. In any case, once sampled
and on a DSP device, the signal would need to be first filtered to get rid of low-frequency noise
and then discrete Fourier transformed to extract phase and frequency information. With this
information, the sound position in a 2d-plane could be determined, in addition to its motion
relative to the detector.
All the equipment for this device could be easily built or put together, and so the final
device would be relatively low-cost. Thus, a flexible ultrasonic motion control input device
could be built relatively cheaply, and could be used by a wide range of target users for a variety
of applications.
White Board Spell Check
Overview
Overview: I hate to admit it, but often times, our elementary school
educators often make mistakes when transcribing lesson plans on
whiteboards. This is not ideal, because sometimes the transfer of
information from teacher to student has been compromised due to a
misspelling on a whiteboard. However using vision technology and correctly
processing the image will alert the teacher/class of a misspelled word and
prevent such mistakes from happening in the future.
Proposed project effort:
For our purposes we will need the “teachers” to write fairly neatly
and make sure that the letters that they used can be interpreted into
letters correctly. We will require need to take a snapshot of each word
written down onto the white board. After we obtain the image, we will
need to perform image processing, specifically pattern recognition using
edge detection to give us a signal that our Computer can actually use. We
will have the processor connected to a laptop which compares the
processed word, and compares it to words contained in the dictionary.
When there is an error, we will send an output to the fpga, which will direct
a small laser to point to the misspelled word, so that the teacher can make
the correction. The spelling of the correct word will also be displayed on
the LED screen. The implementation of this device in elementary schools
would be a fairly useful investment, and students and teachers will both
benefit from it.
Mayowa Ogundipe
Voice Controlled Elevator
Overview
Often times as engineers, we are stuck carrying schematics,
voltmeters, pencils, or even cookies, and there comes a time when pressing
a button on an elevator is just not a feasible option, well at least for those
of us that do not remember that we have elbows. Initially the elevator will
greet the user with the prompt, “what floor would you like to go to“ and
present the floor options on either the FPGA LED screen. The User will then
answer with one of 4 floor responses or a request for the door to open. Our
version, however due to a limited budget will not be anywhere near a fullsize elevator. It will be a small one capable of transferring action figures to
various floors. This elevator system is a small part of the final goal of “smart
office” It is a modern take on the traditional elevator and requires the use
of DSP as well as other disciplines in the EE, field.
Proposed project effort:
Initially the User will need to communicate with the elevator to alert
the system that a user is safely inside. The audio signal will need to be
parsed using some frequency analysis, and then we will need to compare
the spectrum of the user specified floor, with various prerecorded floor
values of the possible input floors. Ambient noise might also be an issue, so
we will need to make use of a filter to cancel out any noise affecting our
user’s input.
After the signal has been matched the FPGA will make the decision of
which floor to drive the motor to. We will likely use the FPGA for the
various output of driving the motor, and sensors indicating which floor the
elevator is at. The motor will stay on and mechanically drive either a rod
connected to our elevator car or other more elegant mechanical options,
until we get feedback from the sensors that we have reached our desired
floor. The TI DSK and FPGA will be both be utilized for this project.
1 Sleep Detection Device
1.1 Overview:
There are situations that people should not sleep such as while driving and the day before
final exam. Especially, falling asleep while driving causes serious accident. To avoid this
fatal result I want to make a device that warns a driver when he/she falls asleep. I expect that
car accidents would be decreased by using this device. In addition, I think that sleep detection
device is also needed by students because they need it during their final exam weeks.
There will be demand from automobile companies such as GM and Ford, or I can make it
a product and sell to college students directly.
1.2 Proposed project effort:
First, this device needs a pupil detection sensor. This hardware detects pupils of a person and
sends signal to Digital Signal Processor. Warning is activated as soon as the camera cannot
find the pupils. This device involves image measurement.
I will use the TI DSK and SPARTAN-3 to develop algorithm. The complete project will
be on the FPGA using a pupil detection sensor.
2. Noise-cancelling Automobile
1.1 Overview:
Noise-cancelling Automobile is one of project concepts suggested by Harris Inc. This system
can provide comfortable and relaxing environment to drivers and passengers. For example,
answering the phone, drivers and passengers are annoyed by noise from outside of the car. In
addition, they want to listen to music without any disturbance. And diesel engines have more
noise than gasoline engines. Noise-cancelling Automobile will handle these disturbances
making drivers and passengers annoyed by cancelling the noise.
Most drivers want to drive under comfortable and relaxing circumstance and passengers
want to be on quite vehicles. I expect that demand for Noise-cancelling Automobile will be
very high when it is applied to the industry. I can say that it is very marketable.
1.2 Proposed project effort:
We need a microphone (sensor), speakers (actuator), and a DSP chip. Microphone will
measure noise. Then, the chip will handle the signal from the microphone and speakers will
emit noise-cancelling sound wave. Fast Fourier transform analysis and the noise cancelling
will be applied to the project, and TI DSK and SPARTAN-3 will be used to develop
algorithm. The complete project will be on the FPGA with a microphone and speakers.
Overview:
Musical tones have three identifying characteristics: volume, pitch and timbre.
Volume is power, or the amplitude of the corresponding wave, measured in dBs.
Frequency is the measure of how "high" or "low" a tone is. The piano, for
example, has notes as low as 28 Hz and as high as 4,000 Hz, while other
instruments have different ranges. Timbre refers to the fact that musical sounds
are made up of many different sine waves instrument has a characteristic pattern
of sine waves, which is what makes it possible to distinguish between an electric
guitar and a flute playing the same note.
The goal of this project is to use this information to develop a real-time song to
sheet music converter. That is, when a music track is played or a song is sung,
the analog signal is fed into an algorithm that outputs the matching instrument
and note to create a full musical arrangement.
Proposed Project Effort:
This project will most likely contain two key phases: 1. Defining the musical
qualities that distinguish different instruments 2.Filtering a musical tone to identify
tonal qualities and find a matching note/instrument. Obviously it is up to the
project team to determine the scope of this project with regard to instrument
identification, but generally the system should be able to distinguish between
common instruments such as a guitar, piano, bass, and drum.
The development of an identification algorithm will require the use of a number of
digital filters to isolate and identify those key tonal qualities pertaining to volume,
pitch, and timbre. After determining these traits, an algorithm would be created
most likely in C/Matlab to correctly match incoming musical tone with the
appropriate note depending on the instrument. Adding the capability of detecting
note length/pauses in musical notes would ultimately allow the system to digitally
output a full sheet music arrangement (an LED display) matching the input
analog music signal.
Overview:
The goal of this project is to develop a speaker and speech recognizable security
system. The system will both verify the voice of a known administrator and
translate speech to test for a passcode/PIN. Essentially this system would be
employed as a "gatekeeper" in order to provide access to a secure system. This
has many modern security applications such as mobile banking and credit card
transactions. For example, to prevent credit card fraud, the owner of the credit
card would speak his or her name (the “passcode”) into the proposed system,
and a decision would be made whether or not to allow the transaction
(authentication).
Proposed Project Effort:
The project is aimed towards speaker authentication as opposed to identification
of an unknown user, and as such the level of sophistication of the verification
algorithm may possibly be reduced. It is up to the project team to determine the
level of sophistication/robustness regarding the algorithm.
There would be a need to develop a speaker recognition system generally
requiring two phases: enrollment and verification. During enrollment, the
speaker's voice would be recorded and a number of features such as pitch and
speaking style would be extracted to form a template or model (voice print). In
this way the system would be trained on the authorized user’s voice.
In the verification phase, speech would be compared against the previously
created voiceprint to determine a match. Ideally the system would be
sophisticated enough to distinguish users and allow authentication for just the
single administrator. The system would also translate speech to text to
determine if the correct passcode was spoken, adding another layer of security.
Likely the TI DSK and Spartan will be used to develop the algorithm. Ideally the
finished project would be implemented on a portable device, wirelessly
transmitting key speech data to a processing unit that would determine
authentication.
RFID-based Indoor Positioning
Overview:
It is quite common to see people searching for their car keys, cell phone or TV remote almost every day.
Radio Frequency Identification (RFID) technology has been put to use in some warehouses and large
manufacturing facilities to position and track goods. But, such RFID-based positioning systems are not
widely adopted because of the possibility of ultra-high frequency (UHF) interference when multiple RFID
readers are used. However, this technology can be used very efficiently in small and closed
environments.
The proposed system is a stand-alone one and works without a computer. It consists of a control
interface, a set of 3-4 RFID reader antennas and a few RFID transponders. The control interface has an
LCD display, a keypad, a few control buttons and a DSP processor. The RFID reader antennas are fitted in
different parts of the room / house. These readers transmit and receive unlicensed frequencies in the
UHF spectrum and are controlled by the DSP processor in the control interface. The RFID transponders
are attached to the objects that need to be positioned (for example, car keys). The processor will
estimate the location of the RFID transponder relative to the reader antennas by means of triangulation.
In order for this relative position to be understandable to the user, an initial setup must be done to map
the area covered by the reader antennas. This calibration can be done easily by the user after installing
the reader antennas. In setup mode, the user basically places an RFID transponder in different places
and keys in names for those places. And then, the user gives a name to each of the RFID transponders.
Once the setup is done, the user can search the location of any of the transponder, and the LCD display
of the control interface will estimate two closest estimate of the location of the transponder.
Proposed project effort:
This is a big and time-consuming but kind of a low-risk project. The reader antennas and the RFID
transponders are widely available in the market and can be bought easily for a reasonably low price. For
instance, very light Monza 4 or Higgs 3 EPC Gen2 IC transponders can be used with four Sirit Infinity 510
readers. A Sirit Infinity 510 reader covers a cell of 4m x 4m with antennas in corners. The processing can
be done using an FPGA device. For instance, Xilinx Virtex4 Lx-100 can be potentially used for the main
FPGA and Samsung S3C2410 ARM9 processor for main MCU.
The reader antennas will employ measures such as TDMA to prevent interference between two or
more antennas. The readers will transmit signals only when it is required. EPC Class 1 Gen2 standard is
the most popular UHF band RFID standard presented by EPCglobal. In 2006 synchronized to ISO/IEC
18000-6C standard, it leads the RFID world standard stream. As per the standard for the Americas, the
frequency of the signal transmitted and received will be between 902 MHz and 928 MHz. The visual
selection based text input might be problematic, so a touch screen interface might be preferred for text
input.
People Counter in front of Elevator
Overview:
This project is a sub-project of the Harris proposed concept of ‘Smart Elevator Control System’. As per
the proposal of Harris, the objective is to design a control system for a “smart elevator” that avoids
situations where a full elevator car stops at a floor to pick up additional people that it can’t
accommodate and sends multiple cars to particular floor when it is needed. While both these two cases
are interesting, the former case is fairly well known – most elevator systems installed in the last decade
are in fact capable of counting the number of people currently in the car. So, in the proposed project,
the second case will be solved, which involves counting the number of people waiting outside the
elevator in a particular floor. It is also required to estimate the waiting time for the particular floor.
Proposed project effort:
Though this sounds to be an easy task, this is distinctly different and much more complex than counting
the number of people inside the elevator car. Some of the differences are, one, the area outside the
elevator is not a controlled environment as in the sensors should distinguish between a person passing
by and a person waiting for the elevator. Two, the system should be intelligent enough to take into
account the flow of the people in and out of the elevator car. Three, the system should act more
proactively if a person or a few of them get bored of waiting and start walking away to take the stairs.
This brings up an idea of installing a sensor on the stairway of each floor. And another interesting idea,
the system can also detect people in wheel chairs and give them a higher priority, or if not, at least
consider the fact that they will need a larger space in the elevator car.
Implementing this is a little expensive. A prototype implementation can involve two video cameras
connected to a DSP processor. The two video cameras can be purchased for a low price. A directional
camera is good enough with a directional range of close to 180 degrees. The people counting will be
performed using the Dijkstra-based people counting algorithm. Though this system involves complex
video processing, this can be implemented in an FPGA. However, this project will consider that only as a
last step, if everything else is completed and working. As per the proposal, the video processing will be
performed using the TI DaVinci Digital Media Processor.
Online Image Enhancement
Neerad Phansalkar
Overview:
Images/videos captured through general purpose cameras generally have significant noise in
them. This leads to poor quality images, and these images need to be processed through
softwares like photoshop. However, if denoising is embedded in the capturing process itself, it
would make life a lot easier for the end user of the images. Following this denoising argument,
one could also implement other simple image processing techniques directly while capturing
the images. Histogram equalization is an example of such a technique, which is used to improve
the contrast of the image. Another example is image sharpening, which is used to sharpen the
edges in the images (i.e. make the edges more prominent). Still another example is automatic
brightness adjustment, which can be used to correct the intensity when shooting particularly
dark or bright scenes. Brightness adjustment might also involve adaptive brightness
adjustment, where only part of the scene being captured is too dark or too bright, and only that
part needs to be corrected.
With these simple but important techniques being embedded directly in the image capture
process, the end user would be able to use the images directly without any post processing.
Also, if some complex post-processing is to be performed, the user would have more time to
work on it.
Proposed project effort:
For
developing
the
prototype,
a
simple
low
cost
camera
(such
as
https://www.sparkfun.com/products/8739, or a webcam) connected to a FPGA/DSP will be used to
capture scenes. The live feed from the camera will be displayed on some kind of display. The
system will also have inputs (e.g. push-buttons), for the user to select which algorithms should
be performed on the feed from the camera. Using this, the feed from the camera will passed
through some combination of different image enhancement algorithms (if the user selects all
the buttons, the live feed will be processed through all enhancement algorithms). Some ideas
on how the algorithms might be implemented are given below.
For denoising, the video stream from the camera will be processed in the FPGA using some
denoising technique such as wavelet based denoising. Haar Wavelet transform can be
computed very fast and is suitable for real-time computations. From the HH component of the
Haar transform, the noise level can be estimated (assuming Gaussian noise) and denoising can
be performed. Contrast enhancement can be performed by histogram equalization, or through
some pre-defined transformations (e.g. logarithmic, exponential, affine, etc). Next, image
sharpening can be performed by passing the video stream from the camera through a high
boost filter (original image + high pass). Brightness adjustment can be performed by finding the
average intensity level of each frame, and then based on that value, transforming all the
individual intensity values in the frame to adjust the overall brightness. Adaptive brightness
adjustment can be performed by dividing the input image into different zones, and performing
brightness adjustment over those zones separately. The method to divide the image into zones
needs to be investigated for smooth brightness adjustment over the entire image. If time
permits, other algorithms (possibly more complex) can be implemented as long as they don't
reduce the frame rate of the video stream to a very low level.
360 Degree Object Tracking
Neerad Phansalkar
Overview:
Object tracking has applications in many areas including visual surveillance, gaming, video
recording etc. However, a problem with normal object tracking is that once the object goes out
of the field of view of the camera, it can no longer be tracked. This can be solved by using many
cameras and keeping track of the object in different camera feeds, as the object moves from
the field of view of one camera to the other. However, using multiple cameras is expensive and
the algorithm to track the object over different cameras will be complex. A solution to this is to
create a system with a rotating camera, and rotate the camera in the direction of motion of the
object, so as that the object never leaves the field of view of the camera. Such a system will be
very simple and can have many applications, such as continuously tracking people in high
security areas, recording speeches/lectures with a large stage which does not fit the field of
view of the camera, etc.
Project proposed effort:
The object tracking module can be implemented using a simple motion detection algorithm
such background subtraction (this will, however, limit the applicability of the system to scenes
with a single moving object. If time permits, complex object tracking algorithms can be
considered later). A low cost camera (such as: https://www.sparkfun.com/products/8739) will be
used. An FPGA acquiring the video stream from the camera will be used to implement the
object tracking algorithm. The camera will be mounted on a motor. A stepper motor is a good
choice for the motor, because of a couple of reasons: (i) precise control over the degree of
rotation can be obtained with a stepper motor, and (ii) it is very easy to interface a stepper
motor with logic circuits. The output from the tracking algorithm will control the motion of the
motor. The motor will be rotated such that the camera mounted on it always tries to keep the
object at the center of its field of view. The video of the tracked object will be displayed on
some kind of display, or it will be sent to a computer to be stored for later viewing.
EECS 452 PRE PROJECT IDEAS
1. WAVELET DOMAIN AND MOTION COMPENSATED VIDEO DENOISING
1.1. Overview:
Noise in video sequences increases image entropy, which in turn reduces the
effective video compression performance. Hence a noise reduction step is
introduced prior to encoding. The goal of the project is to integrate video
denoising and video coding by reusing the motion estimation resources from
video coding module for video denoising.
In most cases, the motion fields produced by real-time video codecs do not
capture the actual object trajectories, and as such, cannot be applied directly
for motion-compensated denoising. This problem can be overcome by
introducing a motion field filtering step that refines the accuracy of the
motion field enabling the output of the same motion estimator to be used as
an input for the coding scheme as well as an input to the denoiser.
1.2. Proposed Project effort:
The video denoising method is based on Spatio-Temporal filtering. The
block motion estimates from the video codec is first passed through a
Motion Field Filter, followed by a Motion Compensated Temporal Filter, in
effect performing pixel-domain temporal filtering. This step is followed by
Wavelet domain based Spatial filter.
The motion field filtering technique eliminates spurious motion vectors from
the spatial areas in the video frames where no actual motion exists. The
denoising based on motion-compensated recursive temporal denoising
filtering along the estimated motion trajectory is a very powerful approach;
provided that the motion is correctly estimated. The temporal filtering
should take into account the reliability of the estimated motion vectors and
adapt the amount of smoothing accordingly.
The noise remaining after the temporal filtering is spatially non-stationary,
which requires the spatial filter to be adaptive to the locally estimated noise
variance. This is a fuzzy filter which has low complexity and is hardware
friendly.
The algorithm can be tested using a DSP processor for sequence of noisy
video sequences. The MSE and PSNR values can be obtained for the
images, under varying levels of additive white Gaussian noise with known
variance and zero mean.
2. REAL-TIME LIP-SYNCH FACE ANIMATION DRIVEN BY HUMAN VOICE
2.1. Overview:
The goal of the project is to synthesize mouth movement from acoustic
speech information. Techniques for converting the human voice into visual
parameters of mouth movements have applications in face animation,
human-computer interfaces, and joint audio-visual speech recognition
Mapping the audio feature space to the video feature space can be done at
different levels depending on the speech analysis being used-the frame level,
the phenome level and the word level.
2.2. Proposed Project effort:
At the frame level, a universal mapping can be derived to map one frame of
audio to one frame of visual parameters using the Gaussian Mixture model
method. This method uses a large set of audiovisual parameters to train the
mapping.
At the second level, phoneme level, the mapping could be found for each
phoneme in the speech signal. The first step of mapping from audio to visual
parameters is to segment the speech sequence phonetically. Then we use a
lookup-table to find out the sequence of visual features. The look-up table is
predefined for the whole set of phonemes. In this table, each phoneme is
associated with one visual feature set.
At the third level, word level, we can explore the context cues in the speech
signals. First we use a speech recognizer to segment the speech into words,
like “mat” and “book”. For each word, we can create a Hidden Markov
Model (HMM) to represent the acoustic state transition in the word. For each
state in the HMM model, we can use the methods as in the first level to
model the mapping from acoustic to visual feature frame by frame.
The speech can be recorded through a microphone, the algorithm can be
implemented on a DSP processor and the output can be displayed on a LCD
display.
Security system based on voice recognition
Overview
In today’s modern world, where security has become of paramount importance, wouldn’t
it be nice if we had an additional layer of security that protected our house or car? My
project proposal is to have speaker recognition as an additional level of security. For
example, to unlock our houses, not only will a key be sufficient but we would have to
say “open’ as well and only if the sensor recognizes our voice will the house door open.
Thus, even if we lose our house keys, we would not have to be too worried as no one
would be able to enter our homes. This system could also be used for cars or at ATMs
as an additional security measure.
For the purpose of this class, on a smaller scale, I would like to come up with a sensor
that is able to detect and distinguish between 5 different voices and respond
accordingly. This project works on the basis that each individual’s voice has its own
unique speech waves. Thus we would need a way to analyze an individual’s speech
waves to determine if it matches a stored set of speech waves in order to confirm the
person’s identification.
Proposed Project Effort
The speech signal can be characterized as a slowly timed varying signal. We will use
Digital Signal processing to analyze the speech waves of each individual by a process
called short-time spectral analysis , which uses Mel-Frequency Cepstrum Coefficients
(MFCC).
In this process, firstly we take the fourier transform of the waves generated by the
person’s voice. Next, we map the powers of the spectrum obtained above onto the mel
scale, using triangular overlapping windows. The mel scale is a
perceptual scale of pitches judged by listeners to be equal in distance from one
another. Following this, we take the logs of the powers at each of the mel frequencies.
Lastly, we take the discrete cosine transform of the list of mel log powers, as if it were a
signal.
The MFCCs are the amplitudes of the resulting spectrum. We can then match these
MFCCs with MFCCs from samples of the person’s voice taken before to confirm his or
her identity. However, one drawback is that MFCCs are sensitive to noise and thus,
may not be effective in a noisy environment. One way to overcome this would be to
normalize their values to reduce the effect of surrounding noise.
System to produce Real time guitar effects
Overview
During live performances or recording sessions, it is often hard to produce real time
effects to complement the guitarists. During recording sessions, effects are added in
either before or after the actual recording takes place. During most live performances,
effects are also chosen before the actual performance begins. The aim of this project is
to create a Graphical User Interface (GUI), which would allow the user to add effects to
the performance in real time. A GUI is a type of user interface that allows users to
interact with electronic devices using images rather than text commands.
Thus, the aim of this project is to come up with a way to synthesize real time guitar
effects to enrich the performance. Some examples of effects that could be created
include creating an echo or creating a chorus effect.
Proposed Project Effort
During a performance, the guitar signal that is being played is first fed to an analog to
digital converter. It is then passed into a digital signal processing board, where it passes
through various filters that have been designed in Simulink. Each filter would
correspond to a different effect. By manipulating the filters correctly, a user would be
able produce the desired effects.
The user will be able to have complete control over the filters through a Graphical User
Interface (GUI), which is not hard to master. Once the desired effects have been added
by the user, the signal is then passed through a digital to analog converter. It is then
sent out through am amplifier. MATLAB and Simulink will be used extensively in this
project as they allow for quick conversion of audio for testing. Furthermore, they allow
for the graphical modeling of the filters. We would also be able to easily link the GUI. A
noise filter could also be added in to increase the clarity of the effects produced.
Peter Raymond
EECS452 PPI
1. Digital Modeling of Analog Audio Studio Equipment
1.1 Overview:
The idea behind this project would be to model one or multiple pieces of analog
hardware used for audio processing when recording and mixing in a studio or live
sound environment. My first choice would be to attempt modeling a compressor or
limiter. Aside from programming the standard adjustable settings (attack, release,
make-up gain, and feed-forward/feed-back circuit types), I would want to focus on
non-linearities and distortions that occur based on the frequency content and gain of
the input signal. The audio industry has a large attachment to vintage analog gear for
the unique sonic signature it puts onto your audio files. By modeling a piece of analog
gear, I hope to understand some of the qualities that make up this signature and
recreate them digitally.
Proposed Project Effort:
From a high level, the DSP techniques that I am familiar with that I believe would
need to be used would be to sample the signal, then take a Fourier Transform of the
signal, make modifications to the gain of different frequencies, and then convert the
signal back to the analog domain. When sampling, I believe it would be helpful to use
a much higher sampling rate with dithering and a low-pass filter to remove as much
noise as possible from quantization error outside of the audible spectrum.
A concern that I have about this project is whether the DSP chips and boards we will
be using have enough processing power to handle this task. Will they have enough
memory or be able to process instructions quick enough for it to still seem real-time. If
this idea needed to be expanded or added upon, besides modeling different types of
equipment (Equalizers, etc...), I believe it could be interesting to attempt a feedback
suppression algorithm for use with live microphones or an inverse fletcher-munson
volume knob to make all frequencies perceived consistently regardless of listening
level.
Peter Raymond
EECS452 PPI
2. Vocal Processing Module for Pitch Correction and
Harmonization
2.1 Overview:
In comparison to guitarists, singers do not usually have a wide set of effects
specifically designed for vocals. This audio signal processing unit would attempt to
change that by focusing on processing that would be helpful for vocalists to sound
better and become more creative. In an ideal scenario, this unit would have an
equalizer - allowing the vocalist to tune the frequencies of their voice, an autotuner correcting their pitch without noticeable artifacts or recreating a T-Pain sound, a
vocoder - allowing the vocal to be synthesized with another audio source, and a
harmonizer - allowing to transpose the vocal to sing in thirds, fifths, and octaves, etc...
These vocal effects would be used in live performance situations and some of the
effects can be identified in a significant portion of popular music today.
2.2 Proposed Project Effort:
The DSP required for a project of this scope would use different methods for each
effect. After sampling the signal, below is a brief description of possible digital signal
processing to achieve each effect:
● Equalization - This may be accomplished by taking a fourier transform of the
signal, and then adjusting the gains to choice at different frequencies. It would
then be converted back to analog for the listener.
● Autotuner - This could be accomplished by using a phase vocoder to change the
duration of the sound and then alter the frequency to be the correct pitch of the
original duration.
● Vocoder - This could be accomplished by using a microphone as the modulator
and another waveform as the carrier.
● Harmonizer - This would use the phase vocoder to possibly in addition the
vocoder to shift the original vocal up or down by a specific ratio to achieve the
desired pitch interval.
Pre-project ideas (PPI)
Jonathan Root
uniquename: jonroot
1
PC based Audio pitch shifter/harmonizer
1.1
Overview:
A PC-based Audio pitch shifter/harmonizing software package would open up the
world of auto-tuning, live pitch-shift (vocorder), and automated harmonization
options to the aspiring musician/producer by utilizing the most powerful processor
they already has at their fingertips: their computer. Although these features are
currently available in stand-alone units by brands like Boss and Digitech those can
be expensive and comparatively inflexible with limited applications and interaction
options related to their hardware and available inputs and outputs. A PC-based
implementation would allow for musically intuitive controls via a USB or MIDI
keyboard or even another analog instrument (a guitar for example) using a separate
input. The control signal from one instrument input could then be used to control
the parameters of filtering and pitch manipulation of the other. For example playing
a C major chord on a guitar on the control input would result in a C major harmony
of the voice coming in via microphone on the active sounding input.
The possibility that this system would glitch or create conventionally
“undesired” effects would be welcomed by experimental musicians as long as the
primary stated function worked reasonably well under normal circumstances and
settings. A PC-based system also allows us to build in a great deal of adjustability of
the various parameters into menus in order to keep the interface clean and user
friendly for live applications, but powerful enough to experiment with unpredictable
behaviors in the home or studio environment.
1.2
Propose project effort:
Major hurdles in accomplishing this design include rapid analog to digital
conversion of two audio inputs coming into the computer to with minimal latency
and enough resolution for spectrum analysis and playback and real time processing
of those signals. Research into inexpensive audio interfaces for PCs would need to
be done before one was chosen. Playback using the existing audio out of the
computer should be adequate for our purposes.
On the software end of things a program would have to take both inputs,
rapidly implement Fourier and amplitude analysis to find the parameters of both
signals and then filter and/or modify the live signal accordingly. The initial goal to
create an external controlled pitch shifter/harmonizer could be expanded to include
musical key detection, auto-tune pitch correction, automated harmonies and
additional filters if time/group size permits.
2
Sound triggered modular lighting system
2.1
Overview
Bold, beautiful, synchronized lighting rigs are commonplace in the concert and
dance music scenes but until recently were entirely unaffordable by small music
venues or independent artists. This project would be to create a transportable,
inexpensive, modular lighting system that can react to sound either from an internal
microphone or audio signal fed in from an external source.
The lighting rig should be controlled an inexpensive internal DSP chip to limit
costs and decrease the system's dependence on additional hardware. Offline
programming of the lighting rig would be made available by USB and custom
software to allow for user customization and expression. The lighting hardware
itself would consist of a variety of colored LEDs mixed together within each light
housing to change its color and brightness in accordance with the parameters set on
the DSP control unit. Specific colors or intensities could be set in accordance with
specific musical pitches, or using a multi-input system, with specific instruments or
inputs, and sensitivity to attack and release could also be adjusted. Additionally,
with multiple lights running together they could dictate which one reacted to what
input, frequency range, and/or amplitude.
2.2
Proposed project effort
An inexpensive analog to digital converter would have to be either purchased or
created and a DSP chip would have to be chosen to execute the necessary frequency
and amplitude analysis. Each of these would control one or more LED-containing
light housings while would likely have to be fabricated and wired from scratch. At
least two lighting 'units' with separate chips would have to be created in order to
demonstrate their ability to work on concert with one-another as well as
independently.
The DSP chips themselves should also be able to be programmed together,
localizing tasks to the correct chip while relying on a particular input or else have
the ability to work as a master/slave system, running the program on the master
chip while the slave merely controls its own lights in accordance with orders it
receives. If the master/slave route is chosen a hardware switch should be created to
make this readily available to the user. An additional hardware control for volume
threshold would also be implemented to allow for real-time on site adjustments
without the use of an external computer. On the software end the user should be
able to contour the responses of the lights based on three parameters: pitch
(frequency), amplitude (volume), and input (instrument) as to create an expressive
and individual show.
EECS 452 - PPI - Paul Schroeder
Local Positioning System
The Local Positioning System would be a system that would provide real-time, accurate location
information on a smaller scale than GPS. The system would work similarly to GPS and would
have three broadcasting stations. Each station would continually broadcast time code. The
receiver would receive these time codes. The difference between the time code and the time
of arrival represents a delay which, combined with the transmission speed (~speed of light),
can be used to calculate the distance of the receiver from each of the broadcasting stations.
Using triangulation, the location of the receiver relative to the stations can be calculated. Using
the known location of the broadcast stations the relative position can be used to calculate an
absolute position.
The applications for a system like this are numerous. Some examples would be:
● Smart, location aware inventory in factories
● Navigation on smaller scales, such as within buildings.
Developing this system would be challenging. The challenges include accurate timekeeping as
well as keeping the individual broadcasters and receiver reasonably synchronized. Additionally,
techniques from the field of Digital Communications would have to be applied in order to assure
robust and error-free signal transmission. The location information would have to be filtered to
have smooth, noise-free location information. Finally, a way to multiplex the broadcast signals
on one frequency-- perhaps using CDMA-- would have to be developed.
Video Theremin
A theremin is a modern and unique instrument that uses the capacitance caused by the
proximity of hands to metal rods to vary pitch and volume levels (For more info: http://
en.wikipedia.org/wiki/Theremin). The Video Theremin would use a camera and computer vision
techniques to detect the presence and location of the users hands to relative to the device.
The location of the user’s hands would be used to vary pitch and volume, and thus play the
instrument. The system could also be configured so that one of the hands actuates other
parameters like filter characteristics.
The main challenge of this project would be developing a robust feature recognition system to
detect the location of the user’s hands. The other main component would be digital synthesis
of the instrument’s audio signal, as well as filtering the inputs to get a smooth response. There
would be filters and perhaps various waveforms in order to make the instrument’s timbre more
interesting and/or pleasant.
1. Ambient Noise Based Signal Amplitude Scaling Mechanism
(Audio related applications)
1.1
Overview:
In today’s world, most people tend to have to switch their phones from
“LOUD” to “”S ILENT” mode when they enter class or the library, or when the y
go to a meeting. Conversations are often paused when on board a bus, a plane or
a train so that people can in crease the in -call volume on their cellphones. Noise
cancellation headphones today cost a significant amount of money (of the order
of a few hundred dollars) and are still incompetent at handling and correcting
for ambient noise while automatic audio scaling is non -existent. A simple
feature which could be added to most cellphones and audio devices is a system
which “measures” surrounding noise levels and then makes an intelligent
decision as to whether to increase the signal amplitude so as to account for high
ambient noise.
The main idea behind this proposal is to implement a system which is
capable of tracking the level of surrounding noise and correcting for it. This
correction could be as simple as raising or lowering the volume in portable
media player headphones, raising or lowering the speaker volume of mobile
phones during phone calls when the noise level around the user changes, raising
or lowering the ringer volume on your cellphone or even adjusting audio
broadcasting device amplitude levels in public locations. In some ways, this is
similar to the automatic scaling of display brightness in modern cellphones
based on ambient light.
1.2
Proposed Project Effort:
We would need to start off by figuring out a way to effectivel y measure
the level of ambient noise and to quantize it into several levels depending on the
resolution of the correction system we wish to implement. For this, we would
need a suitable compact microphone which captures ambient noise and an
ADC/DAC pair. A suitable period of capture would also need to be defined –
high noise levels over this time period would trigger a change in signal
amplitude. Captured noise levels would then be compared with pre -determined
thresholds and the signal amplitude would then be suitable scaled.
A parametric equalizer like control is another interesting feature that
could be added; that is – boost onl y certain frequencies of your audio device
based on the features of the environmental noise. For this purpose, adaptive
filters would need to be designed and implemented; closed loop filters could be
attempted but this could be highl y complex. A suitable DSP chip with
sufficientl y high RAM ( it cannot afford to run out of memory) would be the core
component of the design; it should also be capable of real time processing and
should hence operate at high speed. An audio device like an MP3 player could
be connected to the DSP chip as a test device – an algorithm would have to be
developed which would scale signal amplitude based on the above described
parameters.
I hope that all future cellphones, audio players and broadcasting devices would
implement some version of this idea in the near future.
2. OFDM based transmitter-receiver pair with error correcting
turbo code – attempt to maximize achievable data rate and make
minor modifications to the turbo code algorithm which could take
us one step further towards achieving capacity
2.1
Overview:
Most smartphones today use LTE (4G) – LTE, an evolution of the
GSM/UMTS, is one among the many wireless data communications standards.
LTE has pushed the limits on achievable capacit y and speed of wireless data
networks using new DSP techniques and modulations that were d eveloped
around the turn of the millennium. One of the key elements of LTE is the use of
OFDM (Orthogonal Frequency Division Multiplexing) as the signal bearer and
the associated access schemes – OFDMA and SC-FDMA. OFDM has many
advantages including its ro bustness to multipath fading and interference. In
addition to this, even though it may appear to be a particularl y complicated form
of modulation, it lends itself to digital signal processing techniques.
In information theory, turbo codes are error corre cting codes with
performance close to the Shannon theoretical limit. The encoder is formed b y
the parallel concatenation of two convolutional codes separated by an
interleaver or permuter. An iterative process through the two corresponding
decoders is used to decode the data received from the channel. Each elementary
decoder passes to the other probabilistic information about each bit of the
sequence to decode.
OFDM and turbo codes are cutting edge technology in today’s wireless
communications industry. But can they be bettered?
1.2
Proposed Project Effort:
The aim of this project is to research LTE or specificall y the turbo code
with the aim of suggesting improvements which could provide scope for an
increase in data transmission rates with minimum errors at the receiver.
The minimum scope of this project would be to build a perfectl y working
OFDMA system with turbo code implemented as the forward error correcting
code. The next step would be to research ways to improve the turbo code with
the aim to maximize data rate and minimize receiver errors. MATLAB could be
used to test the enhancements before implementing them on the model built.
This would probabl y be a high risk project as results to the proposed research
are not guaranteed.
The hardware required would be a pair o f antennas, an ADC/DAC pair
with very high resolution or a DSP chip which performs the same, a fixed point
DSP chip (preferably 64 -bit) with high RAM, an RF tuning circuit and
oscillator. PC’s could be used to generate the data to be transmitted and displa y
the data received.
Ryan Smith
PPI Assignment
1.1
Real-time music transcription from a live source
1.1.1 Overview:
Music transcription gives musicians the advantage of formalizing recorded music with
music notes. This allows musicians to make corrections to previously recorded music,
duplicate music using other instruments, and explore the confines of their own
instruments. Current day music transcribers, such as the Loop-a-Lick software, do not
support real-time processing. In other words, they only process pre-recorded music.
Real-time processing would allow musicians to spend more time composing music and
honing in on their creativity. Without real-time processing musicians must spend time, or
even money, repeatedly recording themselves onto a memory device and uploading the
files to a music transcriber, just to see what they played. Ideally musicians should be
able to play whatever comes to mind and have the notes and rhythm appear on the
screen in front of them.
1.1.2 Proposed project effort:
This project could take on various degrees of difficulty, with the basic form taking in an
audio signal and displaying the rhythmic pattern on the screen, to the more advanced
form of recognizing the pitch of a note and charting it, and even potentially playing it
back to you. This project would require a basic understanding of musical notation as the
transcriber would be outputting notes on a staff. The device would need to be able to
receive an audio signal and through digital signal processing the goal would be to
convert this to a digital form and analyze it to determine the duration and /or frequency
of the notes. This would most likely be programmed on an FPGA and would also require
a C5510 Digital Starter kit for sound detection and analyzing purposes. Upon
distinguishing the notes and their length, the computer processor would then print them
to the screen in the form of written music, ideally using staff notation. This would be
done by programming the frequencies of the notes into the computer based on the
desired instrument and having it match them up with the notes being played. The end
users would be musicians and composers all over the world with a creative mind and
looking to create that next masterpiece.
Ryan Smith
PPI Assignment
2.1
Motion controlled software for devices
2.1.1 Overview:
Technology is vastly moving from touch operation to that of gestures. A common
complaint of most touch screens is that it messes up the screen with all the finger prints
and smears. Another concern is that you cannot use them under all conditions. For
example if your hands were to become clammy or wet it would not recognize them
and/or damage the product, or if you were wearing gloves it wouldn’t register the
contact. A solution would be to make touch screens ‘touchless’. Each device would
have a camera which would recognize gestures to perform common actions as well as
move a mouse across the screen. This would ease overall use of most handheld and
even desktop devices (phones, tablets computers, etc.).
2.1.2 Proposed project effort:
Essentially the project would consist of constructing the technology behind motion
control (as it relates to microprocessors) and applying it to common computer systems.
Initially there would be a need to determine how to read in various gestures as
recognizable patterns. This would require the programming of a video processor. This
project would also require the use of a FPGA and most likely other DSP software. There
would need to be a breakdown of common actions taken on devices and how they could
be represented as distinguishable gestures for proof of concept purposes. The main
challenge comes with actually performing the action on the device. Heavy programming
would be required in order to achieve the desired output. The end users would be the
makers of cell phones and tablets as this project would provide the software to enable
the touchless use of a device.
FPGA based Adaptive Noise Cancelling System for Automobiles
1.1 Overview
Noise cancellation systems were originally built to counter and cancel out the noise in the
cockpits of flights, eventually evolving into noise cancellation headphones that are used for
multiple purposes including aviation applications. The more exclusive of these noise cancelling
headphones are even priced at around 300$ per piece. These headphones sometimes use a
combination of active and passive noise control. Automobiles also use these systems for real
time noise cancellation to keep the cabin free from both engine and road/wind noise.
Active Noise Cancellation (ANC) reduces undesirable noise by generating what is sometimes
called an ‘anti-noise’ signal using certain signal processing algorithms to effectively cancel out
the detected noise. This is effectively destructive interference for a constructive purpose.
1.2 Proposed project effort
An automobile presents a variety of problems to be overcome while implementing such
algorithms. Will the noise closer to the engine be the same as the noise at the back of an
automobile? No. Therefore will we need to implement separate noise cancelling systems for
different parts of the car? Yes. Why not just implement a one-time filter that eliminates the
engine noise at the source during manufacturing, you ask. These filter coefficients would be
fixed. The drawback of such a system is that it doesn’t take into account the concept of aging
engines due to which the noise varies considerably. So a four microphone system is proposed
with each microphone capturing the input from the different positions in the cabin. Now each of
these has its own ANC system.
AKG C3000B microphones could be used to obtain the input reference signal from the noise
sources. Each ANC unit is comprised of an adaptive digital filter that has constantly changing
coefficients depending on the noise and this filter gives an approximation the noise which is then
subtracted from the original signal to eliminate the noise and leave behind the desired signal. An
FIR filter is used and it’s coefficients are constantly changed by an adaptive algorithm
implemented on a Spartan-3 FPGA board which is used along with an audio codec like Philips
UDA 1355H. The adaptive algorithm which is widely used to manipulate the filter coefficients
ANC is the filtered x-LMS (LMS-Least Mean Squared). Automotive companies would benefit
greatly from noise cancellation implementations of this sort.
In the future, this could also double up as an engine fault detection system where the noise
generated by the engine is used to determine if it in good working condition. This could be done
by learning the typical noise generated by the engine and comparing it to the noise that is
estimated by the filter. Road noise could affect this reading but there are ways to get around this
problem too.
Sound Detection and Localization
1.1 Overview
Identifying a particular sound in any environment from among a cacophony of sounds makes
it a difficult task. Once the particular sound has been identified, the next step is to localize it.
Sound localization is done by the human brain using subtle differences in intensity, spectral
and timing cues. The difference in arrival time between the ears and other inter-aural cues
gives the brain a good indication of the distance and direction of a particular sound. Also, the
auditory system can extract the sound of a particular sound source out of interfering noise. So
we can concentrate on only one speaker if other speakers are also talking (the cocktail party
effect). Sound from interfering directions is perceived attenuated compared to the sound
from the desired direction. The auditory system can ramp up the signal-to-noise ratio by up
to 15 dB, which means that interfering sound is perceived to be attenuated to half (or less) of
its actual loudness. But modeling such a system is near impossible. But we can attempt to
build a model that almost entirely emulates the working of the human body. The concepts
remain the same except that multiple microphones and an FPGA are used to do the listening
and the signal processing respectively.
1.2 Proposed project effort
A spectrogram is used to identify a particular sound. It can either be approximated as a filter
bank that results from a series of Bandpass filters or created using Short-time Fourier
Transform (STFT). This can be used to differentiate between different sounds and isolate a
certain sound (Eg. Gun-shot). Then we implement an algorithm that can localize the said
sound on the Cyclone-2 FPGA. To display the spectrograms, the DE2 board outputs VGA
signals. For this application we require multiple microphones in the vicinity. Each
microphone relays the signal it receives back to the Base Station where the basic idea is to
sum up the contribution of each microphone after appropriate filtering and look for a
direction (angle) which maximizes this sum. Particle velocity is another quantity related
to acoustic waves and is a vector (containing directional information), by which one can
obtain a source direction directly. This can be done using a Particle velocity probe. Also, the
time difference of arrival (TDOA) i.e. the delay in reaching each microphone provides us
with information about the distance at which the object emitting the sound is located. Using
this, it is possible to almost exactly predict the location of the object emitting the sound. This
will come in mighty useful in applications like Gun-shot localization. This requires a certain
amount of precision and this setup could achieve that.
Matt Tannenbaum
Physiological Signal Interpretation
Overview:
Physiological signals are a good indicator of how well our bodies are functioning. Being able to
interpret these signals in a low-cost, non-invasive way could be hugely beneficial to countless
amounts of people.
When people have certain health conditions, it is important to be able to respond quickly. It
would be beneficial if there were a way to respond automatically to changes in physiological
signals. For example, autistic people often feel anxiety in certain situations, but can use
vibration to ease the anxiety. If there were something to detect when they were feeling anxious,
something like a vibrating vest could be activated automatically before the anxiety becomes too
severe. It could automatically turn off when the anxiety subsides. People with Cerebral Palsy
can use vibration to alleviate pain. Detecting and interpreting pain signals through the skin
would be able to trigger something like a vibrating vest to start alleviating pain immediately.
A device that could read multiple physiological signals and store them would also be beneficial
in emergency situations. If a patient needs monitoring or is at a high risk for something like a
heart attack, it may be useful to the first-responders to have physiological data already on hand
that they could read off. Timing means life or death.
The low-cost would allow more people to benefit from such a device.
Proposed Effort:
Electrical and/or pressure sensors could be used/combined to detect physiological signals
through the skin. Some signals that can be detected using these kinds of sensors are skin
resistance, pulse, respiratory rate, and muscle contraction. Systolic blood pressure can also be
detected by passing light through the skin.
Research would be required to determine what certain physiological signals look like and how
they change, as well as what types of signals/changes are associated with different
physical/emotional conditions.
Once the desired signals have been detected, they can be used to track changes or to determine if
a threshold level has been exceeded. For example, changes in skin resistance combined with an
increase in pulse could be a sign of stress. In the case of someone with autism (or really
anyone), this information could be used to activate a vibrating vest to begin easing anxiety or
pain automatically. When the signals return to normal, the vest would turn off.
An FPGA could easily be used to implement a finite state machine and send/receive control
signals.
Automatic Song Generation
Overview:
Almost everyone enjoys music, and some probably wish they could create their own. Or maybe
some singers would like an on-demand backup band to sing along to. Or maybe someone just has a
great idea for part of a melody but can’t figure out what to harmonize with it. Wouldn’t it be great to
hum or sing or play a melody and then a song is automatically created?
A program could analyze what someone sang/hummed and use that as the basis for the main melody.
Other instruments or a genre would then be selected and individual parts would be composed for
each instrument. The result would be a complete, unique song based on the user’s original melody.
Once the song is created, a singer could then sing along to it and it would already be harmonized. No
adjustment would be required by the singer. Or maybe the person who thought of the melody would
have some new inspiration for a rhythm section. Or someone who doesn’t understand much about
music could learn a little bit about harmonization.
Proposed Effort:
This project would have several components: pitch detection, instrument synthesis, melody analysis,
harmony creation, and various UI.
Pitch detection: Fourier analysis would be used to determine hummed/sung/played pitches. Once the
frequencies are determined, they can be matched to notes.
Instrument Synthesis: Additive synthesis could be used to generate pitches with the unique timbres of
specific instruments. There can be a bank of instruments to choose from.
Melody analysis: The relationships between the notes will be determined once the pitches are
detected. This can be used to determine chords that can be built on these notes.
Harmony creation: Once the chords are determined, different concepts such as counter point and the
circle of fifths can be used to create four-point or other harmonies. A good place to start would be
stepping up or down to the closest note that can create a valid chord. If a beat can be determined,
drum patterns can be generated, or if no beat can be determined, it can be created. The drum part
may be difficult, at least to keep unique.
There should be a lot of room to create variety. For example, someone humming one melody should
get a different song each time they hum the same melody. Also, songs using the same instruments
shouldn’t sound like they’re basically the same thing. This is probably the biggest challenge.
The program would work as follows: singer hums a melody the computer records. Then the melody
is played back in case the singer wants a redo. Once the melody is submitted, its notes are analyzed
and chords are determined. Then the user adds instruments or selects a genre and harmonies are
created. Finally, the song is complete and can be played back. Different instruments can also be
muted or changed with filters/volume control/effects/etc.
James Tyler
EECS 452 Project Proposal Ideas
Proposal 1:
The consumer boating industry is an excellent frontier for active noise cancellation that is nearly
impossible in automobiles. In the last few years, cockpit noise levels have become an important factor
when deciding on which boat to purchase. In response, manufacturers have tried to dampen the largest
source of noise on every vessel, the engines, by installing sound insulating foam inside the engine room.
The sound produced by even a single engine humming along at a few thousand RPMs can be very loud,
and conversation at the stern of the ship while underway is often impossible (largely because you are
sitting right above the engines). Insulating foam can be good for a modest improvement, but what if
great improvement could be made cheaply? Active noise cancellation is one possible answer to this
problem.
Our FPGAs could easily handle and process the audio end of the problem. We would need to
sample the ambient noise right around the engine bay (this could be simulated by taking a sample
recording on an actual ship for power and frequency or email a local company, say Four Winns, for
data). To demonstrate our algorithm and work through the solution, we would simply need to purchase
a couple microphones and speakers. This could easily be implemented in industry since today's boats
already have many speakers on board which would be necessary to output the noise cancellation signal.
Automobiles have countless large sources of noise and reflections inside the vehicle, where in a boat
you know exactly where your main noise source is located and what its main frequency components are
without having to worry about reflections from being boxed in.
The hardest part of this project would be to accurately produce the noise cancelling signal. We
would have to do a lot of research on how different listener positions would be affected and what can
be done to lower noise levels for everyone on the boat. However, I feel that it is an interesting
possibility and one that would certainly be cause to cheer in the boating world.
Proposal 2:
Imagine the clapper, only instead of having to clap your hands to operate the device you simply
have to voice your commands. The trend has gained traction in the automotive industry (look at Ford's
Sync system which can control everything from reading you a text message to adjusting climate
controls), cell phone industry (Siri), and several other large industries. It is about time that voice
commands found a place in our living quarters. For the time frame given to accomplish the project, one
realistic possibility is to design a wall light switch with a small built in microphone constantly listening for
you to announce "light on". I think that that there is potentially a large market for reliable technological
conveniences inside modern houses. This project could be a simple example to showcase that
possibility.
James Tyler
Our development platform would certainly support this project. However, since the device
would always be powered when installed onto a light switch, we should strive for low power
consumption. DSP would be necessary to implement algorithms on the audio signals from the
microphone to decipher what words are being spoken. Again, very light on resources would be the key
here since people would be unlikely to pay very much for it. The cost of this project would be very
reasonable, requiring few parts outside of our development kit. Several different light switches to
modify would need to be purchased, along with a small microphone.
The hardest part of this project would be correctly deciphering voice commands. If it was not
done well, the light could turn on and off when two people are normally conversing within range of the
microphone. On the opposite side of that, it would also be a poor design if you had to yell so loud that
the neighbors could hear you to get the system to respond. Or if you spoke perfectly clearly and
enunciated correctly and the lights still didn't turn on. However, I think it is reasonable and could
potentially interest some people in the end.
Baiyu Wang
Shots Fired Detection and Information Relay
Overview:
Criminal, terrorist, and military actions involving firearms are of increasing
concern to police, soldiers, and the public. Our project is to look for a system
which could detect the sound wave of the gunshot in order to localize snipers and
even classify or identify the gun type. Briefly, we need some sensors and a server
to realize our idea. I read a paper and it seems we could only use two sensors to
accomplish this. However, it relies on very ideal situation and unfortunately could
not be brought to practical application. Thus we may use numbers of sensors.
Proposed project effort:
To achieve our goal, we need some sensors like microphones to catch the sound
wave made by guns and bullets. And our work are mainly based on collection of
these data. The first basic question is how we distinguish gunshots with other
urban noise like traffic or building work. To do this, we need pay our attention to
the shape of the sound wave. The gunshots sound wave always has large amplitude
at some certain time with very narrow duration which is typically made by muzzle
blast, supersonic projectile and reflections from ground and surrounding objects.
We could also bring this question into frequency domain to look for answers. The
second question is how we could localize the gunshots. For that, we need place
couples of sensors in a certain area like a park or a street block. The distance
between each sensor at seperate locations should be enough to ensure significant
time delay when catching the sound wave. Then we could use relevant algorithm
with information of both locations of sensors and time delay of sound wave to
localize the gunshots. Moreover, all the data captured by sensors would be
transmitted to a central command server to be analysed. So we also need some
emitters and receiver. After reaching the basic project requests, we could try to
increase the accuracy of detection and improve our system on the aspects of power
cost and detection range. We could even do more to make this system clever
enough to provide some information on guns type.
Automated Garage Parking
Overview:
For most drivers, parking is relevantly more difficult than just driving on the road,
especially in a crowded parking lot or because the parking space is too narrow or
small. If a driver could not park the vehicle smoothly, he may cause a traffic jam.
Thus a automatic parking system which could help the driver to finish this
annoying task is really an exciting project. For this certain EECS452 project, we
are asked to design a automated garage parking system which could park the car
automatically starting from one end of a road after the driver choose a parking
location. At the same time, this system should be able to prevent accident when
parking.
Proposed project effort:
Since the model should include a small-scale functional vehicle, we not only need
some DSP knowledge but also some machanism and control knowledge. Therefore
we may need quite a lot reading during the project. In the aspect of hardware, we
need some emitters and sensors placed around the vehicle. This is to detect
surrounding objects and we could use the data collected to calculate the distance
from the vehicle to nearby objects. This has two meaning. One is that we could
localize where the vehicle is, what the angle between the vehicle and the road or
the garage gate is. So that we could make right commands to lead the vehicle. The
second is we could prevent our vehicle form accident. We also need some
hardware to control the vehicle including a friendly interface to drivers for them to
make their ideal options.
Pre-project Ideas (PPI)
1. Voice Controlled and Face Recognition Machine Gun
a. Overview:
Nowadays, it costs soldiers lives in the battle because they need to use and control
their guns in the battle fields. This project will build a machine gun which can fire at
different directions in the 180° range. When people say “fire!”, the gun will fire.
When people say “rotate!”, the gun will rotate in the range of 180°. And when people
say “stop!”, it will stop firing and rotating. If there is a human face right in front of it,
it will automatically stop rotating and fire at the people that detected.
b. Proposed project effort:
At first, we need to buy a Nerf gun and locate it on a servo that can rotate 180°. Then,
we need to focus on the human voice recognition part. We can use a microphone to
capture voice. Through an ADC converter on the DSP chip, we can get the digital
signal of the three words—“fire”, “stop” and “rotate”. Then, if the system detects
these three digital signal patterns, we can either shut down all the signals to stop the
gun or send the signals to the FPGA board to either set one pin to be high to fire the
gun or send PWM to servo to rotate it. We can use a relay to bypass the trigger of gun
to fire it. And the system should ignore all other voices. If detecting human voice is
too hard, I think we can simply use pitch detection. For example, we use a flute and
make sound out of it. If it is one note, just rotate the gun. And if it is another, just fire
the gun.
The last part will be human face recognition. After the sound control, it will be the
image control. We can add a digital camera on the gun. The camera should send the
video image it has taken to the DSP chip. Then, we can do image processing using the
digital signal. If there is noise, we can first use median filtering to get the correct
image and then check whether it meets the characteristics of a human face. If it
matches the characteristics, just do the same thing as above. Send signal to FPGA
board to set an output pin to be high to fire and also send signal to the board to shut
the servo power supply down to stop rotating.
2. Smart Car
a. Overview:
Build a car that has two modes. In the first mode, the car can turn right on green sign,
turn left on blue sign and stop on red sign. If there are no signs and the route is clear,
it will go straight forward. In the second mode, the car can also follow infrared lasers.
We can use the laser to control it. It will go in the direction the laser points to. It can
turn left if the laser points to the left side of the car, and right otherwise. If the car
cannot detect the laser, it will stop.
b. Proposed project effort:
In the first step, the car should follow the instructions from different colors of signs.
The camera on the car should take pictures when the car comes close to an obstacle,
for example, a sign board. Then, the digital images should be sent to the DSP chip.
After image processing, we should figure out the color of the sign. If it is in the range
of green (for there may be different green colors), we send a PWM signal with certain
pulse width to the servo to control the car to rotate to the right. Similarly, for a blue
sign, we let the servo rotate to the left and for a red sign, we just shut down the motor
of car.
Then we come to second step—the laser following. First, we should know the
wavelength of our infrared laser. Then, the camera on the car captures images of
surroundings. If there is an infrared wave whose wavelength is within the range of our
laser, then it is the right one to follow. Then, on the whole image the camera has taken,
we need to do a filtering to find out the position of infrared wave. If it is on the left
part of the image, we should do the same thing as above to let the car turn left. If it is
on right, the car turns right. But if there is no infrared wave found, then we should
stop the car.
And at last, if we can finish these two steps early, maybe we can also add voice
control to the car. Just like the first project—voice controlled gun, we can detect
human voice—“left”, “right”, “stop”, and “go”. We can do the same thing like in the
voice control part of the machine gun project, and this will be the third mode of the
car.
Portable handwritten file to digital file converter
Overview:
With the revolution of cloud computing, it became easier than ever
to access to electronic documents from any digital device. People tend
to store digital copies of their files on the cloud, which provides a more
reliable and accessible solution for retrieving the files needed. In order to
store handwritten files on the cloud, we need to convert them to digital files.
Using a scanner or camera can easily do the conversion after we finished
the file. However, we need an application can do these conversions in real
time while people are writing.
This is to be an attachment that can easily work with the pen we used
everyday. Moreover, this device can be used for communication purposes
as well. For example, a teacher can remotely work through a math problem
by hand, while students can watch the step-by-step solutions online and
interact with the teacher in real time.
Proposed project effort:
This is a challenging project. The project is based on the idea
that each symbol we write has a unique representation in terms of the
movements of a pen. It requires knowledge about how to measure
movement of a pen by using Gyro sensor. The Gyro sensors are sold by
SparkFun such as: https://www.sparkfun.com/products/9421
Initially, we need to build a pattern bank for each pattern we want
to recognize. It may be essential to let each user to calibrate the device
for the best results.To get the pattern, we need to sample the continuous
signal out from the Gyro sensor and extract the pattern of the movement
we need. Likely, a pressure sensor would be helpful for detecting whether
the pen is in contact with paper, and the result from pressure sensor can
work with the result from Gyro sensor to get a better understanding of the
whether it’s one symbol or multiple symbols. By comparing the pattern
collected to the pattern bank, we can conclude which symbol most likely
correspond to this pattern.
Voice controlled alarm
Overview:
For college students, it’s essential to get up on time and attend to
classes. However, it’s really easy for students who use the most commonly
used alarm clocks, like cell phones and analog alarm clocks, to sleep over
in the morning. The widely used devices don’t seem to be enough to make
sure you get up, simply because it is so easy to turn it off unconsciously.
A advanced programmable alarm clock is needed to resolve the
problem. Everyday it alarms at the desired time and can be turn off only by
specific voice commands(songs, word combinations). The commands can
be user defined or program generated, which requires the user to actually
make some efforts to interact with the alarm to interpret the right command.
Proposed project effort:
The audio signal analysis would implement MFCC (MelFrequency
Cepstrum Coefficients) analysis on segmented audio waveform and
making decisions on which command is being said based on the work of
Hidden Markov Model (HMM).
A couple years ago, voice controlled alarm clocks was introduced to
the market, but it clock only allows several simple command like setting
time and turn on/off the alarm clock:
http://www.amazon.com/Moshi-Voice-Interactive-Talking-Alarm/dp/B001MKKHFK
The device we want to build should base on the previous model but
with more features. When the alarm is on, it continuously receives and
samples the audio signal until it finds a matching waveform. Alternatively,
the program can generate random word combinations on displays and you
need to follow the instructions and speak out the right word to turn off the
alarm(A simple sudoku game should be enough).
Whitney Witherspoon
Harris Information Relay
Overview:
The Harris Inc. Information Relay project proposal
Picture this: A shot is fired in an urban area and only moments later, it has been
detected by the city’s gunshot detection system. Immediately information regarding the
event has been relayed to a central source. In no time, authorities are able to report to
the scene and find the shooter. A successful gunshot detection system should utilize a
microphone to detect a gunshot and a method to transmit information to the central
command center. It is important for this system to be able to differentiate between
common city sounds and shots being fired.
Proposed Project effort:
Over all there are many different aspects that must be incorporated to make a complete
system. There will need to be an array of microphones set at different locations, with
GPS coordinates for best detection. The DSP concepts that must be adapted are A/D
convertors to capture the sounds. There will be need for filtering, and frequency
detection and analysis and comparison of sounds detected. There are generally 3
characteristics that help to separate gunfire from other similar sounds, they can be
found in the link below. After this detecting we will have to perform a quick analysis and
comparison of the sound. Based on a certain percentage of certainty that gunfire was
heard, a digital signal would then be relayed to the dispatch command with the location
of the microphone that detected the sound. This requires all of the microphones and the
data they collect to be in the same network.
http://en.wikipedia.org/wiki/Gunfire_locator
Whitney Witherspoon
The Watch that Listens/Talks to You
Overview
Many times I have looked down at my watch and it can be extremely cumbersome to
read the analog hands. In other cases, where a person may have a tough time with their
vision it can be a very frustrating time straining to see their watch. My idea is for a
listening and speaking watch. With the device you will be able to speak to the watch,
without having to press a button for it to listen. Go ahead ask, “What time is it?” and the
watch will respond with the time. Ask the watch to begin the stop watch or stop it and
the watch will listen to you.
Proposed Project effort:
This device would implement A/D converter and D/A converters. There would need to
be a real-time continuous microphone that would need to have a filter when detecting
the command being sent from the user to process the information. The will also need to
be an initial voice recognition system that sets the watch to be matched with the user.
The command would then send a digital signal for the for the process to be performed
and convert the digital component to analog to the speaker to communicate with the
user.
Pre-project Ideas
1 Automatic Table Tennis Ball Pick Up Device
1.1 Project Overview:
If you have watched a table tennis game, you may find an interesting phenomenon, which the
time that players spend on picking up the table tennis balls is almost the same as the time they
are playing. Picking up balls is indeed quite time-consuming. It wastes players’ energy and
sometimes can be very frustrating.
Picture this: When table tennis players finish a round, they don’t need to pick up the balls
themselves. Instead, they can just take the balls from the box besides the table and an automatic
table tennis ball pick up device will search the ball automatically, pick it up and put the balls
back to the box.
This project is relevant to the Harris project concept of object localization and tracking. The idea
is to track the object mainly by analyze the sound through the methods learnt in the DSP courses.
And it should be a low cost device since the peripheral devices requirements are not high and the
analysis of sound should be completed in a single FPGA.
The project is also quite flexible and adjustable one. The main part of the project is the analysis
of the sound and can easily be adjusted and applied to other projects related to the object
localization and tracking, for example, other ball games or a gunshot fire detection system
mentioned by the Harris Engineers.
1.2 Proposed Project Effort:
The project will be mainly focused on how to localize the table tennis ball according to the sound.
The difficulty should be proper since I think the environment that people usually play a table
tennis ball game is relatively quiet. And the disturbance will not be too strong. The sound we
rely on should be the bouncing sound when a ball hits the ground. And it will be a problem that
how to distinguish between the sound that a ball hits ground and the sound that a ball hits the
table. At beginning we will measure the frequency and other things in a quiet environment. Then
we will step by step add some noises. Filters will be of coursed used as well as other DSP
methods.
The other part of the project is the mechanical part and control part. After localizing the ball, the
device should be able to analyze how to approach the ball and take it with a mechanical arm.
Then the device goes back to the box and puts it back.
Who might use such? Of course the stadiums! Especially it will be popular in China, a country
full of table tennis lovers!
2 Smart Bus Control System
2.1 Project Overview:
In many cities around the world, public traffic issue is considered to be a main issue that the
cities are eager to solve. Especially in the crowded cities, the efficiency of the public traffic
system is a main factor that constrains the city developing. You may encounter the problem
yourself: the crowded bus is really annoying and sometimes you may even wait a long time for a
bus you can get on!
The project will develop a control system that smartly contributes the buses in a district in order
to improve the efficiency. The main method is by monitoring the amount of people on every bus
and at every bus station.
The project is relevant to the Harris project the smart elevator control system.
2.2 Proposed Project Effort:
The project will focus on how to recognize the amount of people at a certain spot. The method
will be analyzing the sounds at that spot and the images, with the help of other sensors, like
pressure sensors. The other part is the communication of the information and an algorithm to
contribute the bus. In a short period, the project may not be completed but at least the first part of
recognize amount of people should be finished at a primary level.
Who might use such? Of course all cities want this fantastic system!
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement