[Eeglablist] Effects of filter choice on time-frequency type analyses
Andreas Widmann
widmann at uni-leipzig.de
Tue Apr 22 13:05:28 PDT 2014
Hi Eric,
* linear vs. non-linear filters and causal vs. non-causal filters are actually two distinguishable concepts (however, not all combinations make sense). For your application - cross frequency phase/phase-amplitude coupling as I understood it (correct?) - it is helpful to look at them separately.
* Linear phase filters have a constant group delay. That is, the (*envelope* of the) signal is delayed by the same constant amount of time at all (passband) frequencies. Phase relations between different frequency components are preserved (this is the important point for your question). The same constant amount of time means more cycles for higher frequencies, that’s why the phase response is an oblique line. After filtering the signal will have the same phase at time t + delay as at time t before (again at all frequencies in the passband).
* Non-linear phase filters will shift phase by different amounts of time at different frequencies. That is, phase relations between frequencies and complex signals depending on phase relations (as ERPs) are distorted.
* Causal filtering means that only past and current input has an effects on the output.
* Non-causal filtering means that also *future* input might have an effect on the output. This is problematic in particular for onset latencies as they might be systematically underestimated.
Now you have combinations:
* For linear phase filters you can correct for the filter delay, then you have a non-causal *zerophase* filter. Correction is usually done by „shifting" the filter output backwards by the filter delay. This is also how it is implemented in the newer FIR filters in EEGLAB (basic new, windowed sinc, equiripple). Reverse filtering (i.e., filtfilt) is NOT necessary for linear phase filters to make them zero-phase. Or you can leave the the filter output uncorrected, then you have a linear phase causal filter. However, as the impulse response must be symmetric for linear phase the delay is often large and this combination is rarely used and currently not implemented in EEGLAB. You can easily implement this yourself with the MATLAB filter function.
* To reduce the large delay of linear phase causal filters one can use non-linear (in particular minimum) phase causal filters. They have small delays but different delays for each frequency, thus complex signals and phase relations are distorted. Seldom the output is still corrected by a specific delay, usually the peak latency of the first large peak of the impulse response (transmitting the most energy), e.g. when filtering spike trains with an alpha function. Then you have a non-causal non-linear filter. This is currently also not implemented in EEGLAB.
* You can convert non-linear filters to a linear non-causal (i.e. zerophase) filter by reverse filtering. This is still used quite frequently, however, it only makes sense if you necessarily require a particular property of a specific non-linear filter, but also need zerophase output at the same time. There are several pitfalls!
> It seems that non-causal filters 'distort' the causal relationships between signals, but unlike causal filters, which introduce a linear phase shift across frequencies.
Linear phase filters preserve phase relationships across frequencies and are mostly but not necessarily applied non-causally in electrophysiology. Non-linear phase filters distort phase relationships and are mostly applied causally to avoid non-causality and minimize/reduce the filter delay at the same time.
Hope this helps! Best,
Andreas
Am 22.04.2014 um 07:11 schrieb Ng Eric <goodieskk at gmail.com>:
> Dear all,
>
> I plan to perform some time-frequency analyses on task and resting EEG data, but I am concerned about the effect causal/non-causal filtering on analyses involving phase measures.
>
> The default in pop_eegfiltnew (on EEGLAB v11.0.4.3b or v13.2.1) is a 'non-causal' filter (minphase setting = 0, thus applying filtfilt). It seems that non-causal filters 'distort' the causal relationships between signals, but unlike causal filters, which introduce a linear phase shift across frequencies. If I am going to do e.g., phase locking between different frequencies or phase-amplitude coupling, will the phase shifts affect the validity of the results (i.e., don't use causal filters)? Or is there anything more undesirable with the correction of phase lag on phase measures (i.e., don't use non-causal filters)?
>
> I am still a novice on signal processing, so any comments and corrections on wrong concepts will be very helpful. Thank you very much!
>
> Regards,
> Eric
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.ucsd.edu
> For digest mode, send an email with the subject "set digest mime" to eeglablist-request at sccn.ucsd.edu
More information about the eeglablist
mailing list