回答:
サウンドカードのアナログ入力とプロットするサンプルの間のチェーンのどこかに、確かにローパスフィルターがあります。ADCの前にアナログアンチエイリアシングフィルターがある可能性があります。さらに、カードまたはオペレーティングシステムのオーディオドライバースタックでリサンプリングプロセス中に1つ以上のローパスフィルターが適用されている可能性があります(要求したサンプルレートでサンプルのストリームが生成されます)。
お気づきのように、ローパスフィルターはしばしば関数に似たインパルス応答を持っています。インパルスで線形システムを励起すると、結果の出力はシステムのインパルス応答のコピーになります(たたみ込み定理による)。したがって、観測された信号が関数のように見えるという事実は予想されます。驚いたようにも聞こえません。sinc
ただし、非因果的行動は観察されませんでした。持っていれば、すぐに地元の特許庁に出向いていたはずです。非因果システムは現実の世界では実現できません。定義を覚えておいてください。システムの応答が非因果的であるためには、その出力が時間内に入力を先行させる必要があります。別の言い方をすると、入力を入力する前に、フィルターは入力に対する応答を出力し始めます。明らかに、それは起こりません。
では、事前呼び出しとは何ですか?シンプル:中央の大きなスパイクは、フィルターのインパルス応答の中心に対応します。ただし、そのスパイクは対応しません。これは、インパルスがフィルターに挿入された時間です。次のMATLABの例を考えます。
% generate a 250th order lowpass filter
b = fir1(250, 0.5);
% plot its impulse response
plot(0:250, b); grid on;
結果のプロットは次のようになります。
ご覧のとおり、プロットのピークはサンプルインデックス0ではありません。フィルターの全体的な遅延は125サンプルであり(実際、すべての線形位相FIRフィルターのバルク遅延はサンプルであり、はフィルターの次数です)、前リンギングと後リンギングはその遅延を中心に。したがって、インパルスを挿入すると、最初はほとんど応答がありません。インパルスがフィルタータップを通過するとき、リンギングはインパルス応答の中心のピークまで増加し、その後ゼロまで減少します。 N
要点:あなたが与えた例には、非因果的動作はありません。上記のローパスフィルターのインパルス応答で示された遅延と同様に、十分な遅延を追加することにより、非因果的フィルターを実際にシミュレートすることが可能です。