3

実は以前にもこの質問を投稿したことがありますが、まだ回答がありません。多分私は十分に明確ではなかったので、言い換えてみましょう:

ご存じのように、特定のサンプリング レートで信号をサンプリングしている場合、サンプリング レートの半分よりも高い周波数はすべてエイリアシングされます。これを回避するには、適切なローパス フィルターを介して信号 (アナログ形式、またはより高いレートでサンプリングされたデジタル形式) を渡す必要があります。

さて、私の場合、Windows の waveIn 関数を使用して、特定のレートでマイク入力を収集しています。waveIn 関数は、事前に定義された任意のレートではなく、私が提供する任意のサンプリング レートで動作するように見えるため、サウンドカードが実際にそのレートでサンプリングするのか、それとも事前定義されたレートでサンプリングしてシステムが「 "それは私の要求されたレートに。実際、私も気にしません...

私が懸念しているのは、たとえば8kHzでサンプリングするとき、サウンドカードまたはシステムがローパスフィルタリングを実行するかどうかです(サウンドカードのアナログフィルターまたはデジタルフィルターのいずれかで、サポートされている最大サンプリングレートに制限されます)入力でエイリアシング周波数が得られないようにします。

それとも、可能な限り最高のサンプリング レートでサンプリングし、自分で周波数をフィルター処理する必要がありますか?

4

1 に答える 1

5

信号をサンプリングする前にLPFを使用しなかった場合、非常に貧弱なサウンドカードを使用していると思います. 私はこれについて心配することはありません!10kHz トーンを渡すことでいつでもチェックでき、それがエイリアシングされているかどうかを確認できます。

編集: サウンドカードが 44.1 や 48 などでそれを提供したとしても、waveIn はリサンプリング時に LPF を実行します。サンプリングのほんの一部です。一部のアプリケーションでアンチエイリアシング フィルターをオフにして、ファンキーな周波数ループバック効果を得ることができますが、デフォルトでは常にオンになっていると思います。

于 2009-04-23T12:05:59.480 に答える