Matlab - Suma de señales

 
Vista:

Suma de señales

Publicado por Juan Aragón (3 intervenciones) el 06/11/2016 01:53:25
Buen día, soy estudiante universitario y estoy realizando un programa que me permita hacer suma, multiplicación y convolución entre dos señales.

Tengo un problema al sumar dos señales de audio, ya que estas tienen duraciones distintas y al sumarlas obviamente manda un error de matriz.

En teoría la suma de dos señales de audio debería, no se si me este equivocando, pero, un ejemplo sería: Audio_1 que dura 3 seg, y Audio_2 que dura 7 seg. Su suma resultaría en que Audio_1 y Audio_2 los 3 primeros segundos se escuchen los dos y después solo sonaría lo restante de Audio_2 .

Mi pregunta es, como logro hacer esta suma de los dos audios como lo indique arriba o si hay una manera de igualar el tamaño de estas dos señales de audio. Inicialmente tenía esta parte de código pero no corresponde al comportamiento real de una suma de dos señales de audio.

cancion_1='Someb.wav'; %Cancion
[s, fs]=audioread(cancion_1);

cancion_2='polaplus.wav'; %Cancion
[p, fi]=audioread(cancion_2); %Cargar el audio

disp(length(p));
disp(length(s));

% m=min([length(s), length(p)]);
% sum=s(1:m)+p(1:m);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Suma de señales

Publicado por Royeth (1818 intervenciones) el 06/11/2016 02:49:00
la suma la puedes hacer dependiento lo que desees hacer, si es como dices puedes hacer así :

1
2
3
4
5
6
7
cancion_1='Someb.wav'; %Cancion
[s, fs]=audioread(cancion_1);
cancion_2='polaplus.wav'; %Cancion
[p, fi]=audioread(cancion_2); %Cargar el audio
s=vertcat(s,zeros(length(p)-length(s),1));
p=vertcat(p,zeros(length(s)-length(p),1));
suma=s+p;


hay otras formas que se utilizan como llevar el tamaño al mínimo común múltiplo de los dos tamaños, todo depende de para qué la vas a utilizar


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Suma de señales

Publicado por Juan Aragón (3 intervenciones) el 06/11/2016 04:02:42
Muchas gracias por su respuesta Royeth, sin embargo es curioso como se comporto la señal de audio resultante, siendo esta totalmente diferente a las dos señales anteriores, parece como si estuviese su frecuencia dividida por un numero muy grande, ya que se escucha muy lento.

Intentare implementar su segunda sugerencia. La finalidad de este proyecto es ver y escuchar el verdadero comportamiento que tiene sumar dos señales de audio con diferentes tiempos.

Gracias de nuevo, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Suma de señales

Publicado por Royeth (1818 intervenciones) el 06/11/2016 04:12:04
bueno recuerda que son señales discretas y entonces es aquí donde debes verificar si la frecuencia de muestreo en los dos casos es la misma porque es probable que no sea la misma y se te esté presentando ese problemita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Suma de señales

Publicado por Juan Aragón (3 intervenciones) el 06/11/2016 04:38:42
Perfecto, solucionado .. Si era la frecuencia y funciono perfectamente.

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Suma de señales

Publicado por kaira (1 intervención) el 13/01/2020 15:42:25
Como arreglaste lo de la frecuencia??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar