Link Search Menu Expand Document

EEGLABフィルターFAQ

目次
  • トピックス

パスバンド、ストップバンド、移行帯域幅、カットオフ周波数、パスバンドripple /リング、およびストップバンドripple /減衰とは何ですか?

説明はこちら PDFプレゼンテーション Andreas Widmannによって作成される。

「基本FIRフィルタ(レガシー)」と「基本FIRフィルタ(新規)」の違いは何ですか? 使用するべきものは?

フィルタの長さを自動的に決定するためのヒューリスティック 従来の基本FIRフィルタ(pop_eegfilt)は不適切でした(おそらく) 潜水ろ過または予期しないフィルター効果を引き起こします。 新着記事 基本的な FIR フィルター(pop_eegfiltnew)に自動的にのための新しいヒューリスティックがあります フィルターの長さを決定し、Firfilt プラグインに基づいています。レガシー機能は、後方互換性の目的のためにのみ使用する必要があります。

「基本FIRフィルタ(new)」と「Windowed sinc FIRフィルタ」の違いは何ですか?

両方ともウィンドウズされたsincフィルターに基づいています。 基本フィルタは、 ハードコードされたハムミング窓は、フィルター長さの自動デフォルトを持っています、 パスバンドのエッジによって定義されます。 ウィンドウズされたsinc FIRフィルター ウィンドウタイプ、フィルタ長さの推定を手動で選択できます 移行帯域幅(デフォルトなし)、およびカットオフ周波数で定義される (-6dB、ハーフ振幅)。

Firfilt-plugin が従来の EEGLAB フィルターよりも速く動くのはなぜですか?

Firfilt のプラグインはゼロフェーズを達成するのに ltfilt を使用しませんが フィルターのグループ遅延(NB: ODD フィルターを要求する)によって信号を移して下さい 長さ/even フィルター順序)。 そのため、データを一度だけフィルタリングします。 マルチスレッド(filtfiltはマルチスレッド可能ではない)。

推奨パスバンド ripple/stopbandの減衰/windowタイプは何ですか?

Ripple、すなわち要求された周波数応答からの偏差(0 in) 停止バンド、パスバンドの1つ)は、パスバンドおよびウィンドウで停止バンドで等しいです sinc FIR フィルター。 Ripple/attenuation はウィンドウタイプによって定義されます。 0.002〜0.001(0.2〜0.1%、ハムミングまたはカイザーウィンドウ) 合理的な開始値。 これは -53の停止バンド減衰を等しい -60 dB です。

バンドパスフィルタを上回るハイパスフィルタとローパスフィルタの分離を好む必要がありますか? (2020年9月30日更新)

別々のハイパスフィルタとローパスフィルタで、移行帯域幅は、 独立して定義される。 ハイパスフィルタは、多くの場合、狭くする必要があります 低パスフィルタよりもトランジションバンド。 別のろ過は好ましいです これらの場合。

フィルターの長さとフィルタオーダーの違いは何ですか?

フィルターの順序はフィルター長さのマイナス1として定義されます。

トランジションバンドとは?

移行バンドは、パスバンド間の周波数帯域/範囲です。 エッジとストップバンドエッジ。 ウィンドウズされたsinc FIRは-6dBの締切りをろ過します トランジションバンドの中央にある。

dB/oct (IIR フィルターのように) の windowed sinc FIR フィルターの斜面は何ですか。

A. Slope CANNOTは、ウィンドウズされたSinc FIRフィルタのdB/octで定義されます。 移行帯域幅を使用する。 簡単な変換はありません dB/octの斜面の概念による転移の帯域幅への FIRとIIRフィルタの違い IIRフィルタは持っていません 定義された停止バンド。

ハイパスフィルタのカットオフ周波数の低限は何ですか?

理論的な限界はありませんが、カットオフを下げる スタイパーはロールオフであり、より高いフィルタオーダー(長さ)です。 非常に低いカットオフ周波数 0.01 以下 Hzは時々見つけられるように 文学は、非常に長いフィルター(FIR)を必要とするか、または 安定性(IIR)。 非常に長い FIR フィルターのための計算の時間はなります 非常に。 ‘usefftfilt’ のオプションを “Basic FIR フィルター (new) で試すことができます。 デフォルト)” (pop_eegfiltnew) または “Windowed sinc FIR filter” (pop_firws) を高速化 FIR フィルターの注文のためのろ過を2000から3000まで高めて下さい。 注意: サンプリングレートを下げると、必要なフィルタオーダーも軽減します。 より低い締切りのIIRフィルターとの安定性問題を経験しています また、周波数は、信号のサンプリング周波数を減らすことを考慮する。

推奨トランジション帯域幅(winded sinc FIR High-pass filter)とは?

一般的に、周波数ドメインの斜面は、できるだけ低く/平らでなければなりません できる限りトランジションバンドです。 スティーパー 斜面は時間のドメインの精密を減らします;歪みおよび より長いフィルター長さのためにアーティファクトはより広い広がります。 ハイパスフィルタの優れたスターリング値:カットオフ周波数の2倍 (-6 dB) 切断用 <= 1 Hz, 締切りの頻度のための2つのHz < 1および<= 8つのHz カットオフ周波数の25% > 8つのHz。 これはまたです 新しい基本FIRフィルタで実装されたヒューリスティック(すべてのために一般化) 重要な頻度。 ただし、お気を付けください。 (マニュアル的に)このヒューリスティックを興味のアプリケーションに調整します。 しない カットオフ周波数の2回を超えて行きます(すなわち、トランジションバンドは行きます DC/0 Hz以下 TIP:強い減少(< -60dB)は重要である場合もあります DC/0用 Hz (例えば、BiosemiファイルのためのDCのオフセットを取り除くためにまたは ベースラインの訂正を避けて下さい)。 カットオフ周波数の2回使用することで トランジションの帯域幅、タイプ1のウィンドウズされたsincフィルターはのための調整することができます 優秀なDCの減少。

ストップバンドの減衰は良いですか?

ハムミングウィンドウ/-53dBのコミュニティデフォルトは良い始まりです 値。 カイザーの窓の停止バンドの減少は正確にできます 調節される。

特定のアプリケーションにカットオフ周波数、減衰、フィルタ長さの最適な値を見つける方法は?

異なる効果をテストし、体系的に比較することにより 時間ドメイン内の信号のフィルタ。

ウィンドウズされたsinc FIRフィルタについてもっと読むことができますか?

エンジニアがデジタル信号処理を学ぶためのガイド.

Q.GRANGERの因果性分析のために、どのフィルターが使用されるべきですか。 (2020年11月21日更新)

確認する重要なことはいくつかあります。

  • バルネットとセス(2011)は、多品種の造粒機因性を示した 理論はゼロフェーズ(a.k.a.phase-invariant)の下のinvariantです フィルター。 固定性(例えば、 ドリフト、ラインノイズ) Seth、Barrett、Bernett (2015)を参照してください。
  • しかし、実際には、フィルタリングは計算の問題を引き起こします 多variateの造粒機因性。 主な問題は増加です モデル順序。 これはろ過が力スペクトルを作るのでです 信号の複雑な密度(停止バンドの低い電力、急な ロールオフ等。 次の例を参照してください: 33ch EEG, downsampled to 100円 Hz、なし(上)および(下)適用44.5 Hzの低パス フィルター(FIR、黒人、TBW 1 Hz)。 推定モデルについて 注文は10(LPFなしで)から14(LPFと)に不良です—しかし 明らかに16(LPF)を取ることは、AICからここに正しい決定です、 FPEおよびHQの結果。

ここに別の比較があります。30Hzでノッチフィルタなしで (カットオフ周波数28および32Hz、TBW 0.5Hz)。 提案された注文は、 10-12から11-15ノッチフィルタで。

  • 上記の同じ理由から来る第二の問題、 上記は、VARパラメータの帝国的な推定値が不安定に収まることです。 値引き値が悪いため、モデルの注文が増加しました。
  • 第3の問題は、フィルタリングが数値的な不安定性を引き起こすことです 原因を推定する。

これらの問題に対処する方法は?

  • 高パスフィルタを適用すると、固定性を実現 DC(0Hz)でのトランジションバンドエンド。 例えば、使うとき EEGLABの「基本FIRフィルタ(新規、デフォルト)」でハイパスフィルタを適用 2Hzの下の「バンド端」と、転移バンドはあります DCでは常に終了するように自動的に調整されます。 (私達は1-Hzを使用します) ICAの目的のためのハイパス; 見るために帝国テストは要求されます 2Hzのハイパスが1Hzと比較してGCAに有益であるかどうか。 2 Hz の上のハイパス フィルター パスバンドの端を、私達セットアップしたいです ‘Windowed sinc FIR フィルター’ を使用してフィルターを設計することを推薦して下さい DCでストップバンドを持っていること。 (注意: ‘Windowed sinc FIR フィルター’ 締切りの頻度およびpassbandの端 i.e.の締切りを使用して下さい 頻度の頻度 1つのHzは2つのHzのパスバンドの端に等しいです
  • ラインノイズを処理する際には、ノッチではなくCleanLine() を使用します。 前者はフェーズインヴァリアントであるため、フィルタ。
  • ダウンサンプリングデータ(マルチバリエート・グランガー・キャサリティ分析に有用である)時、軽度のアンチエイリアシング・フィルタを使用し、Nyquist周波数の下のストップバンドを放さない。 練習では、次の例を使用します。 この例では、データを200Hz(つまり、Nyquist周波数は100Hz)にダウンサンプリングし、カットオフ周波数は80Hz(つまり100Hz*0.8)であり、トランジション帯域幅40Hz(つまり100Hz*0.4)である。
    EEG = pop_resample(EEG, 200, 0.8, 0.4);
    

フィルタはいつ使うべきか? (3/15/2021)

アプリケーションが明示的にこれを必要とする場合にのみ、通常、Causal フィルターを使用する必要があります。 たとえば、誤差がオンセットのレイテンシーの検出のように重要である場合(問題が主にEEG/ERPで観察されていない超シャープなトランジェントに影響を及ぼす場合)、大低速コンポーネント(例えば、ハイパスのカットオフ周波数が要求される場合など)前の小さな高速コンポーネントの解析、または事前刺激活性の分析では、あなたのケースです。 線形管および線形非管フィルター間の相違は時間軸だけです。 非causal フィルターの出力は管フィルターの遅れの訂正された出力を等しいです。 EEG.times 時間軸を変更するのに十分です。 つまり、興味の信号がグループ遅延よりも刺激から離れた場合は、線形非因果フィルターを使用するだけです。

% 例:

    sig = [ 0 0 0 0 0 1 0 0 0 0 0 ]; % test signal (impulse)
    b = [ 1 1 1 1 1 ] / 5; % some crude boxcar filter for demonstration purposes only, linear-phase, length = 5, order = 4, group delay = 2
    fsig = filter( b, 1, sig ); % causal filter
    plot( -5:5, [ sig; fsig ]', 'o' ) % the filtered impulse in the output does not start before the impulse in the input
    fsig = filter( b, 1, [ sig 0 0 ] ) % padded causal filter
    fsig = fsig( 3:end ); % delay correction by group delay, this is what makes the filter non-causal and zero-phase
    plot( -5:5, [ sig; fsig ]', 'o' ) % the filtered impulse in the output starts before the impulse in the input BUT everything before x = -2 is unaffected

遅延補正または非線形キャスカルフィルタ(例:最小相)でリニアキャスルFIRフィルタを使用する必要がありますか?

管状フィルタ(リニアまたは非リニア)を修正することはできません。 これは、それが自動的に非因果と死を破壊し、この周りの方法がないようになります. (グループ) 遅延が目的に大きすぎる場合は、遅延を削減し、非線形フィルタ(例えば、最小フェーズ)を使用する必要があります。 非線形フィルタは、異なる量(およびこの違いのために、非異常が許容される場合でも、非線形フィルタの出力を簡単に遅らせることができません)によって異なる周波数を遅らせます。 そのため、ERPの波形の形状を解釈してはならないため、ERPの振幅や相の相互周波数関係を解釈しない。 しかし、一方で、あなたは、あなたの事前刺激データは、ポスト刺激活動によって汚染されていないことを確信することができます。 サイドノート:レガシーフィルタを使用しないことをお勧めします。 壊れています。 コマンドラインでcausalリニアフィルタリング用の新しいフィルタを使用するのは比較的簡単です(単にフィルタ係数を取り、通常のMATLABフィルタコマンドを使用します。 上記を参照してください)。

私の分析は、大規模な時間ウィンドウにexploratoryであるため、グループ遅延よりも、興味の信号がstimulusのオンセットから離れているかどうかはわかりません。 1650のフィルター注文と500Hzのサンプリング速度のために、グループ遅延を計算して、プリ刺激期間の量がポスト刺激活性(線形非因果)によって汚染されるか、時間(線形原因)でシフトされるかを知るにはどうすればよいですか?

フィルターオーダー = 1650 → N = 1651 サンプル (N タップ = フィルターの長さ = フィルターオーダー + 1) → グループ遅延 = (N - 1) / 2 サンプルとサンプリング速度 fs = 500 サンプル/秒 → グループ遅延 = (N - 1) / 2 / 秒間 fs (同じ方程式の異なる). 従って、注文1650フィルターの遅れは1.75秒です。

firfilt 関数は、非因果線形フィルターを選択した場合、自動的に遅延誤りしますか?

はい、firfilt はグループ遅延に対して自動的に補正します。つまり、ゼロフェーズ FIR フィルターを実装します。 しかし、firfiltは低レベルの機能であり、使用時に何をしているかを知る必要があります。 コマンドラインでこれを行う場合は、fir_filterdcpadded を使うのをおすすめします。 ‘causal’ フラグがあり、causal と non-causal (linear フェーズのみ) フィルタリングを行うことができます。 fir_filterdcpadded は、連続セグメントのみで使用する必要があります。 firfilt も境界線で動作します。 firfilt は、メモリが限られたリソースだったり、メモリが最適化されたり、複雑なときに長い間設計されていました。 fir_filterdcpadded (FieldTrip のように) が完全に置換されるよりも早くなります。 注意: fir_filterdcpadded は、常に最初の次元に沿って(パッド、フィルタ)動作します。 そのため、EEG.data(chans x time)で、トランスポーズ(twice):

    EEG.data = fir_filterdcpadded(b_low, 1, EEG.data', 1)'; 

IIRフィルタとケーサールフィルタリングとは?

IIRフィルタ(衝動応答が無限であり、相応答非線形)を修正し、注文が非常に異なる意味を持つことはできないことに注意してください。 確かに、後方フィルタリングは、非因性ゼロフェーズフィルタ(実際には、後方前方または後方後方には問題ありません)になります。 IIRフィルタは、FIRフィルタと同様に、非因性効果(前刺激時間範囲のポスト刺激)の一時的な制限はありません。

ハイパスとローパスの両方でリニア(非因果)フィルタを使うと、グループ遅延が2倍になります(232ms?)?

これは、原因対のために異なっているので、これはもう少し複雑な問題です. シリアルハイパスとローパス対バンドパスと、最終的にはバンドパスの実装方法と異なっても違います。

  1. 非causal/ゼロ段階: 1.a。 シリアルアプリケーション: どちらのフィルタも別々に修正されます。最終出力の遅延はありません。 最終的なフィルターの衝動の応答はハイパスおよび低パス衝動の応答のconvolutionです。 つまり、非原因の影響によって汚染される時間範囲は(Nlow-pass + Nhigh-pass - 2)/2 (サンプルでは、fsを秒単位で区切って下さい)です。 これは、convolutionによって実装されたバンドパスフィルタと同じです。 1.b。 スペクトル反転と反転の巧妙な組み合わせによってバンドパスフィルタを実装することができます(2つのローパスとハイパスカーネルを追加することにより、ナッツシェル)。 非因果効果によって汚染される時間範囲は(max ([Nlow-pass, Nhigh-pass])に減ることができます - 1) / 2. 進化によるバンドパスの詳細は、対. スペクトル反転, 逆転と追加は、ここで説明されています. 2.カバール 2.a。 シリアルアプリケーション: どちらの遅延も追加されます(マイナス1;上記1aを参照してください) 2.b. シングルステージバンドパス。 再び遅延を減らすことができます (max([Nlow-pass, Nhigh-pass]) - 1) / 2 巧妙な実装で。

サンプリングレートの変更は、遅延について何も変更しませんか?

### フィルターの品質を損なうことなく遅延を削減しようとすると、私はまだ関心の私の窓の64%に相当する0.958秒の遅延を取得します! 線形非因果フィルターでこの期間を無視するか、または線形腔フィルターとの時間のシフトによってそれを失うかどうか、それは巨大な損失です。 convolution と spectral inversion によるより高度なバンドパスメソッドの実装は、私のレベル上にあり、それを実装する方法を見つけることができれば、私はまだ大きすぎる 0.826 秒の遅延を持っています。 それは私により複雑な分析をすることを防ぐ低い遅延しかし未知の信号/フェーズのゆがみが付いている最低フェーズのcausalフィルターを残します。 代わりに、SNRを下げるコストですべてのフィルターを使わなければ、私は疑問に思いますか?

周波数分析フィルタリングは必ずしも必要ではありません。 ほとんどの時間頻度分析方法は、実際にそれ自体によってフィルタリングされます(そして、ほとんどの場合、それはまた、ここであなたは特定のシナリオで非因性効果のために見なければならないかもしれません)。 通常、DC除去(微分または問題のある症例で悪化する可能性があります)が十分である場合があります。

ERPs 個人的に私は非線形位相フィルターを試みます。 非線形位相および線形位相フィルターされたデータを系統的に比較して、非直線性または潜在的に非因性効果による歪みを解体しようとします。 特に有用とは、異なるフィルタ(非濾過されたマイナスフィルタリングされたデータ)で削除された信号を系統的に評価し比較することです。

ケーサルフィルタリングの影響を受けるICAは? データが同じように正確に影響されますか?

リニアフェーズフィルタリングは、独立したコンポーネントのトポグラフィを変更しないでください。 非因性対因性リニアフェーズフィルタの出力が同一である(ただ遅延)、因性に対する差はない。 ICAおよびフィルタリングに関するより詳細な検討については、次のリンクの導入を参照してください。 https://urldefense.com/v3/https://onlinelibrary.wiley.com/doi/full/10.1111/ejn.14992;!!Mih3wA!WlVVw6y6WsMIveCkz6Cx0qfOc0soAbgN7fqqfafhhGpsK1K4v6sywYeJkpnraIjK4rrVrw$

影響を受けた再防御方法は?

申し訳ありません、このコンテンツはただ今 アメリカ英語 のみです。 一般的なメモだけ: 私は時々、線形/非線形フィルタリングを書く。 この文脈(スペクトルフィルタ)では、私は一貫して完全な正しい用語を使用する必要があります:線形/非線形位相フィルタリング。 ここで「リニア/非リニアフェーズ」は、フェーズ応答がストレートラインであるか否かを説明します。 点は、非線形位相スペクトルフィルタリングも線形操作(真の非線形フィルタリングとは対照的)であるということです。 これは、すべてのストレートフォーワードの関与です。 線形操作の場合、注文は問題ありません。そのため、通常のリファーレンシング(共通/平均/リンク参照)では、注文(フィルタ -re-reference or re-reference -filter)は問題ありません(エッジエフェクトを除く)。

コマンドラインからフィルタを設計するために使用できるMatlab/EEGLABオプションはありますか?

    b_high = minphaserceps( firws( 10, 1/5, 'high' ) ); % minimum-phase non-linear high-pass
    fsig_high = filter( b_high, 1, sig ); % causal filter

または

    [EEG, com, b] = pop_firws(EEG, 'forder', forder, 'fcutoff', fcutoff, 'ftype', 'highpass', 'wtype', 'hamming', 'minphase', 1);

これは同じBUTです: pop_firwsは高レベルのラッパーです。 fcutoff のユニットは Hz です! firwsは低レベル機能です。 f のユニットは pi rad / サンプル (つまり、Nyquist に正規化されて、この種類の関数の MATLAB 標準です)。 0.2 pi rad / サンプル * fs / 2 fs = 500 サンプル / 2 → 50秒^-1またはHz。

このページはMakoto MiyakoshiとAndreas Widmannによって作成されました。 Cedric Cannard(Andreas Widmannとのディスカッションから)によるカスールフィルタリングで3/15/2021を編集します。

参照と推奨読書

  • ダンカン・ジョンソン、C.、&ドニチン、E.(1979)。 一定時間 P300録画。 心理生理学、16、53–56。

  • Barnett, L., & Seth, A. K. (2011). グランガー因果の行動 ろ過の下:理論的な変化および実用的な適用。 日 時 Neurosciメソッド。 201、404-419。

  • ヴァン・ルレン、R.(2011)。 マッピングの4つの一般的な概念下落 認識の時間経過。 心理学のフロンティア, 2, 365. 土井: 10.3389/fpsyg.2011.00365

  • アカンゾー、D. J.、MacKenzie、G.、Van Rossum、M. C. W.(2012)。 ERP および ERF コンポーネントの初期に体系的なバイアスを生成 ハイパスフィルタリング。 神経科学法ジャーナル, 209, 212–218. 土井: 10.1016/j.jneumeth.2012.06.011

  • ルーゼレット GA (2012) ERPを勉強から除外するフィルタリング 時間コース? フロント. 心理学 3:131. 土井: 10.3389/fpsyg.2012.00131

  • Widmann, A., & Schröger, E. (2012). フィルター効果およびフィルター 電気生理学的データの解析におけるアーティファクト。 フロンティア 心理学、3、233。 土井: 10.3389/fpsyg.2012.00233

  • Zoefel, B., & Heil P. (2013). 周囲の音の検出は 共通の周波数帯域のEEG段階の独立。 前部精神医学、 4, 262.

  • Luck, S. J. (2014). イベント関連の可能性の紹介 テクニック(2nd ed。)。 ケンブリッジ、MA:MIT プレス。

  • Widmann, A., Schröger, E., & Maess, B. (2015). デジタル フィルター設計 電気生理学的データ–実用的なアプローチのため。 J Neurosci Methods 方法, 250, 34-46. 土井: 10.1016/j.jneumeth.2014.08.002 こちら

  • タンナー、D.、モーガン・ショート、K.、&Luck、S. J.(2015)。 使い方 不適切なハイパスフィルタは、アーティファクト効果を生成し、 言語と認知のERP研究における誤った結論。 心理生理学, 52(8), 997-1009. 土井: 10.111111/psyp.12437

  • Seth, A. K., バレット, A. B., & Barnett, L. (2015). グランガー因果 神経科学と神経科学の分析 J Neurosci. 35、 3293-3297.

  • Maess B、Schröger E、Widmann A.(2016)。 ハイパスフィルタと M/EEG分析におけるベースライン補正 コメント: “方法 不適切なハイパスフィルタは、アーティファクトと誤りを生成できます 言語と認知のERP研究における結論。 J Neurosci Methods メソッド。 [プリント前のEpub]

  • タンナーD、ノートンJJ、モーガンショートK、ラックSJ(2016)。 ハイパスで フィルターアーティファクト(本当です)およびベースラインの訂正(それはよいです ERP/ERMF分析におけるアイデア J Neurosciメソッド。 [Epub より先に プリント\

  • Maess B、Schröger E、Widmann A.(2016)。 ハイパスフィルタと M/EEG分析継続した議論におけるベースライン補正 日 時 Neurosciメソッド。 [プリント前のEpub]

  • Liljander S, Holm A, Keski-Säntti P, Partanen JV. (2016). 最適化 ミッドレイテンシーの聴覚P50を分析するためのデジタルフィルタ アルツハイマー病の患者におけるイベント関連の潜在能力。 日 時 Neurosciメソッド。 2016年3月22日;266:50-67。