Skip to content

Commit

Permalink
Update structure
Browse files Browse the repository at this point in the history
  • Loading branch information
vboutrou committed Jan 16, 2024
1 parent c003bcd commit a4e2322
Show file tree
Hide file tree
Showing 11 changed files with 98 additions and 130 deletions.
Binary file added Images/image_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/image_10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/image_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/image_7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/image_8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/image_9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
224 changes: 98 additions & 126 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,126 +1,98 @@
# Fourier Analysis
[![View Fourier Analysis on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/106725-fourier-analysis) or [![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=FourierAnalysis.prj)

**Curriculum Module**
_Created with R2021b. Compatible with R2021b and later releases._

## Description ##
This curriculum module teaches Fourier analysis using interactive [live scripts](https://www.mathworks.com/products/matlab/live-editor.html) and [MATLAB® apps](https://www.mathworks.com/products/matlab/app-designer.html). The module is taught from a signal processing perspective at a level suitable for an introductory signals and systems course. In the first lesson, students use apps to visualize Fourier series and build intuition about the frequency domain. In subsequent lessons, students study complex Fourier series, Fourier transforms, and discrete Fourier transforms. As students progress, they transition from utilizing apps to writing their own code to analyze signals. Throughout the module, students apply Fourier techniques to analyze recorded audio signals.

Each topic includes a lab that applies the concepts taught in the lesson. The solutions are available upon instructor request. If you would like to request solutions or have a question, contact the <a href="mailto:[email protected]">MathWorks online teaching team.</a>

Get started with the Fourier Analysis curriculum module by downloading and unzipping the repository. Then, double-click the project .prj file inside MATLAB. From there, you can follow the landing page instructions to get started with the examples and labs.

## Details ##

<table style="vertical-align:top">
<tr>
<th>Module</th>
<th>Learning Goals</th>
</tr>
<tr>
<td>
<b>1. Fourier Series</b><br><br>
<img width="500" src="./Images/FourierSeriesCover.png" style="margin:10px" >
</td>
<td>
<ul>
<li>Compare signals in the time and frequency domains.</li>
<li>Analyze audio signals in the frequency domain.</li>
<li>Visualize Fourier series modes.</li>
<li>Describe how phase shift is represented in a Fourier series.</li>
<li>Discuss magnitude and phase.</li>
</ul>
</td>
</tr>
<tr>
<td>
<b>2. Complex Fourier Series</b><br><br>
<img width="500" src="./Images/ComplexSeriesCover.png" style="margin:10px" >
</td>
<td>
<ul>
<li>Recall Euler's formula.</li>
<li>Compare complex and real Fourier series.</li>
<li>Visualize complex Fourier series.</li>
<li>Construct functions using complex Fourier series.</li>
</ul>
</td>
</tr>
<tr>
<td>
<b>3. Fourier Transform</b><br><br>
<img width="500" src="./Images/FourierTransformCover.png" style="margin:10px" >
</td>
<td>
<ul>
<li>Compare Fourier series to the Fourier transform.</li>
<li>Evaluate the Fourier transform of a function.</li>
<li>Represent signals using continuous functions.</li>
<li>Discuss carrier waves and modulation.</li>
<li>Compare functions in the time and frequency domains using the Fourier transform.</li>
</ul>
</td>
</tr>
<tr>
<td>
<b>4. Discrete Fourier Transform</b><br><br>
<img width="500" src="./Images/DFTCover.png" style="margin:10px" >
</td>
<td>
<ul>
<li>Plot the discrete Fourier transform (DFT).</li>
<li>Use the fft function to compute the DFT.</li>
<li>Relate the DFT to the Fourier transform.</li>
<li>Apply the DFT to analyze an audio signal.</li>
</ul>
</td>
</tr>
</table>

## Apps ##
<table border=1 style="margin-left:20px; cellpadding:15px;">
<tr>
<td style="Horizontal-alignment:center;">
Sine and Cosine Series
<br>
<img src = "./Images/SinCosSeriesApp.png" width=300 style="margin-top:5px; margin-bottom:0px;">
</td>
<td style="Horizontal-alignment:center;">
Fourier Series
<br>
<img src = "./Images/FourierSeriesApp.png" width=300 style="margin-top:5px; margin-bottom:0px;">
</td>
</tr>
<tr>
<td style="Horizontal-alignment:center;">
Magnitude and Phase
<br>
<img src = "./Images/MagPhaseApp.png" width=300 style="margin-top:5px; margin-bottom:0px;">
</td>
<td style="Horizontal-alignment:center;">
Complex Fourier Series
<br>
<img src = "./Images/ComplexSeriesApp.png" width=300 style="margin-top:5px; margin-bottom:0px;">
</td>
</tr>
</table>

## Suggested Prework ##
[MATLAB Onramp](https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted) – a free two-hour introductory tutorial that teaches the essentials of MATLAB.

## Products ##
MATLAB, Symbolic Math Toolbox&trade;

## License ##
The license for this module is available in the [LICENSE.md](LICENSE.md) file in this GitHub repository.

## Educator Resources ##
* [Featured Courseware](https://www.mathworks.com/academia/courseware/course-materials.html)
* [Teach with MATLAB and Simulink](https://www.mathworks.com/academia/educators.html)
* [MATLAB Grader](https://www.mathworks.com/products/matlab-grader.html)


# #

_Copyright 2022 The MathWorks, Inc._

<a name="T_DEF03274"></a>

# <span style="color:rgb(213,80,0)">Fourier Analysis</span>
<a name="H_053613DF"></a>


[![View on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/106725-fourier-analysis) or [![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj)

**Curriculum Module**

_Created with R2021b. Compatible with R2021b and later releases._

# Information

This curriculum module contains interactive [MATLAB® live scripts](https://www.mathworks.com/products/matlab/live-editor.html) and [MATLAB® apps](https://www.mathworks.com/products/matlab/app-designer.html) that teaches fundamental concepts of fourier analysis.

<a name="H_F00D98E4"></a>

## Background

The module is taught from a signal processing perspective at a level suitable for an introductory signals and systems course. In the first lesson, students use apps to visualize Fourier series and build intuition about the frequency domain. In subsequent lessons, students study complex Fourier series, Fourier transforms, and discrete Fourier transforms. As students progress, they transition from utilizing apps to writing their own code to analyze signals. Throughout the module, students apply Fourier techniques to analyze recorded audio signals.


The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the <img src="Images/image_0.png" width="19" alt="image_0.png"> Stop button in the **RUN** section of the **Live Editor** tab in the MATLAB Toolstrip.


## Contact Us

Solutions are available upon instructor request. Contact the [MathWorks teaching resources team](mailto:[email protected]) if you would like to request solutions, provide feedback, or if you have a question.

<a name="H_30BC7141"></a>

## Prerequisites

This module assumes minimal MATLAB knowledge required for these scripts, but you could use [MATLAB Onramp](https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted) as a resource to acquire familiarity with live scripts and MATLAB syntax.

<a name="H_330E72C3"></a>

## Getting Started
### Accessing the Module
### **On MATLAB Online:**

Use the [<img src="Images/image_1.png" width="136" alt="image_1.png">](http://openmatlabonlineroot.com) link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.

### **On Desktop:**

Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double\-click on [PROJECTNAME.prj](matlab: openProject("PROJECTNAME.prj")). It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.


Ensure you have all the required products ([listed below](#H_E850B4FF)) installed. If you need to include a product, add it using the Add\-On Explorer. To install an add\-on, go to the **Home** tab and select <img src="Images/image_2.png" width="16" alt="image_2.png"> **Add-Ons** > **Get Add-Ons**.

<a name="H_E850B4FF"></a>

## Products

MATLAB®, Symbolic Math Toolbox™

<a name="H_E8C62B23"></a>

# Scripts

*If you are viewing this in a version of MATLAB prior to R2023b, you can view the learning outcomes for each script* [*here*](https://www.mathworks.com/matlabcentral/fileexchange/106725-fourier-analysis)

## [**FourierSeries.mlx**](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=FourierSeries.mlx)
| | **In this script, students will...** | **Lab Assignments** |
| :-- | :-- | :-- |
| <img src="Images/FourierSeriesCover2.png" width="267" alt="FourierSeriesCover2.png"> |<br>- Compare signals in the time and frequency domains. <br>- Analyze audio signals in the frequency domain. <br>- Visualize Fourier series modes. <br>- Describe how phase shift is represented in a Fourier series. <br>- Discuss magnitude and phase. | [Lab1\_FourierSeries.mlx](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=Lab1_FourierSeries.mlx) |

## [**ComplexFourierSeries.mlx**](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=ComplexFourierSeries.mlx)
| | **In this script, students will...** | **Lab Assignments** |
| :-- | :-- | :-- |
| <img src="Images/ComplexSeriesCover2.png" width="267" alt="ComplexSeriesCover2.png"> |<br>- Compare signals in the time and frequency domains. <br>- Analyze audio signals in the frequency domain. <br>- Visualize Fourier series modes. <br>- Describe how phase shift is represented in a Fourier series. <br>- Discuss magnitude and phase. | [Lab2\_ComplexFourierSeries.mlx](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=Lab2_ComplexFourierSeries.mlx) |

## [**FourierTransform.mlx**](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=FourierTransform.mlx)
| | **In this script, students will...** | **Lab Assignments** |
| :-- | :-- | :-- |
| <img src="Images/FourierTransformCover2.png" width="267" alt="FourierTransformCover2.png"> |<br>- Compare signals in the time and frequency domains. <br>- Analyze audio signals in the frequency domain. <br>- Visualize Fourier series modes. <br>- Describe how phase shift is represented in a Fourier series. <br>- Discuss magnitude and phase. | [Lab3\_FourierTransform.mlx](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=Lab3_FourierTransform.mlx) |

## [**DiscreteFourierTransform.mlx**](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=DiscreteFourierTransform.mlx)
| | **In this script, students will...** | **Lab Assignments** |
| :-- | :-- | :-- |
| <img src="Images/DFTCover2.png" width="267" alt="DFTCover2.png"> |<br>- Compare signals in the time and frequency domains. <br>- Analyze audio signals in the frequency domain. <br>- Visualize Fourier series modes. <br>- Describe how phase shift is represented in a Fourier series. <br>- Discuss magnitude and phase. | [Lab4\_DFT.mlx](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Fourier-Analysis&project=fourier-analysis.prj&file=Lab4_DFT.mlx) |

# Apps
| Sine and Cosine Series app | Fourier Series app | Magnitude and Phase app | Complex Fourier Series app |
| :-- | :-- | :-- | :-- |
| <img src="Images/image_7.png" width="186" alt="image_7.png"> | <img src="Images/image_8.png" width="186" alt="image_8.png"> | <img src="Images/image_9.png" width="186" alt="image_9.png"> | <img src="Images/image_10.png" width="185" alt="image_10.png"> |


# Educator Resources
- [Educator Page](https://www.mathworks.com/academia/educators.html)


Copyright 2023 The MathWorks™, Inc



Binary file modified README.mlx
Binary file not shown.

This file was deleted.

This file was deleted.

0 comments on commit a4e2322

Please sign in to comment.