2017-01-07 2 views
1

私はMathDotNetライブラリを使用し、入力信号に対してデジタルフィルタリングを実装しました。私はADCから40サンプルを取得しており、取得するごとに各データサンプルをフィルタリングしています。私は、FIRオンラインフィルタと2メジアンフィルタを使用しました。 enter image description here画像には、生信号である赤線と、フィルタ信号である青線があります。わかるように、フィルタリングされた信号には位相シフトがあります。私はそれを削除したい。どのようにそれを行うにはどのようなアイデア?フィルタリングされたシグナルラグを削除する

私のコードをいくつかのアイデアのためにvb.netで見たい場合は、私もそれを投稿することができます。もしサンプリング周波数fsでサンプリングされた信号上で動作N係数を有する線形位相FIRフィルタを使用している場合

+0

に遅延量によってフィルタリングされた信号をバックシフトは、互いに関連し、両方の曲線を描画するときのような単純な問題がある可能性があります。しかし、私が25年前の私の信号処理クラスを正しく覚えていれば、FIRフィルターを使って0位相フィルターを作成することはできません...(私が間違っていると私を殺さないでください! http://dspguru.com/dsp/faqs/fir/properties – BitTickler

+0

だから、私が得ている位相遅れは受け入れられると言っていますか? vb.netプログラミングに関するアイデアがあれば、コードを投稿することができます。今のところ私はその位相遅れにとどまります。 –

+0

私が前回のコメントで述べたリンクは、あなたのFIRフィルタの遅れを系統的なFIRフィルタの遅れから見積もることができます。それがあなたのグラフが示しているものと一致するならば、あなたはあなたの説明を持っています。そうでない場合は、グラフの描画と時間管理がどのように機能するか調べなければなりません。 – BitTickler

答えて

0

、フィルタ(例えばdspGuru.comを参照)0.5*(N-1)*fsの遅延を導入します。これは完全に正常です。フィルタリングされていない信号との比較を容易にするために

、あなたはどちらか検討することがあります。

  1. は、同じ量でフィルタリングされていない信号を遅延させます。または
  2. はあなたのコードが(賢明なタイムベース)どのように機能するかに応じて、グラフ
関連する問題