Irgendwo in der Kette zwischen dem analogen Eingang der Soundkarte und den Samples, die Sie zeichnen, gibt es sicherlich einen Tiefpassfilter. Vor dem ADC befindet sich wahrscheinlich ein analoger Anti-Aliasing-Filter. Darüber hinaus werden wahrscheinlich ein oder mehrere Tiefpassfilter während des Resampling-Vorgangs entweder auf der Karte oder im Audiotreiberstapel des Betriebssystems angewendet (was zu einem Stream von Samples mit der von Ihnen angeforderten Samplerate führt).
sincsinc
Allerdings : Sie haben kein nicht kausales Verhalten beobachtet. Wenn ja, sollten Sie sofort zu Ihrem örtlichen Patentamt gelaufen sein. Nicht kausale Systeme sind in der realen Welt nicht realisierbar. Denken Sie an die Definition: Damit die Reaktion eines Systems nicht kausal ist, muss seine Ausgabe die Eingabe rechtzeitig führen. Anders ausgedrückt, der Filter gibt seine Antwort auf die Eingabe aus, bevor Sie die Eingabe eingeben. Offensichtlich wird dies nicht passieren.
t=0
% generate a 250th order lowpass filter
b = fir1(250, 0.5);
% plot its impulse response
plot(0:250, b); grid on;
Das resultierende Diagramm sieht folgendermaßen aus:
N2N
Das Mitnehmen: In dem Beispiel, das Sie gegeben haben, gibt es kein nicht kausales Verhalten. In der Praxis ist es möglich, nicht kausale Filter zu simulieren, indem genügend Verzögerung hinzugefügt wird, ähnlich der Verzögerung, die in der obigen Impulsantwort des Tiefpassfilters gezeigt ist.
Die Sinc-Funktion repräsentiert die Transformation eines linearen Phasen-Tiefpassfilters mit "Ziegelwand", wobei der Peak zum Zeitpunkt 0 zentriert ist. Die meisten physikalischen Tiefpassfilter haben eine größere Ähnlichkeit mit einer minimalen Phasenantwort mit einer Größenantwort, die weniger perfekt ist / scharfe Übergänge als bei einem Sinc und mit der Spitze in der minimalen Phasenantwort, die zeitlich um eine physikalische Ausbreitungsverzögerung versetzt ist.
quelle