Ich schreibe Software zur Verarbeitung von Audio als 16-Bit-PCM-Samples. Die erste Stufe der Verarbeitung umfasst die Berechnung der Energie (oder der Gesamtvariation) in einem bestimmten Frequenzbereich (oberhalb einer bestimmten Grenzfrequenz).
Was ich gerade mache, ist das Subtrahieren der Energie des tiefpassgefilterten Signals von der Energie des ursprünglichen Signals. Ich fand heraus, dass ein Großteil der Verarbeitung der Konvertierung der ganzzahligen Sampels in eine Gleitkommadarstellung gewidmet ist.
Meine Frage ist also, gibt es eine Technik zum Filtern der ganzzahligen Abtastwerte, ohne sie in Gleitkomma umzuwandeln?
quelle
Bei einigen Prozessoren kann die Konvertierung eines großen Blocks (aber im Cache) von Ganzzahlen in Floats vor der Verarbeitung aufgrund der Beseitigung von Pipeline-Gefahren schneller sein. Vielleicht möchten Sie dies vergleichen.
Wenn Sie eine skalierte Ganzzahl- oder Festkomma-Arithmetik verwenden, ist der Betrag der hinzugefügten Ganzzahlgenauigkeit, den Sie für die Koeffizienten und Zwischenwerte benötigen, ungefähr proportional zum Verhältnis zwischen Ihrer Abtastrate und Ihrer gewünschten Grenzfrequenz. Möglicherweise müssen Sie für Ihre 16-Bit-Samples eine Ganzzahlarithmetik mit 24,32,48 Bit oder mehr verwenden, um den gewünschten numerischen Grundrauschpegel zu erreichen. Einige Prozessorbefehlssätze (ARM, MIPS usw.) können zu diesem Zweck eine 64-Bit-Akkumulationsarithmetik enthalten.
quelle