m |
|||
Line 2: | Line 2: | ||
Author: Stone Allen | Author: Stone Allen | ||
− | This project consists primarily of a MATLAB function and complementary Java application. Its objective is to demonstrate the ability of Fourier Series to approximate an arbitrary data set, with increasing precision, and to show the convergence of the Fourier approximation onto the original data. The result is an interactive set of programs which illustrate this convergence geometrically with discrete parametric equations. Users can select a set of two signals, (x(t), y(t)), which are steadily reconstructed using more and more terms of their Fourier Series and displayed graphically via MATLAB. | + | This project consists primarily of a MATLAB function and complementary Java application. Its objective is to demonstrate the ability of Fourier Series to approximate an arbitrary data set, with increasing precision, and to show the convergence of the Fourier approximation onto the original data. The result is an interactive set of programs which illustrate this convergence geometrically with discrete parametric equations. Users can select a set of two signals, (x(t), y(t)), which are steadily reconstructed using more and more terms of their Fourier Series and displayed graphically via MATLAB.<br /> |
+ | [[File:9terms.png|350px]] [[File:33terms.png|350px]] [[File:1251terms.PNG|350px]]<br /> | ||
+ | Full video: [[Media:Hummingbird.avi|Hummingbird.avi]]<br /> | ||
− | + | The MATLAB function performs the following: | |
− | + | * Computes the discrete Fourier Series coefficients (a<sub>1</sub> through a<sub>N</sub>) for X(t) and Y(t) | |
+ | * Begins reconstructing both X(t) and Y(t) using only a<sub>0</sub>, then adds the a<sub>-1</sub> and a<sub>1</sub> complex exponential terms as a pair | ||
+ | * a<sub>-i</sub> and a<sub>i</sub> terms are added in pairs for 1 ≤ i ≤ floor((N - 1) / 2). | ||
+ | * if N even, a<sub>N / 2</sub> term is added at the end | ||
+ | * approximations are periodically graphed, and graphs are compiled into a video, which is displayed onscreen (and saved) | ||
+ | The Java Application allows the user to create graphical parametric datasets and save them for use with the MATLAB script. Its use is fairly straightforward. | ||
[[2018_Fall_ECE_301_Boutin | Back to ECE 301, Fall 2018]] | [[2018_Fall_ECE_301_Boutin | Back to ECE 301, Fall 2018]] |
Revision as of 21:47, 11 November 2018
Convergence of Parametric Fourier Series Approximations
Author: Stone Allen
This project consists primarily of a MATLAB function and complementary Java application. Its objective is to demonstrate the ability of Fourier Series to approximate an arbitrary data set, with increasing precision, and to show the convergence of the Fourier approximation onto the original data. The result is an interactive set of programs which illustrate this convergence geometrically with discrete parametric equations. Users can select a set of two signals, (x(t), y(t)), which are steadily reconstructed using more and more terms of their Fourier Series and displayed graphically via MATLAB.
Full video: Hummingbird.avi
The MATLAB function performs the following:
- Computes the discrete Fourier Series coefficients (a1 through aN) for X(t) and Y(t)
- Begins reconstructing both X(t) and Y(t) using only a0, then adds the a-1 and a1 complex exponential terms as a pair
- a-i and ai terms are added in pairs for 1 ≤ i ≤ floor((N - 1) / 2).
- if N even, aN / 2 term is added at the end
- approximations are periodically graphed, and graphs are compiled into a video, which is displayed onscreen (and saved)
The Java Application allows the user to create graphical parametric datasets and save them for use with the MATLAB script. Its use is fairly straightforward.