Skip to content

Implementing a convolution function from scratch and analyzing an LTI system by adding noise and echo to an audio signal, with detailed plots and results provided.

Notifications You must be signed in to change notification settings

fardinabbasi/Signal_Processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signal Processing

Part 1: Implementing Convolution Function From Scratch

Here is a plot of the result of the convolution between x and y with both the built-in and Scratch functions.

$x = [2,-2,7,-3,2,4,-6,1]$

$y = [5,2,4,-6,5,1,-8,0,7,2,9]$

Part 2: Analysis of an LTI System

Adding Noise and Echo to a Reading of Persian Poetry.

Sampling

This Audio was read at 44,100Hz using imread( ) function. The plot below represents the audio signal with respect to time.

Adding Echo

In order to create an echo effect, a new signal is defined as follows.

$y[n] = x[n] + \alpha x[n-n_0]$

For a desired 1-second delay, we set the delay parameter as $n_0 = F_s = 44100$, and the attenuation factor as $\alpha = 0.9$, ensuring that the echo signal retains 81% of the energy present in the original signal.

Below is a plot showing the echo signal.

Adding Noise

The noisy signal is generated by adding the echo signal to a noise signal, where the noise has a maximum amplitude of 10% of the maximum amplitude of the echo signal. The noise is generated using the randn( ) function.

Below is a plot showing the noisy signal.

Course Description

About

Implementing a convolution function from scratch and analyzing an LTI system by adding noise and echo to an audio signal, with detailed plots and results provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages