Thema: Delphi Echtzeit Audio-Filterung

Einzelnen Beitrag anzeigen

Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#6

Re: Echtzeit Audio-Filterung

  Alt 10. Mär 2006, 16:48
Das IIR-Filter benötigt bei 1. Ordnung nur jeweils ein "altes" Ein- und Ausgabe-Sample (bei 2. Ordnung zwei u.s.w.).

Delphi-Quellcode:
var
  Output : SmallInt = 0;
  oldOutput : SmallInt = 0;
  oldInput : SmallInt = 0;

Function SinglePoleIIRLowPass( Input : SmallInt ) : Smallint;
Const
  // Filter-Koeffizienten
  b0 = 0.15;
  b1 = 0.93;
  a1 = 0.85;
Begin
  Output := round( b0*Input + b1*oldInput + a1*oldOutput );

  oldOutput := Output;
  oldInput := Input;

  Result := Output;
End;
Siehe auch diverse Beispiele aufMusicDSP
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat