5 kHz未満の周波数を自由に通過させるフィルターを設計しますが、5.2 kHzを超えるすべての周波数は検出不可能でなければなりません


12

この質問に関する私の最大の課題は、途方もなく急なロールオフ率です。

ゲインが-20 dBの場合、信号は検出できないと想定しています。これは、200 Hzの遷移帯域内で、信号強度を20 dB下げる必要があることを意味します。

計算が正しい場合、このフィルターには1200 dB / decのロールオフレートが必要です。これには60の極が必要ですが、これは明らかに実行不可能です。

通過帯域のリップルを最小限に抑えたアナログアクティブフィルターを使用したいと思います。大きな位相シフトはそれほど重要ではありません。

考えられる解決策の1つは、5.2 kHzでノッチフィルターを使用することです。ただし、ノッチフィルターの帯域幅を超える周波数は、まだ十分にフィルター処理されていません。

私のロジックの欠陥を指摘するか、解決策を提案してください。ありがとうございました。


16
-20dBを検出不能と呼ぶのはかなりストレッチです
PlasmaHH

1
わーい!私は彼が4500を20で割って225の極を獲得したことを理解しています。私が挑戦しているのは、彼が最初に4500を獲得した方法です。
デイブツイード

7
Tamirにはどんな答えを期待していますか?アナログパッシブ/アクティブ?デジタルIIR / FIR?ウェーブデジタルフィルター?FFT +不要なものを削除+ IFFT?
ハリースベンソン

4
どの程度の通過帯域リップルが許容されますか?
ブルースアボット

1
「通過帯域のリップルを最小限に抑える」-「最小」は仕様ではありません。
ブルースアボット

回答:


21

フィルターのフィルター次数ごとに20dB / decのロールオフを想定しています。これは、すべてのフィルタータイプに当てはまるわけではありません。

ましょう及びF S 、T 、O 、P = 5.2 のk HのZ。それからf s t o pf0=5kHzfstop=5.2kHz

fstopf0=1.04。

ウィキペディアの記事から引用したこの4次楕円フィルターをご覧ください楕円形

要件を完全には満たしていませんが、実現可能であることがわかります。高次の楕円フィルターは、目的を達成できます。

楕円フィルターは、信号の位相を乱す可能性があることに注意してください。位相制約については何も言及しなかったため、楕円フィルターが適していると想定しました。


それは悪い考えではありません。6次の楕円LPFには、3dBの通過帯域リップルと最大 5200Hz以上で-20dBの漏れが許容されます。結果はフィルター計算機で取得しました。適切な周波数応答が現れるまで、異なる次数と制限のみを入力しました。6次とは、カスケードされた3つの2次ブロックのみを意味します。アイデアはありませんが、アナログオペアンプフィルターとして通常のコンポーネントの許容誤差で実際に実現可能になります。さらにシミュレーションが必要です。
user287001

こんにちは、いい答えをありがとう。ただの好奇心です。ウィキペディアを見ると、極は省略記号の上にあるように見えますが、名前の由来は偶然でしょうか?
mathreadler

1
@mathreadler名前は、楕円フィルターの伝達関数に現れる楕円有理関数に由来すると考えています。楕円フィルターの極は、ヤコビ楕円余弦関数の関数です。したがって、彼らは楕円の上にあります。
user110971

21

この種の急激なロールオフには、デジタルフィルターが必要です。アナログについても考えないでください。入力をsinc関数で畳み込む必要があります。sinc関数の幅(カーネルポイントの数)は、ストップバンドの減衰を定義します。

私は計算をしていませんが、20 kHzでサンプリングする場合、おそらく数100ポイントが必要になると非常に迅速な計算(オフになる可能性があります)を計算します。20 kHzで200ポイントは、4 MHzのMACレートを意味します。これは実行可能です。実際には、最新のDSPが簡単に実行できることよりもはるかに低いです。それはあなたの問題が非常に扱いやすいことを意味します。EシリーズdsPICのようなものがこれを行うことができ、DSP機能のみを探している場合は、それはかなりローエンドです。


3
これは実際にはFIRフィルターです。高速シミュレーションでは、長方形のウィンドウを使用した128タップフィルターで十分であることが示されました。係数は、理想的な5100Hz LPFのsincインパルス応答から取得されます。最初のサイドローブは約20dBです。5250Hz(フィルター計算機から見た)
-user287001

2
@user:わかりました。つまり、実際には上記の概算よりも少し簡単だということです。カーネルに少し余裕を持たせるために、おそらく少し余裕を持たせたいと思います。特にそれは控えめなDSPの能力の範囲内であることからです。
オリンラスロップ

使用するフィルタと窓関数のためのいくつかの本当に良いリソースがあります。私個人的には同様dspguide.com
ピーター・スミス

4

大幅な遅延を許可するか、記録された信号を処理する場合は、単純にFFTを実行し、不要な成分を除去して変換を反転できます。適切なウィンドウ関数でfftを切り捨てて、呼び出し音を受け入れられるようにする必要があります。


8
遷移帯域がこれほど狭い場合、ウィンドウ関数を選択して、この答えを問題の解決に役立てる方法について詳しく説明する必要があります。
光子

4

オーディオコーデックチップ(ADC + DAC)を選択し、ADCデジタル出力をDAC入力にルーティングし、サンプルレートを10kHzに設定します。

これらのチップには、必要なデジタルフィルターエンジンが既に含まれています。簡単なデータシートチェックにより、必要なフィルターパフォーマンスが得られることを確認しているようです。


確かですか?
user253751

100%確かではありませんが、シグマデルタコーデックで動作しない理由は
見当たりません。8kHz

しかし、不要な周波数をエイリアシングするのではなく、拒否するのはなぜだと思いますか?
user253751

通常のオーディオADCは、巨大なオーバーサンプリングファクターに続くシャープなデジタルフィルターを備えたシグマデルタです。これらのほとんどは、Fs = 8kから96-192kまで実行されます。エイリアシングは、ADCの前の単純な1次ローパスによって回避され、オーバーサンプリングがそれを処理します。適切なクロック周波数で、Fs = 10kHz付近で正常に動作するはずです。
プーフ

4

優れた従来のソリューション、楕円フィルター、(短時間)FFTなどを使用して、すでに多くの良い答えが得られているので、サブバンドコーディング/ウェーブレット変換の世界から何かを追加できると考えていました。

サブバンドコーディングとは、周波数スペクトルを「ビン」に再分割することを意味します。これらのビンにはそれぞれ独自のフィルターが関連付けられています。帯域が狭いほど、時間領域で(当然)フィルターが広くなりますが、非常に狭い帯域を必要としない領域では、非常に短く計算が簡単なフィルターを使用できます。

ウェーブレットは、反復フィルタリングとそれに続くサブサンプリングによって生成される特定のタイプのサブバンドフィルターの結果である関数です。

アイデアは、計算を最も絞ることができるが、それでも関心のある帯域で十分な粒度を得ることができる関心のあるサブバンドを見つけることです。

3つのレベルでのDaubechies 12タップパケット分解の例(Wikipedia):

ここに画像の説明を入力してください

次に、これらを選択的に合計して、必要な応答を取得できます。そして、追加したくないもの-計算する必要さえありません!十分に急な動作を得るには、5-5.2 kHz帯域に近いスリムなものが必要です。しかし、その一方で、5-5.2 kHz帯域から遠く離れて、わずかな細分化で逃げることができます。


これは答えというよりも広告です。
ハリースベンソン

@HarrySvenssonもっと具体的にしようとすることはできますが、答えを改善しなければならなかった頃ほど自由時間はありません。
mathreadler

3

正弦波入力を保証できる場合は、単発単安定(74121)で十分です。または、再トリガー可能な122/123。

74121/122/123より前のコンパレータを使用します

一部のMCUには、周辺機器としてアナログコンパレータが含まれています。MCUにXTAL安定化クロックが搭載されている場合、方形波に変換すると、タイマーなどを使用して5,000Hzを上回る/下回ることを検出できます。温度に敏感な単安定の必要はありません。


3
興味深いが、入力が正弦波であると思われる理由は何ですか?特別な理由なしにその仮定をするためにかなりユートピックのようです。
leftaround

1
私は彼の答えの最初の4つの言葉として「もしあなたが保証できるなら」と言うことで、それは新しい解決策だと思います。
Techydude

このアプローチ(再トリガー可能な74123)を使用して、アンチスキッドブレーキシステムのホイールロックアップを検出しました。74123がタイムアウトすると、油圧シリンダーは2N3055から駆動され、ブレーキをパルスしました。油圧時定数のため、1秒あたり約2パルスしか得られませんでした。
analogsystemsrf
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.