Skip to main content
Social Sci LibreTexts

3.6: Exercise- Low-Pass Filtering

  • Page ID
    87944
  • \( \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}}\)

    We’ve already filtered out the low-frequency voltage drifts in the continuous EEG data for each participant’s data, but there is also some high-frequency noise (small but rapid deflections in the waveforms). In our lab, we take great pains to reduce the major sources of high-frequency noise (induced voltages from electrical devices in the environment and muscle activity). As a result, there isn’t a lot of high-frequency noise in the grand averages shown in Screenshot 3.4. But there’s a little, and you’ll see a lot more in most experiments (especially in the single-participant waveforms). So, this exercise will show you how to filter out high-frequency noise using a low-pass filter. We’ll apply it to the grand average ERP waveform, but you could instead apply to the single-subject ERPs, the epoched EEG data, or even the continuous EEG data (see Chapter 7 in Luck, 2014 for information about when different filters should be applied).

    Make sure that the Grand_N400 ERPset is still loaded in ERPLAB, and then select EEGLAB > ERPLAB > Filter & Frequency Tools > Filters for ERP data. You’ll see a window that looks nearly identical to the filtering GUI you used to filter out low-frequency drifts in the continuous EEG data. Set it up as shown in Screenshot 3.5, which should mainly involve setting the low-pass cutoff to 20 Hz. Then click APPLY to run the filtering routine. You can name the new ERPset Grand_N400_filt.

    Now plot the new ERPset. In the plotting GUI, notice that the option for plotting the standard error is grayed out. When you filter the data, the original standard error values are no longer valid—they’re the standard error of the unfiltered mean voltage at each time point, not the standard error of the filtered values. If you want to see the standard error of the filtered data, you’d need to filter the single-participant ERPs prior to making the grand average.

    Screenshot 3.5
    HnbGfMs9wM5cuqdmJJl3MZvuwrjPWdnt3Ce9-IcC9lxJx_EUCO9Y8BELJG8_Fmfd5TiZ6_HAbt50fwJxTMP-ZvEmoF5uF0pIqFYETNsaRfzRhDqZ9i_8kG_0elWwNO-rPYSs7XY

    Now compare the filtered waveforms to the original unfiltered waveforms. (If you don’t still have the plot of the unfiltered waveforms, select Grand_N400 from the ERPsets menu and run the plotting routine). You should see that the filtered waveforms look smoother than the unfiltered waveforms. In a later chapter, we’ll take a closer look at filtering and see how filters can reduce noise but can also distort the data, and you’ll learn how to select filters that make your data cleaner without producing significant distortions.


    This page titled 3.6: Exercise- Low-Pass Filtering 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.

    • Was this article helpful?