Well, I do really have a simple question that i have been looking around for a good answer to.
I have a function z which is a result from convoluting an impulse repsone function h, and y taking from an audio signal.
[y,Fs] = audioread('Test1.wav');
%sound(y,Fs)
delay=0.8*Fs; %Delay
attenuation_factor=0.4;
h1=zeros(1,delay+1);%Impulse
h1(delay+1)=attenuation_factor; %Impulse at delay
h1(1)=1;
z=conv(y,h1); %Convolution
I want to limit the values of z to be only between 0 and 3 seconds; so i can output the sound and plot it later on.
-------
-------
subplot(4,1,2);
t_z=(0:numel(z)-1)/Fs;
plot(t_z,z)
ylabel('Orginal with Echo')
xlabel('time')
sound(z,Fs);
I have tried using Xlim and Xmax method, but couldnot figure it out the best
z(z < numel(Fs) |z > 0) = [];

 Réponse acceptée

Voss
Voss le 13 Mai 2022
truncated_z = z(t_z <= 3);

2 commentaires

Thank you so much!
Voss
Voss le 13 Mai 2022
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Signal Processing Toolbox dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by