超低周波フィルター


13

データ収集ボード(A / D +デジタルシグナルプロセッサ)があり、非常に低いカットオフ周波数(0.05Hz)のデジタルハイパスフィルター(DSPに実装)が実際に機能しているかどうかを確認したい。

これが信号発生器で生成できる周波数であれば、簡単に確認できますが、0.05Hzは低すぎて生成できません。エンジニアはこの種のフィルターをどのようにチェックしますか?


3
私の心はこの質問に圧倒され、答えです!これほど低い周波数のフィルタリングを検討したことはありません:)
ビットマック

6
@bitsmackエレクトロガストログラフィー(EGG)装置で50ミリHzのハイパスを見ました。
ニックアレキセフ

一部の信号発生器には、MHzボタンとmHzボタンの両方があります。
-AndrejaKo

デジタル形式のテスト信号をDSPに入力できますか?任意の周波数をデジタル形式で簡単に生成できます。---欠点は、ボードのアナログ部分とA / D部分をテストしないことです。
パブーク

1
@bitsmackこれは、物事が落ち着くまでに長い時間待たなければならず、「スイーピング」が非常に遅くなければならないことを意味します(時間と時間)。速度が低下しました(テスト後、速度が上がりました)。エイリアシングのようなものは頭をかき立てることができます。
スペロペファニー

回答:


18

フィルターの次数など、いくつかの要因に依存すると思いますが、いくつかの可能性があります。

  1. そこに到達する信号発生器を見つけます。これらは最近ではかなり安価です。
  2. 数学を信頼してください。これはデジタルフィルターであるため、サンプリングレートに応じてスケーリングします。サンプリングレートを2桁上げることができる場合、5Hzカットオフのフィルターがあり、測定がはるかに簡単になります。同様に、制限要因がADCになった場合、フィルタからそれを分離し、いくつかの人工デジタルデータを入力できます。
  3. ステップ応答を使用します(多くの広帯域信号が行います)。目的のフィルターのステップ応答を計算し、結果と比較します。または、代わりに、ステップ応答のFFTを使用して周波数応答を計算します。

必要な低速の波形を生成できないためではなく、アナログフィルターの<0.01Hzカットオフは、粗い周波数スイープを試みた場合、特性化に時間がかかりすぎるため、代替の3のバリエーションを一部のテストセットアップで使用します。これにより、テスト時間が1時間以上からわずか数分に短縮されました。


10

私は1にダウンした私のアジレント関数発生器、使用するμ Hzで、かなり平凡(および廃止)モデル33522Aを。私Rigol DG4102は、私が思うに、同様に1つの持ってμ少ないHzの解像度とコストを。

残念なことに、安価なDDS(AD9850など)モジュールでは、チューニングワードが32ビットで、クロックが通常125MHzであるため、これを0.03Hzの解像度で低くすることはできません。いくつかのデータポイント(0.0291 / 0.0582 / 0.0873 Hz)が得られると思います

また、それにステップを与えて、時間領域の応答を確認することもできます。


2
DDSモジュールが外部クロック信号を受信できる場合は、単純にアンダークロックします!DDSは実際には非常に派手なN分割です
。...– ThreePhaseEel

1
@ThreePhaseEelそれはできますが、一般に5極LC楕円フィルターのような出力ローパスフィルターを再設計しない限り、一般的にはあまり良い出力にはなりません。OPの場合、最大周波数が非常に低いため、おそらく1HzのローパスRCフィルターを出力に追加して、素晴らしい信号を得ることができます。
スペロペファニー

ポストフィルターが必要になることに同意しました-AD9850には1MHz btwの最小クロックがありますが、これは少し制限されますが、OPが望む結果を得るのに十分
です-ThreePhaseEel

@ThreePhaseEel確かに、8または10 MHzでも0.002または0.0024Hzの分解能が得られます。
スペロペファニー

6

オプション1:PCでテストします。

DSPコードがCで記述されている場合、GCCまたはVisual Studioでテストハーネスをセットアップできます。DSPコードのサンプルレートがわかっているので、Excelを使用してテスト入力CSVファイルを生成し、テストハーネスに確認可能なCSVファイル出力をダンプさせます。

オプション2:PCインターフェイスを使用してDSPでテストします。

DSPコードをDSPで実行する必要がある場合でも、PCを使用してテストできます。PCから値を受け取り、DSPフィルターの1ステップを実行し、そのステップのフィルター出力をPCに報告するDSPにテストハーネスをセットアップします(USB、RS-232またはTCP / IPを使用して、 DSPへの接続方法)。これらの値を送受信するには、PC側のテストハーネスも必要です。繰り返しますが、PCでテスト入力CSVファイルをセットアップし、連続したサンプルをフィルターコードに渡し、確認可能なCSVファイル出力をダンプできます。

両方のための...

0.05Hzでフィルタリングしている場合、サンプルレートもかなり遅くなる可能性があります。テストハーネスを使用すると、これらのテストをリアルタイムよりも速く実行できるため、テストプロセスがより効率的になります。


5

DSPシステムにもD / Aコンバーターがある場合は、この非常に低い周波数の信号をソフトウェアで生成し、A / D入力にフィードバックできます。または、D / AカードまたはUSBアダプターを使用して信号を生成できます。そのようなデバイスの一例としてLabJackがありますが、価格/機能がさまざまなものがもっとあります。別の可能性は、Raspberry PiやArduinoのような安価なマイクロコントローラー+ DACを使用することです


2

これが信号発生器で生成できる周波数であれば、簡単に確認できますが、0.05Hzは低すぎて生成できません。エンジニアはこの種のフィルターをどのようにチェックしますか?

フィルター応答を確認するには、3つの良い方法があります。1つはディラックデルタ関数(インパルス関数または短パルス)、もう1つはステップ入力、最後の1つは周波数スイープです。

私が使用している実験装置は数週間から数ヶ月続くことがあるため、一部の物理システムは数日で応答します。これらのシステム\フィルターをチェックする最良の方法は、ステップ入力を使用してから時定数を測定することです。電圧入力の時定数は次のとおりです。

Vt=V01et/τ

どこ τ=RC

ここに画像の説明を入力してください
ソース:http : //mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html

(写真には、直列抵抗を備えた電圧源と同等の並列抵抗を備えた電流源があります)


0

おそらく、ポテンショメータと腕時計を使用して、手で許容できるほど滑らかな50 mHzの信号を生成できます。

または、フィルターの予想されるステップ応答計算します。スイッチを切り替えることにより、ハードウェアにステップ入力を与えます。1分ほどで出力をプロットします(オシロスコープのタイムベースがこれほど遅くならない場合は、マルチメーターをビデオテープに記録し、毎秒読み取り値を転写します)。測定されたステップ応答を予測したものと比較します。それらが一致する場合(ADC、DAC、タイミングの不正確さを十分に考慮して)、フィルターは設計どおりに機能しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.