← Back to Projects

Fourier Decomposition

Final Project

To be continued upon completion of MAT237: Multivariable Calculus with Proofs

Project Description

Objective

Take a series of coordinates that represent some function of frequency over time on the interval [0, 1]. Then, decompose this input into various sinusoidal functions whose sum approximate the coordinates to a high degree of accuracy.

Checkpoint 1

Manually create a function that is the sum of sinusoidal functions over [0, 1] , take 50–100 of its coordinates to give to the program.

Expected Output: Exact same sinusoidal functions back.

Past this checkpoint, the objective is to generalize this over any finite interval [a, b].

Checkpoint 2

Same as checkpoint 1, except the function should be over some large finite interval (e.g. [4, 104]).
Moreover, during the generalization to [a, b], the project should also seek to develop a Spectral Filtering algorithm.

Checkpoint 3

Record audio, overlay noise over it such that it is unintelligible. Let g(t) represent this noise function as a function of frequency over time.

Expected Output: Given the noise function, the program can filter out the noise such that the original audio is produced.

Future objectives are past the scope of my current knowledge in mathematics and will be revisited upon completion of the first objectives or after 2nd year Multivariable Calculus (MAT237Y).

Project Blog

June 24, 2025

This session, I generalized my program to work over any interval [a, b]. Because this only took a few minutes, I did not record a video, but I have attached my result in this blog.

June 15, 2025

This session, I programmed the decomposition method and tested the algorithm on various functions. In the meantime, I also created helper functions to make the output more readable. Below is an image of an approximation for a polynomial on [0, 1]:

Aprox. of a polynomial using
             fourier decomposition
June 14, 2025

This session, I programmed the function class and successfully coded the integral calculator method.

June 12, 2025

This is my first day working on this project. The goal of this session was to make a realistic plan of action and outline the objectives of this project.
The objectives of this project were written

Components Needed

  • Function representation (object to store all input coordinates)
  • Computational calculator for inner product to produce coefficients of Fourier basis
  • Function visualizer (matplotlib)

Action Plan

  • Create class/object to store all input coordinates
  • Create function that inputs the coordinate-collection object and some sinusoidal function and outputs the integral of their product over [0, 1]
  • Create a function that computes the first n coefficients for the functions in the Fourier basis
  • Test Checkpoint 1
  • Generalize to [a, b]
  • Test Checkpoint 2
  • Write Report 1
  • Develop theory for Spectral Filtering
DATE

CONTENT