Saltar al contenido principal
LibreTexts Español

4.5: Ejercicio- La Función de Respuesta al Impulso

  • Page ID
    151843
  • \( \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 mayoría de las discusiones de los filtros se centran en sus funciones de respuesta de frecuencia, las cuales indican los efectos del filtro en el dominio de la frecuencia. Pero, ¿realmente te importa el contenido de frecuencia de tus formas de onda ERP? Probablemente no. Si te interesan las formas de onda ERP convencionales (a diferencia de los análisis de tiempo-frecuencia), entonces probablemente quieras saber cómo los filtros cambian tus datos en el dominio del tiempo, no en el dominio de la frecuencia.

    Los filtros se pueden implementar ya sea en el dominio de la frecuencia (usando la transformada de Fourier) o en el dominio del tiempo (usando convoluciones). Estos dos enfoques arrojan exactamente los mismos resultados, pero encuentro que la implementación en el dominio del tiempo facilita la comprensión exacta de cómo un filtro cambia una forma de onda ERP. Entonces, nos centraremos principalmente en el dominio del tiempo para lo que resta de este capítulo. Empezaremos con un ejercicio diseñado para ayudarte a entender visualmente el filtrado en el dominio del tiempo, sin ningún tipo de matemática. Hay muchos tipos de filtros, y me voy a centrar en una clase común llamada filtros de respuesta de impulso finito, aunque esto termina siendo una ligera simplificación en exceso para los filtros implementados en ERPLAB.

    La clave para entender el filtrado en el dominio del tiempo es entender algo llamado la función de respuesta al impulso. La función de respuesta al impulso de un filtro es simplemente la salida del filtro cuando la entrada es un impulso de amplitud 1 en el tiempo cero. (Un impulso es una forma de onda que es cero en todas partes excepto por un valor distinto de cero en un solo punto de tiempo). Para ver a lo que me refiero, salga y reinicie EEGLAB, cargue el archivo ERPSet llamado impulse0.erp y grafique la forma de onda ERP. Al trazar este ejemplo (y los ejemplos restantes en este capítulo), asegúrese de establecer Corrección de línea base en Ninguno en la GUI para trazar formas de onda ERP (consulte el cuadro a continuación si desea saber por qué es necesario esto).

    Corrección de línea base

    La forma de onda en impulse0.erp tiene un valor de 1 en el tiempo cero y un valor de 0 en todas partes. El valor de 1 en el tiempo cero estropeará la línea base cuando intentas trazar la forma de onda. Esto se debe a que la línea base se define como el promedio del periodo hasta e incluyendo el tiempo cero. Este promedio es ligeramente mayor que cero, y la corrección de la línea base implica restar el promedio de cada punto de la forma de onda. Así, toda la forma de onda termina desplazándose ligeramente hacia abajo

    Una vez que hayas desactivado la corrección de línea base, deberías ver algo como la Captura de Pantalla 4.7.A cuando trates el ERPSet.

    Captura de pantalla 4.7

    Este ERPset contiene un solo canal en un solo bin, y se puede ver el impulso (un voltaje de 1 µV) en el tiempo cero. Parece un triángulo estrecho en lugar de un impulso puro porque la forma de onda es muestreada a 200 Hz (una muestra cada 5 ms), por lo que hay una línea que va de 0 µV a -5 ms a 1 µV a 0 ms y de nuevo a 0 µV a 5 ms.

    Ahora filtra esta forma de onda usando un corte de media amplitud a 30 Hz y una pendiente de 12 dB/octava (siguiendo los mismos pasos que usaste en el ejercicio anterior) y traza el resultado (que debería verse como Captura de pantalla 4.7.B). Se puede ver que la forma de onda filtrada es ahora un poco más ancha y alcanza su punto máximo a una amplitud menor (aproximadamente 0.32 µV). Esta forma de onda filtrada es la función de respuesta al impulso del filtro (es decir, la forma de onda producida al filtrar un impulso de amplitud 1 en el tiempo cero).

    En realidad no es necesario filtrar un impulso para ver la función de respuesta al impulso en ERPLAB. También lo puedes ver yendo a la ventana para la rutina de filtrado y cambiando Display de Respuesta de frecuencia de filtro a Respuesta de impulso de filtro. Como puede ver en la Captura de Pantalla 4.8, ahora se traza la función de respuesta al impulso. Solo se muestra la mitad derecha de la función, pero la mitad izquierda es solo la imagen especular. Tenga en cuenta que alcanza su punto máximo en aproximadamente 0.32 µV, al igual que la forma de onda que creó al filtrar un impulso (Captura de pantalla 4.7.B). La escala de tiempo se expande, por lo que es más fácil ver los detalles de la forma de onda.

    Captura de pantalla 4.8

    En este punto, probablemente te estés preguntando: “¿Por qué debería importarme cómo se ve la salida de un filtro cuando la entrada es un impulso? Ese impulso no se parece mucho a una forma de onda ERP”. Debe importarle porque la clave para entender el filtrado es que una forma de onda ERP es una secuencia de voltajes, uno en cada momento, y se puede pensar en esto como una secuencia de impulsos de diferentes amplitudes. Al saber cómo se ve la salida del filtro para un impulso en un punto de tiempo (es decir, la función de respuesta al impulso), puede saber cómo será la salida del filtro para toda la forma de onda. Esto se demuestra en el siguiente ejercicio.

    Una ligera sobresimplificación

    En este capítulo, discuto cómo funcionan los filtros de respuesta de impulso finito (FIR), porque son bastante fáciles de entender. Sin embargo, ERPLAB implementa el filtrado usando un tipo específico de filtro de respuesta al impulso infinito (IIR) llamado filtro Butterworth. Siempre y cuando use un roll-off superficial (por ejemplo, 12 dB/octava), los filtros de ERPLAB proporcionan una aproximación cercana de un filtro FIR. Entonces, todo lo que digo en este capítulo es aproximadamente correcto para los filtros de ERPLAB siempre y cuando use un roll-off superficial.

    La diferencia clave entre los filtros FIR y IIR es que la salida de un filtro IIR retroalimenta a la entrada del filtro. Esto significa que el filtro es no lineal, con una respuesta que teóricamente podría extenderse infinitamente en el tiempo. La principal ventaja es que los filtros IIR requieren menos coeficientes que los filtros FIR, haciéndolos funcionar más rápido y potencialmente reduciendo los efectos de borde (que se describirán más adelante).


    This page titled 4.5: Ejercicio- La Función de Respuesta al Impulso 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.