Antecedentes: el software que uso para analizar mis señales es matlab. Tengo dos señales de audio que se grabaron con dos sensores magnéticos. Llamemos a un sensor A y al otro B. A y B tienen inductancia mutua entre ellos.
Mientras los sensores A y B funcionan, me gustaría restar la información que se recibió en el sensor A debido a la inductancia mutua del sensor B.
Traté de restar la señal B de la señal A, simplemente escribiendo en matlab (AB), pero me da una respuesta extraña. Creo que se deriva de un cambio que tengo en fase. El tiempo de inicio de grabación de las dos pistas es el mismo y, por lo tanto, creo que no es un retraso de tiempo.
Me gustaría saber cómo hacer este proceso de resta en teoría, y si alguien tiene algún consejo sobre cómo implementarlo fácilmente en matlab, me gustaría saberlo.
Realmente agradeceré cualquier ayuda.
Gracias por adelantado.
A continuación adjunto imágenes de los gráficos de señales. En la primera imagen puede ver las señales que se reciben del sensor A y el sensor B. En la segunda imagen, tracé el sensor A en rojo y el sensor B en azul, en el rango de 2.12: 2.16 y amplié aún más.
Respuestas:
Eso parece un problema directo de conversación cruzada. No puede simplemente restar la señal directamente ya que el acoplamiento magnético es diferente para cada frecuencia (en términos de amplitud y fase).
Digamos que tiene dos señales de audio xa (t) y xb (t) y dos señales de sensor ya (t) y yb (t). Dado que hay un acoplamiento entre los sensores, obtendrá una conversación cruzada y podemos escribir en el dominio de frecuencia
donde Hxy (w) es la función de transferencia de la señal "x" a la señal del sensor "y". Las 4 funciones de transferencia forman una matriz de 2x2 y, para recuperar completamente las señales originales, debe invertir la matriz y aplicar las funciones de transferencia de la matriz invertida a sus señales de sensor recibidas.
Como su interferencia es pequeña, simplemente puede medir la función de transferencia Hba (w) directamente y restarla de la siguiente manera: Mida la función de transferencia de la señal A al sensor B cuando la señal B es 0. Cree un filtro a partir de esta función de transferencia ( FIR o IIR, dependiendo de su forma). Ahora puede medir y restar una versión filtrada de la señal del sensor A de la señal del sensor B:
donde hab (t) es la respuesta de impulso de su filtro de conversación cruzada y ** el operador de convolución.
El filtro de conversación cruzada representa la amplitud y el cambio de fase en función de la frecuencia de su acoplamiento de sensor específico y asegura que se reste la señal correcta.
fuente
Esto suena como una separación ciega de la fuente . En general, no puedes mezclar cosas después de que se hayan mezclado. Si tiene dos grabaciones diferentes de dos fuentes con algunas de cada fuente en cada grabación, a veces puede usar análisis de componentes independientes para separarlas.
Tengo un ejemplo de Python aquí . También hay FastICA para MATLAB . Si son señales de audio, que se recogen magnéticamente, probablemente no haya un retraso apreciable entre ellas. ICA funciona bien en este caso.
fuente