Time shift a signal and save the new signal

6 visualizaciones (últimos 30 días)
fadams18
fadams18 el 21 de Oct. de 2022
Respondida: charan el 19 de Jun. de 2025
I have two signals. one is a clean speech signal and the other is an egg signal.
The speech signal is a bit late. So I want to shift the speech signal to start at the same time as the egg and save this new signal. is that possible?
Ive attached the two signals here. Any insights, and ideas will be appreciated.
  1 comentario
Mathieu NOE
Mathieu NOE el 21 de Oct. de 2022
hello
I am intrigued that you want to shift one and not both signals or maybe (and this is what I would assume) you simply want to remove the same amount of initial samples on both signals
once you have loaded th wav files (with audioread) , you can simply remove the required amount of signals by doing (on both data sets) :
data(1:samples) = []; % samples = Fs*start_time I want

Iniciar sesión para comentar.

Respuestas (1)

charan
charan el 19 de Jun. de 2025
Hi,
If you want to align the signals in time domain you can try using correlation. Using correlation you can find the lag between the signals. Shifting the signal by the same amount (as the measured lag) can align both the signals. You can either pad zeroes to one signal or trim the other. You can use the "xcorr" function in MATLAB to calculate the correlation.

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