Eliminar tendencias de datos
R2026bLas señales medidas pueden mostrar patrones generales que no son intrínsecos a los datos. En ocasiones, estas tendencias pueden dificultar el análisis de los datos, por lo que deben eliminarse.
Considere dos señales de electrocardiograma (ECG) con tendencias distintas. Las señales de ECG son sensibles a alteraciones como interferencias de la fuente de alimentación. Cargue las señales y represéntelas.
load("ecgSignals.mat") t = (1:length(ecgl))'; tiledlayout("flow") nexttile plot(t,ecgl) grid on title("ECG Signals with Trends") ylabel("Voltage (mV)") nexttile plot(t,ecgnl) grid on xlabel("Sample Number") ylabel("Voltage (mV)")

La señal en la primera gráfica muestra una tendencia lineal. La tendencia en la segunda señal es no lineal. Para eliminar la tendencia lineal, utilice la función de MATLAB® detrend.
dt_ecgl = detrend(ecgl);
Para eliminar la tendencia no lineal, ajuste a la señal un polinomio de orden bajo y réstelo. En este caso, el polinomio es de orden 6. Represente las dos nuevas señales.
opol = 6; [p,s,mu] = polyfit(t,ecgnl,opol); f_y = polyval(p,t,[],mu); dt_ecgnl = ecgnl - f_y; tiledlayout("flow") nexttile plot(t,dt_ecgl) grid on title("Detrended ECG Signals") ylabel("Voltage (mV)") nexttile plot(t,dt_ecgnl) grid on xlabel("Sample Number") ylabel("Voltage (mV)")

Las tendencias se han eliminado de forma efectiva. Observe cómo las señales ya no muestran un cambio de partida. Se pueden seguir procesando.