How to unfold (spread) vector?

1 visualización (últimos 30 días)
David Hatle
David Hatle el 3 de Mayo de 2016
Comentada: David Hatle el 3 de Mayo de 2016
Hello I have a problem while analysing speech. I am trying to detect pauses. I have calculated envelope of the energy of the signal and autocorrelation of the signal. I have two borders - f and 500 that I am comparing them in code below:
for i = 1:length(speech)
if env_energy(i) == f && corr(i) < 500
%do something
end
end
The problem is that env_energy has 1557230 samples and corr only 648 samples. Can you tell me how to spread corr vector so that it doesn´t exceed matrix dimensions in for loop? Thank you

Respuesta aceptada

CS Researcher
CS Researcher el 3 de Mayo de 2016
Editada: CS Researcher el 3 de Mayo de 2016
You can use interp1. Try this:
newRange = linspace(1, numel(corr), numel(env_energy));
newCorr = interp1(1:numel(corr),corr,newRange);
Hope this helps!

Más respuestas (0)

Categorías

Más información sobre Signal Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by