-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update gitignore, readme and explanations directory
- Loading branch information
Showing
5 changed files
with
286 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,6 @@ | ||
# Directory provided by Mike X Cohen from Udemy Course | ||
Fourier_intro/ | ||
FourierTransform_course/ | ||
# Extensions from VSCode | ||
.vscode/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,46 @@ | ||
Welcome to my **Deep Learning** repository! 🐒 | ||
# **Fourier Transform Learning Journey** 📊 | ||
|
||
This repository documents my personal journey in learning **Fourier Transform**. It includes practical tools, resources, and notes that I use in my personal projects. The goal of this repository is to provide a collection of useful materials, experiments, and insights for anyone diving into the exciting field of Deep Learning. | ||
Welcome to my **Deep Learning** repository! 🐒 | ||
|
||
This repository serves as a documentation of my personal journey in mastering the **Fourier Transform**, a foundational mathematical tool widely used in engineering, data science, and signal processing. | ||
--- | ||
|
||
## **Overview** 🌟 | ||
|
||
The **Fourier Transform** is a powerful technique that allows us to analyze signals in the frequency domain, revealing how complex signals can be decomposed into simpler sinusoidal components. It has a wide range of applications in fields such as: | ||
|
||
- **Signal Processing**: Filtering, compression, and noise reduction. | ||
- **Data Analysis**: Spectral analysis of time series data. | ||
- **Image Processing**: Compression techniques (e.g., JPEG) and feature extraction. | ||
- **Control Systems**: Stability and frequency response analysis. | ||
- **Audio and Speech**: Equalization, synthesis, and noise cancellation. | ||
|
||
This repository contains structured **notes, tools, and experiments** that I develop as I progress in my studies. | ||
|
||
--- | ||
|
||
## **What You'll Find in This Repository** 📁 | ||
|
||
1. **Learning Notes**: Summaries and explanations of key Fourier Transform concepts. | ||
2. **Practical Tools**: Scripts and utilities for performing Fourier analysis (Matlab/Python-based). | ||
3. **Experiments**: Step-by-step projects that demonstrate the use of Fourier Transform in real-world problems. | ||
|
||
--- | ||
|
||
## **Goals of the Repository** 🎯 | ||
|
||
- To **document my learning process** as I explore the theory and applications of the Fourier Transform. | ||
- To create a **reference hub** for anyone interested in signal and frequency analysis. | ||
- To share **practical implementations** and insights gained through experimentation and personal projects. | ||
|
||
--- | ||
|
||
## **Current Status** 🚧 | ||
|
||
I have started my learning journey with resources like a course on **Udemy**. The focus is currently on building a solid theoretical foundation and gradually moving into practical applications using tools like **Python** and libraries such as: | ||
|
||
- **NumPy**: For numerical analysis. | ||
- **Matplotlib**: For visualizing signals and frequency components. | ||
- **SciPy**: For advanced signal processing tasks. | ||
|
||
## 🐒🍌🐒🍌🐒🍌🐒🍌🐒🍌🐒🍌 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# **The Importance of Complex Numbers in the Fourier Transform** 📈 | ||
|
||
Complex numbers play a **fundamental role** in the Fourier Transform because they allow us to represent oscillations (sinusoids) in a concise and elegant mathematical form. This simplifies both the theory and practical calculations, particularly when analyzing signals in the frequency domain. | ||
|
||
--- | ||
|
||
## **1. Representing Sinusoids Using Complex Numbers** | ||
|
||
The Fourier Transform decomposes a signal into its sinusoidal components. Instead of dealing with separate sine and cosine functions, complex numbers unify these components using the **complex exponential form** of Euler's formula: | ||
|
||
\[ | ||
e^{j\omega t} = \cos(\omega t) + j\sin(\omega t) | ||
\] | ||
|
||
- \( e^{j\omega t} \): A complex exponential representing an oscillation with angular frequency \( \omega \). | ||
- \( j \): The imaginary unit (\( j^2 = -1 \)). | ||
|
||
This compact representation allows us to describe both **cosine** (real part) and **sine** (imaginary part) components simultaneously. | ||
|
||
--- | ||
|
||
## **2. The Fourier Transform and Complex Numbers** | ||
|
||
The **Fourier Transform** of a signal \( f(t) \) is defined as: | ||
|
||
\[ | ||
F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-j\omega t} \, dt | ||
\] | ||
|
||
Here: | ||
- \( e^{-j\omega t} \) serves as a **basis function** for decomposing the signal into frequencies. | ||
- \( F(\omega) \) is the resulting **complex spectrum**, which contains: | ||
- **Amplitude**: The magnitude of each frequency component. | ||
- **Phase**: The shift (angle) of each frequency component. | ||
|
||
The use of complex numbers allows the spectrum \( F(\omega) \) to carry **both amplitude and phase information**, which is essential for accurately reconstructing the original signal. | ||
|
||
--- | ||
|
||
## **3. Why Phase Information Matters** | ||
|
||
The phase tells us how much a sinusoid is **shifted in time** relative to its origin. If we ignored phase, we would lose critical information about the signal's structure. | ||
|
||
For example, a sinusoidal wave with phase shift \( \phi \) can be written as: | ||
|
||
\[ | ||
A \cdot e^{j\phi} = A (\cos(\phi) + j\sin(\phi)) | ||
\] | ||
|
||
Where: | ||
- \( A \): Amplitude. | ||
- \( \phi \): Phase shift. | ||
|
||
The combination of amplitude and phase uniquely describes each frequency component. | ||
|
||
--- | ||
|
||
## **4. Geometric Interpretation of Complex Numbers** | ||
|
||
In the **complex plane**: | ||
- The **real axis** represents the cosine (real) components. | ||
- The **imaginary axis** represents the sine (imaginary) components. | ||
|
||
A complex exponential \( e^{j\omega t} \) can be visualized as a **rotation** around the complex plane. This rotation simplifies the analysis of oscillations in signals. | ||
|
||
--- | ||
|
||
## **5. An Illustrative Example** | ||
|
||
Let’s consider a simple signal: | ||
|
||
\[ | ||
f(t) = \cos(2\pi t) | ||
\] | ||
|
||
Using Euler's formula, the cosine can be rewritten as: | ||
|
||
\[ | ||
\cos(2\pi t) = \frac{e^{j2\pi t} + e^{-j2\pi t}}{2} | ||
\] | ||
|
||
Here: | ||
- \( e^{j2\pi t} \): Represents a **positive frequency** oscillation. | ||
- \( e^{-j2\pi t} \): Represents a **negative frequency** oscillation. | ||
|
||
Thus, the cosine wave is composed of two rotating phasors (complex exponentials) in the frequency domain, one rotating **counterclockwise** (positive frequency) and the other **clockwise** (negative frequency). | ||
|
||
By expressing signals in terms of complex exponentials, the Fourier Transform can efficiently analyze these components, extracting both amplitude and phase. | ||
|
||
--- | ||
|
||
## **6. Why Use Complex Numbers in Fourier Analysis?** | ||
|
||
1. **Mathematical Simplicity**: Complex exponentials unify sine and cosine terms into a single, elegant form. | ||
2. **Compact Representation**: The complex spectrum \( F(\omega) \) captures both amplitude and phase information. | ||
3. **Efficient Calculations**: Many mathematical operations, such as differentiation and integration, are simplified using complex exponentials. | ||
4. **Geometric Insight**: Signals can be visualized as rotations in the complex plane. | ||
|
||
--- | ||
|
||
## **Summary** | ||
|
||
Complex numbers are crucial in the Fourier Transform because they: | ||
- Represent sinusoidal oscillations using a single exponential term \( e^{j\omega t} \). | ||
- Combine both amplitude and phase into a **compact form**. | ||
- Provide a mathematically efficient and geometrically intuitive framework for signal analysis. | ||
|
||
By leveraging complex numbers, the Fourier Transform becomes a powerful tool for understanding the frequency content of signals and reconstructing them accurately. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
# **Euler's Formula and Its Importance** 🍌 | ||
|
||
Euler's formula is a fundamental relationship in mathematics that connects complex exponentials with trigonometric functions. It provides an elegant way to represent oscillations using complex numbers, which is essential for applications like the **Fourier Transform**. | ||
|
||
--- | ||
|
||
## **Euler's Formula** | ||
|
||
Euler's formula states: | ||
|
||
\[ | ||
e^{j\theta} = \cos(\theta) + j\sin(\theta) | ||
\] | ||
|
||
Where: | ||
- \( e \): The base of the natural logarithm (\( e \approx 2.718 \)). | ||
- \( j \): The imaginary unit, where \( j^2 = -1 \). | ||
- \( \theta \): An angle in radians. ⚠️ | ||
- \( \cos(\theta) \): The real part of the expression. | ||
- \( \sin(\theta) \): The imaginary part of the expression. | ||
|
||
This formula shows that a **complex exponential** combines both cosine and sine terms, which are the building blocks of oscillations. | ||
|
||
--- | ||
|
||
## **Geometric Interpretation** | ||
|
||
Euler's formula can be interpreted geometrically in the **complex plane**: | ||
- The complex number \( e^{j\theta} \) represents a point on the unit circle (radius \( 1 \)). | ||
- \( \theta \) is the angle between the point and the positive real axis, measured counterclockwise. | ||
|
||
### **Key Rotations on the Complex Plane** | ||
|
||
| Angle \( \theta \) | \( e^{j\theta} \) | Coordinates in Complex Plane | | ||
|--------------------------|------------------|------------------------------| | ||
| \( 0 \) | \( 1 \) | \( (1, 0) \) | | ||
| \( \frac{\pi}{2} \) | \( j \) | \( (0, 1) \) | | ||
| \( \pi \) | \( -1 \) | \( (-1, 0) \) | | ||
| \( \frac{3\pi}{2} \) | \( -j \) | \( (0, -1) \) | | ||
| \( 2\pi \) | \( 1 \) | \( (1, 0) \) | | ||
|
||
Thus, \( e^{j\theta} \) describes a **rotation** by angle \( \theta \) around the origin in the complex plane. | ||
|
||
--- | ||
|
||
## **Decomposing Cosine and Sine** | ||
|
||
Euler's formula can also be used to derive expressions for cosine and sine in terms of exponentials: | ||
|
||
1. **Cosine**: | ||
\[ | ||
\cos(\theta) = \frac{e^{j\theta} + e^{-j\theta}}{2} | ||
\] | ||
|
||
2. **Sine**: | ||
\[ | ||
\sin(\theta) = \frac{e^{j\theta} - e^{-j\theta}}{2j} | ||
\] | ||
|
||
These formulas are particularly useful in the **Fourier Transform**, where signals are represented as combinations of complex exponentials. | ||
|
||
--- | ||
|
||
## **Example 1: Representing a Cosine Wave** | ||
|
||
Suppose we have the cosine function: | ||
|
||
\[ | ||
f(t) = \cos(2\pi t) | ||
\] | ||
|
||
Using Euler's formula, we can rewrite it as: | ||
|
||
\[ | ||
\cos(2\pi t) = \frac{e^{j2\pi t} + e^{-j2\pi t}}{2} | ||
\] | ||
|
||
This means that a **cosine wave** can be expressed as the sum of two complex exponentials: | ||
- \( e^{j2\pi t} \): A rotating vector in the counterclockwise direction (positive frequency). | ||
- \( e^{-j2\pi t} \): A rotating vector in the clockwise direction (negative frequency). | ||
|
||
--- | ||
|
||
## **Example 2: Rotating a Point on the Unit Circle** | ||
|
||
Let \( \theta = \pi/4 \) (45 degrees). Using Euler's formula: | ||
|
||
\[ | ||
e^{j\frac{\pi}{4}} = \cos\left(\frac{\pi}{4}\right) + j\sin\left(\frac{\pi}{4}\right) | ||
\] | ||
|
||
From trigonometric values: | ||
|
||
\[ | ||
\cos\left(\frac{\pi}{4}\right) = \sin\left(\frac{\pi}{4}\right) = \frac{\sqrt{2}}{2} | ||
\] | ||
|
||
Thus: | ||
|
||
\[ | ||
e^{j\frac{\pi}{4}} = \frac{\sqrt{2}}{2} + j\frac{\sqrt{2}}{2} | ||
\] | ||
|
||
This represents a point on the unit circle at a 45° angle in the complex plane. | ||
|
||
--- | ||
|
||
## **Why Is Euler's Formula Important?** | ||
|
||
1. **Compact Representation**: It unifies cosine and sine into a single exponential function. | ||
2. **Signal Analysis**: Used in the Fourier Transform to represent signals as sums of complex exponentials. | ||
3. **Simplified Math**: Operations like differentiation, integration, and multiplication become much easier with exponentials. | ||
4. **Geometric Insight**: Provides a clear understanding of rotations in the complex plane. | ||
|
||
--- | ||
|
||
## **Summary** | ||
|
||
Euler's formula: | ||
|
||
\[ | ||
e^{j\theta} = \cos(\theta) + j\sin(\theta) | ||
\] | ||
|
||
- Connects trigonometric functions and complex exponentials. | ||
- Represents rotations in the complex plane. | ||
- Allows us to decompose and analyze signals efficiently, particularly in **Fourier analysis**. |