Saltar al contenido principal
LibreTexts Español

4.8: Fondo- Filtrado con un Promedio Funcional Ponderado

  • Page ID
    151784
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    La ventaja del enfoque de promedio corriente para el filtrado es que es realmente fácil ver por qué reduce las fluctuaciones de alta frecuencia: Cualquier pequeño “uppies y downies” dentro del conjunto de puntos que se promedien juntos se cancelarán entre sí. Imagine que aplicamos un filtro de promedio corriente al EEG sin procesar, usando un ancho promedio de ejecución de 50 ms (por ejemplo, 5 puntos a cada lado del punto actual si tenemos un punto cada 5 ms). Si el EEG tiene una onda sinusoidal de 20 Hz, habrá exactamente un ciclo de la onda sinusoidal en 50 ms, y los lados positivo y negativo de la onda sinusoidal se cancelarán entre sí.

    La desventaja del filtro promedio de funcionamiento es que es un poco crudo. Imagina que teníamos un filtro promedio de 101 puntos (el número siempre es impar porque tenemos el punto actual más un número igual de puntos a cada lado). El valor filtrado en el punto de tiempo t estaría tan influenciado por el punto temporal t-50 como por el punto t-1. En lugar de dar igual peso a todos los 101 puntos, tendría más sentido darle mayor peso a los puntos cercanos que a los puntos más distantes. Eso en realidad es bastante fácil de hacer.

    Este enfoque de promedio ponderado para el filtrado se ilustra en la Figura 4.3. Comenzamos definiendo una función de ponderación, que indica cuánto peso tendrá cada uno de los puntos de tiempo circundantes. Por ejemplo, en lugar de tener un promedio lineal de 7 puntos en el que cada uno de los 7 puntos tenga el mismo peso, la función de ponderación de 7 puntos que se muestra en la Figura 4.3 le da el mayor peso al punto actual, y luego los pesos caen por puntos más distantes. El valor filtrado en el tiempo t se calcula tomando cada uno de los 7 puntos (t-3 a t+3), multiplicando el valor no filtrado en cada punto por el valor correspondiente de la función de ponderación, y la suma de estos valores ponderados.

    Figura 4.3. Filtrado con una función de ponderación. Para calcular el valor filtrado en el tiempo t, toma cada uno de los puntos envolventes (t-3 a t+3), multiplica el valor sin filtrar en cada punto por el valor correspondiente de la función de ponderación y sumarlos juntos.

    Un promedio lineal estándar de 7 puntos podría calcularse de la misma manera. Nuestra función de ponderación tendría un valor de 1/7 en cada uno de los 7 puntos. El valor filtrado en el tiempo t se calcularía entonces tomando 1/7 veces el voltaje en cada uno de los 7 puntos y luego sumando estos valores juntos. Eso es idéntico a tomar el promedio de los 7 puntos.

    Espero que todavía se pueda ver cómo esta versión más sofisticada del filtro de promedio corriente tenderá a atenuar las frecuencias altas: Uppies y downies durante el conjunto de puntos que se promedian juntos tenderán a cancelarse entre sí.

    Quizás se esté preguntando cómo se relaciona este enfoque promedio ponderado con el filtrado con una función de respuesta de impulso. La respuesta es maravillosamente simple: La función de ponderación es simplemente la imagen especular de la función de respuesta al impulso. Y si la función de respuesta al impulso es simétrica (que suele ser el caso), la función de ponderación es exactamente la misma que la función de respuesta al impulso. Además, debido a que la función de ponderación es solo la imagen especular de la función de respuesta de impulso, puede calcular la función de respuesta de frecuencia aplicando la transformada de Fourier a la imagen especular de la función de ponderación.

    La única diferencia real entre filtrar con una función de respuesta de impulso y filtrar con una función de ponderación es conceptual: el enfoque de respuesta al impulso le indica cómo el valor sin filtrar en el tiempo t influirá en los valores filtrados en los puntos temporales circundantes (porque el sin filtrar valor en el tiempo t es reemplazado por una copia escalada de la función de respuesta al impulso), mientras que el enfoque promedio ponderado indica cómo el valor filtrado en el tiempo t es influenciado por los valores no filtrados en los puntos envolventes (porque el valor filtrado en el tiempo t es la suma ponderada de los puntos temporales circundantes).

    Pensar en filtrar en términos de la función de ponderación debería ayudarte a entender una consecuencia importante del filtrado: El filtrado inevitablemente reduce la resolución temporal (sin importar cómo se implemente el filtrado). El valor filtrado en un punto de tiempo dado está influenciado por los puntos temporales circundantes, por lo que el voltaje que ve a 100 ms ahora está influenciado por los voltajes a 95 ms, 105 ms, etc. Y la función de ponderación le muestra exactamente cuánto impacto tendrán los puntos de tiempo anteriores y posteriores en el valor filtrado en un punto de tiempo dado. Cuanto más amplia sea la función de ponderación, más filtrará sus datos y más precisión temporal habrá perdido. Este es un ejemplo muy claro del principio de que aumentar la precisión en el dominio de la frecuencia (limitando el conjunto de frecuencias que están en la salida del filtro) disminuye la precisión en el dominio del tiempo (haciendo que el valor filtrado en un punto de tiempo dado sea influenciado por un rango más amplio de puntos de tiempo a partir de los datos no filtrados).


    This page titled 4.8: Fondo- Filtrado con un Promedio Funcional Ponderado is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.