A comprehensive collection of signal processing implementations including Fourier Transforms, Laplace Transforms, and system analysis.
- Fourier Transform Analysis
- Laplace Transform Implementations
- System Response Calculations
- Signal Visualization Tools
- Linear Time-Invariant Systems
# Clone the repository
git clone https://github.com/Ivyson/Signals-Pamphile.gitCheck out the pyproject File for the libraries needed for this module, use uv to install the required packages instead of pip
.
├── Examples
│ ├── ConvCT.png
│ ├── Cosine.png
│ ├── DFT.py
│ ├── FourierMagnitude.py
│ ├── Laplace-Transform.py
│ ├── RC.py
│ └── Z-Transform.py
├── FISA
│ ├── ConvolutionCT.ipynb
│ ├── ConvolutionCT.png
│ ├── Laplace_Transform.ipynb
│ ├── LTI.ipynb
│ ├── Q1.ipynb
│ ├── Q1.png
│ ├── Question5.ipynb
│ ├── RectangularWave.ipynb
│ ├── RectangularWave.png
│ ├── RL.ipynb
│ ├── RL.png
│ ├── Shekhinah2.ipynb
│ ├── Shekhinah.ipynb
│ ├── Switchedcosine copy.ipynb
│ ├── Switchedcosine.ipynb
│ ├── Switchedcosine.png
│ ├── Transfer.png
│ └── TrasnferFunction.ipynb
├── pyproject.toml
├── README.md
├── Test 1 A
│ ├── Images
│ │ ├── Q1.png
│ │ ├── Q2.png
│ │ ├── Q3.png
│ │ ├── Q4.png
│ │ ├── Q5.png
│ │ ├── Q6.png
│ │ ├── Q7.png
│ │ └── Q9.png
│ ├── Q1.ipynb
│ ├── Q2.ipynb
│ ├── Q3.ipynb
│ ├── Q4.ipynb
│ ├── Q5.ipynb
│ ├── Q6.ipynb
│ ├── Q7.ipynb
│ └── Q9.ipynb
├── Test 1 B
│ ├── Images
│ │ ├── Q2.png
│ │ ├── Q3.png
│ │ ├── Q4.png
│ │ ├── Q5.png
│ │ ├── Q6.png
│ │ ├── Q8.1.png
│ │ ├── Q8.2.png
│ │ └── Q8Conv.png
│ ├── Q2.ipynb
│ ├── Q3.ipynb
│ ├── Q4.ipynb
│ ├── Q5.ipynb
│ ├── Q6.ipynb
│ └── Q8.ipynb
├── Test 1 C
│ ├── Images
│ │ ├── Q1.png
│ │ ├── Q2.png
│ │ ├── Q3.png
│ │ ├── Q4.png
│ │ ├── Q5A.png
│ │ ├── Q5B.png
│ │ ├── Q6.png
│ │ ├── Q7.png
│ │ ├── Q8.png
│ │ └── Q9.png
│ ├── Q1.ipynb
│ ├── Q2.ipynb
│ ├── Q3.ipynb
│ ├── Q4.ipynb
│ ├── Q5.ipynb
│ ├── Q6.ipynb
│ ├── Q7.ipynb
│ ├── Q8.ipynb
│ └── Q9.ipynb
├── Test 2 A
│ ├── Images
│ │ ├── Q1.png
│ │ ├── Q2.png
│ │ ├── Q3.png
│ │ ├── Q4.png
│ │ └── Q5.png
│ ├── Q1.ipynb
│ ├── Q2.ipynb
│ ├── Q3.ipynb
│ ├── Q4.ipynb
│ └── Q5.ipynb
├── Test 2 B
│ ├── image.png
│ ├── Q1.ipynb
│ ├── Q2.ipynb
│ ├── Q3.ipynb
│ ├── Q3.png
│ ├── Q3.py
│ ├── Q4.ipynb
│ ├── Q4.png
│ ├── Q5.ipynb
│ ├── Q5.png
│ └── Q5.py
├── Test 2 C
│ ├── Q1.ipynb
│ ├── Q1.png
│ ├── Q2.ipynb
│ └── Q2.png
└── uv.lock
13 directories, 102 files- Do not use Heaviside to create Switch function your input functions,instead use Piecewise, because it is much easier to integrate Piecewise functions compared to Heaviside(as far as
sympyis concerned). - Sketch the graph for every question to ensure the correspondence of Data.
- For discrete convolution, remember the formula : convolution lenght = len(x) + len(h) - 1 a. The first element returned in the convolution array is having an index of: lowerboundindex(x) + lowerboundindex(h).
- For convolution in the Continious Time Domain.
1. Sketch both graphs indivisually for checking the correspondence of the data.
2. Do not use
sm.Heavisidefor defining unit step function, just usesm.Piecewise3. Sketch both graphs on the same set of Axis to visualise the over-lap, shift the graph as stated in the question, and then integrate using the following approach.
For frequency domain analysis with input voltage
- Magnitude:
$|H \left(j \omega \right)| = \frac{1}{\sqrt{1 + (\omega RC)^2}}$ - Phase:
$\phi( \omega ) = -\tan^{-1}(\omega RC)$ - Corner Frequency:
$f_c = \frac{1}{2\pi RC}$
- Magnitude:
$|H(j\omega)| = \frac{ωL}{\sqrt{R^2 + (ωL)^2}}$ - Phase:
$\phi(\omega) = \tan^{-1} \left(\frac{R}{ \pi L} \right)$ - Corner Frequency:
$f_c = \frac{R}{2 \pi L}$