Mini Project 2: Adaptive Tone Canceller
Prof. B.-P. Paris
ECE 201
Spring 2015
Problem Statement
The FlyingCarpet airline company has bought a fleet of new aircraft with brand new
jet engines that save fuel and shorten travel times. The only problem: the engines
produce a very annoying, loud whining sound that can be heard throughout the
aircraft. Preliminary analysis shows that the sound consists of a tone of exactly
1200Hz.
Your group has been retained as consultants to FlyingCarpet to help develop a
system to cancel out the annoying sound for passengers in their seats. The solution
entails an adaptive canceller that works as follows:
- All passengers’ head rests will be equipped with two small microphones
and four small speakers. The microphones will be located near where the
passenger’s ears are and the speakers surround the passenger’s head. The
exact location of these devices varies from seat to seat and is not available.
- The speakers and microphones are connected to a signal processing system.
The signals from the microphones are sampled (rate fs = 10 KHz); from
these samples, an existing algorithm estimates the amplitude and phase
of the signal at each microphone every 25 ms.
- Your responsibility is to determine the amplitude and phase of sinusoids
to be played through each of the four speakers so that the signal picked up
by the microphones is as small as possible. Specifically, every 25 ms you
should take the measured amplitudes and phases from the microphones
and determine amplitudes and phases for the sinusoids to be played
through each speaker over the next 25 ms. Your objective is to minimize
the power of the sinusoids picked up by the microphones.
- Note that the amplitude and phase of the sinusoid played through a
speaker changes on its way to the microphones. The signal gets weaker
and the phase changes as a result of the propagation delay. The changes
are deterministic but they are not known to you. Therefore, a solution
that adapts to the unknown propagation effects is needed.
Deliverables
This is a group project; groups are assigned by the instructor. Each group must
deliver the following two work products:
- A MATLAB function (must be named adaptCanceller.m) that accepts
a pair of phasors (one for each microphone) and a structure that captures
the state of your algorithm (essentially memory that is carried between
invocations of your algorithm). The outputs are a set of four phasors
that indicate the amplitudes and phases of the signals played through the
speakers and an updated state structure; this state structure will be the
input state on the next invocation. An example function is provided (see
below).
- A report in the form of a Powerpoint presentation. The report must not
exceed six slides and should document how you solved the problem. An
example report is provided (see below).
Material
To help you get started with this project, I am providing you with the following
material:
Assuming that you the two MATLAB files in your MATLAB working directory,
you can simply run testCanceller, which in turn invokes adaptCanceller.m. If
successful, you will see a plot that shows the power at the microphones over time and
you will hear a 60-second sinusoid with decreasing power over time. As you develop
your own solution, simply replace the example adaptCanceller.m file with your
own.
Schedule
The mini project will proceed according to the following schedule:
- Wednesday, March 18: Project assigned and groups announced.
- Wednesday, March 25: Draft project report to be presented to another
group.
You must prepare a Powerpoint report that describes how you plan to
solve this problem. Schedule a meeting with the other group before class
on March 25.
- Monday, March 30: Written (typed), constructive feedback must be
provided to the group that presented to your group.
Send a copy to the instructor by e-mail; make sure it is obvious which
group you’re commenting on.
- Monday, March 30: MATLAB submissions accepted online.
- Sunday, April 12 (at 11:59pm): Deadline to submit M-files.
- Sunday, March2April 12 (at 11:59pm): Final versions of your report must
be submitted through Blackboard - one submission per group.
Grading
Your group’s score will depend on the following criteria:
- Report: the quality of your group’s report will count 40% towards your
grade. I will evaluate accuracy, correctness, presentation of the report, as
well as the originality of your solution.
- MATLAB code: The grade for your MATLAB code will depend on the
quality of your canceller as measured by the power of the signal observed
by the microphones. This component counts 40% towards your grade.
- Feedback to other group: the quality of the feedback you provide to the
group that presented to you counts 20% towards your grade.