|
Digital Filtering and Smoothing: A Student Simulation Project
Eric Gossett
Bethel College
This presentation describes a project to introduce upper-division students to digital
filtering and smoothing. The project consists of an algorithm and a simulation platform
upon which to test implementations of the algorithm.
The original simulation platform was a collection of Fortran subroutines that provided a
foundation upon which the students could build their implementation of the algorithm. The
subroutines included object files that produced trajectories for several
bugs.
The current simulation platform uses Mathematica 3. This platform has the
advantages of a more natural notation, easier creation of graphs showing algorithm
effectiveness, and the ability to animate the algorithm.
After the problem is introduced, the mathematical derivation of the algorithm will be
summarized, followed by a discussion of the simulation platform and some sample simulation
output.
The algorithm development contains a nice blend of heuristic motivation and formal
derivation. The simulation platform makes good use of many of the new features in Mathematica
3, including mathematical typesetting, user-created palettes, the extendible Mathematica
Help Browser, and the new command DumpSave
for packages.
The bug tracking problem: A small computer bug is traveling around the x-y plane trying to avoid detection.
We can eliminate the bug if we can produce a reasonably accurate approximation to its
trajectory.
We have a bug detecting device that can be pointed at the plane. It can measure the x
and y distances to the bug from where it is pointing if the bug is not too far from
where it is pointing.
The bug does not want to be tracked, so it sends out jamming signals that somewhat
corrupt the bug detecting device's measurements in a random manner. The bug can also
choose to change its trajectory in unexpected ways.
Our task is to create a computer algorithm that uses the bug detecting device to do the following.
- Screen out the measurement noise.
- Point at the bug's most likely next position in the plane.
- Produce an accurate record of the bug's path.
|