Filter löschen
Filter löschen

Use only a certain range of values for a function

1 Ansicht (letzte 30 Tage)
Abdelrhman Abdelfatah
Abdelrhman Abdelfatah am 13 Mai 2022
Kommentiert: Voss am 13 Mai 2022
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) = [];

Akzeptierte Antwort

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

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by