0
  1. ノイズを除去するには、FIR フィルターを使用する必要があります。私が取得しているアナログ フィードバック信号に加算される可能性のあるノイズの周波数がわかりません。
  2. 私の装置はアナログフィードバック信号で構成されており、ADC を使用して値をデジタル化しています。現在、FIR フィルターを適用してノイズを除去する必要があります。環境または何らかの種類のアナログ信号に追加されたノイズがどのノイズなのかわかりません。 ADCが原因でノイズが発生しますか?
  3. これを vhdl でコーディングする必要があります (この部分は簡単に実行できます)。

私の主な問題は、周波数を決定することです。

前もって感謝します !vhdl で作業している一部の人はフィルターについて知っているかもしれないので、vhdl にタグを付けます。

4

1 に答える 1

0

明らかなことを述べることから始めましょう。ADC は固定レートでサンプリングし、ナイキスト周波数よりも高い周波数を表すことはできません。

ステップ 1:エイリアシングを理解し、ナイキストよりも高い周波数はノイズとして信号にエイリアシングされることを理解します。これを取得すると、デジタル化する前に、ハードウェアのアナログ信号パスにアンチエイリアシング フィルターが必要であることがわかります。アプリケーションのノイズ要件によっては、オペアンプを使用して非常に複雑な 4 極フィルターを実装する場合があります。最も簡単な方法は、RC フィルタを使用することです。

ステップ 2:フィルターのカットオフを設定します。カットオフをナイキスト周波数に正しく設定しないでください。フィルタがナイキストの前で十分にカットされていることを確認してください(1/2x ... 1/10x、実際にはどれだけクリーンで、どれだけのノイズが存在するかに依存します)

したがって、実際には信号をオーバーサンプリングしています。フィルターは信号をカットしており、サンプルレートは十分に高いため、ナイキスト周波数は十分に高くなります。オーバー サンプリングとは、さらにフィルタリングする目的でキャプチャした余分なデータの一種であり、場合によってはデシメーション (N サンプルを維持し、残りを捨てる) を行うこともあります。

ステップ 3:フィルターを使用して、アンチエイリアシング フィルターの初期カットオフとナイキスト周波数の間のノイズをさらに除去します。これはそれ自体が科学ですが、良いデシメーション フィルターを提案することから始めましょう: 2 つの値を平均化します。これは、SINC フィルターとも呼ばれる次数 2 のボックスカー フィルターであり、N 回再適用できます。N 回後は、パスカルの三角形の N 番目の行の値を使用した FIR と同等です (それらの合計で割った値)。

繰り返しますが、フィルターの選択はそれ自体が科学です。極端なのは、シグマデルタ ADC のデシメーション フィルターです。CS5376Aのデータシートには、彼らが何をしているかが明確に説明されています。そのデータシートを読むだけでかなりのことを学べます!

于 2014-04-01T10:48:58.237 に答える