Filtre el ruido usando MATLAB para incluirlo en LTspice

He medido un voltaje y necesito incluir el archivo .txt en mi simulación LTSpice. Antes de hacer eso, primero quiero filtrar el ruido que terminé midiendo (vea la figura a continuación).

ingrese la descripción de la imagen aquí

¿Cómo puedo hacer eso usando MATLAB?

¿Qué quieres decir con "eliminar el ruido"? Si quiere decir "filtrar" usando un filtro de paso bajo, entonces el ruido solo se atenuará, no se eliminará por completo. Busque filtrado FIR con MATLAB en google o Stackoverflow. Si realmente espera tener un pulso ultra limpio sin ningún ruido, entonces puede ser mucho más fácil volver a dibujar la curva "a mano" dada su simplicidad.
@Blup1980 como se puede ver en la figura, tengo pequeñas oscilaciones que me refiero a ruido de culo. Comprobaré el filtrado FIR, gracias :). Esta figura es simple, de hecho. Sin embargo, tengo otras medidas de tensión que oscilan mucho más y en las que se pueden ver las oscilaciones espurias (a las que llamo ruido).

Respuestas (2)

Entonces, lo que buscas es filtrar. Sin embargo, está en una muy buena posición ya que tiene el conjunto completo de datos y no necesita realizar un filtrado "en tiempo real".

El filtrado en "tiempo real" usando FIR e IIR es bueno, pero introduce errores ya que son causales y estos errores suelen estar relacionados con la ganancia y la fase.

Con el conjunto de datos completo, tiene a su disposición una variedad de métodos de posprocesamiento "fuera de línea" que no podría realizar por completo en tiempo real.

  1. filtrarfiltrar Este tipo de filtrado filtra hacia adelante y hacia atrás para mitigar el cambio de fase que los filtros suelen introducir: https://www.mathworks.com/help/signal/ref/filtfilt.html

  2. Filtros Savitzky-Golay Un filtro avanzado de seguimiento de mínimos cuadrados ponderados que es extremadamente efectivo para extraer las características subyacentes al proporcionar efectos de tipo transitorio más bajos. https://www.mathworks.com/help/signal/ref/sgolayfilt.html

  3. Kalman filtra un filtro de tipo acausal que usa "mirar hacia adelante" para extraer la verdadera tendencia subyacente https://www.mathworks.com/help/control/ug/kalman-filtering.html

  4. Perfect Sinc filter Una forma de onda sinc que coincide con la longitud de los datos completos es un verdadero filtro de "pared de ladrillos" https://www.mathworks.com/matlabcentral/fileexchange/42956-sinc-filter

Mi favorito personal es el filtro SavGol

t= linspace(0,1e-3,10000);
y = zeros(10000,1);
y(t> 100e-6 & t < 300e-6) = 10;
y = y + rand(10000,1);

Ysav = sgolayfilt(y, 5, 9);
Y1stord = lowpass(y,1000,1/t(2));

figure;
plot(t,y);
hold;
plot(t,Ysav);
plot(t,Y1stord)

legend('raw data','SavGol filter','1st order LPF');

Básicamente, desea filtrar, pero no necesita restringirse al LPF clásico (filtrado de tipo FIR, IIRC, RC) ya que tiene el conjunto de datos completo y, por lo tanto, más oportunidades disponibles.

ingrese la descripción de la imagen aquí

Muy bien. Como EE, obviamente salto de inmediato a un sistema causal que es LTI, olvidando las ventajas de tener acceso a las muestras "futuras" y el uso de un enfoque no causal que es mucho más adecuado aquí. malos hábitos....
Gracias por tu respuesta, me ayudó mucho. Sin embargo, tengo otra pregunta, traté de calcular automáticamente (usando MATLAB) los tiempos de subida y bajada de la siguiente señal. Sin embargo, cada vez que uso las funciones de MATLAB predefinidas, obtengo valores de 19 y 23, respectivamente. Sabiendo eso, mi escala de tiempo es en milisegundos...

Esas "pequeñas oscilaciones" que te refer to as noiseparecen sospechosamente parecidas al ruido de cuantización . Si este es el caso, considere una revisión de su configuración de adquisición de datos. Es posible que pueda reducir significativamente la amplitud de estas "pequeñas oscilaciones" simplemente aumentando la resolución de su ADC (como la profundidad de bits), la ganancia del amplificador de señal o lo que sea que sirva para disminuir el parámetro de voltios por nivel. Incluso si la configuración de adquisición de datos está fuera de su control, conocer el origen de las distorsiones no deseadas que la medición agrega a su señal es de gran ayuda para diseñar los procedimientos de supresión de ruido, como el filtrado o el ajuste de datos.