How can i add echo to a signal

5 views (last 30 days)
Ijeoma Madu
Ijeoma Madu on 1 Dec 2012
I want to add echo to a signal
load handel
how do i add echo to this
  3 Comments
Henry  Solderless
Henry Solderless on 30 Nov 2018
also if you want you can define the vector (1:size)

Sign in to comment.

Answers (3)

Vieniava
Vieniava on 1 Dec 2012
load handel;
echo_delay = 0.5; % in seconds
echo_delay_s = round(echo_delay*Fs); % delay in samples
echo_gain = 0.1; % to control a linear gain of an echo
y_echoed = y + [zeros(echo_delay_s-1, 1); y(echo_delay_s:end)];
  3 Comments
Perturabo
Perturabo on 8 Feb 2019
I have to make an echo generator too but the instructions say nothing about the phase difference; Just input, Fs,delay and gain. When i test it on various inputs it just says
Variable output must be of size [10820 1]. It is currently of size [73113 1]. Check where the variable is assigned a value
When using the above function.
Priyamvada Shankar
Priyamvada Shankar on 24 Mar 2019
@Perturabo please tell me, if you get the correct code.. I'm too stuck in this situation..so please help

Sign in to comment.


Vieniava
Vieniava on 2 Dec 2012
Edited: Vieniava on 2 Dec 2012
For example: to add an echo after 1s (with amplitude=0.1, phase=pi/3.5) and echo after 1.5 seconds (with a=0.5 and phase=1.2*pi) you can use the following code:
echo_vector=[1 zeros(1,Fs) ...
0.1*exp(1i*pi/3.5) zeros(1,1.5*Fs) ...
0.5*exp(1i*1.2*pi) ];
yecho=real(conv(y,echo_vector);
Using echo_vector that way you have full control of an echo creation.

Julia Esposito
Julia Esposito on 30 Nov 2017
How can I load an audio file and use a GUI to make it echo?

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!