VF_biquadVD_biquadVE_biquad
FunktionBiquadratische Filterung
Syntax C/C++#include <VFstd.h>
void VF_biquad( fVector Y, fVector X, ui size, fVector Param );
C++ VecObj#include <OptiVec.h>
void vector<T>::biquad( const vector<T>& X, const vector<T>& Param, );
Pascal/Delphiuses VFstd;
procedure VF_biquad( Y,X:fVector; size:UIntSize; Param:fVector );
CUDA-Funktion C/C++#include <cudaVFstd.h>
int cudaVF_biquad( fVector d_Y, fVector d_X, ui size, fVector h_Param );
int cusdVF_biquad( fVector d_Y, fVector d_X, ui size, fVector d_Param );
float VFcu_biquad( fVector h_Y, fVector h_X, ui size, fVector h_Param );
CUDA-Funktion Pascal/Delphiuses VFstd;
function cudaVF_biquad( d_Y, d_X:fVector; size:UIntSize; h_Param:fVector ): IntBool;
function cusdVF_biquad( d_Y, d_X:fVector; size:UIntSize; d_Param:fVector ): IntBool;
procedure VFcu_biquad( h_Y, h_X:fVector; size:UIntSize; h_Param:fVector );
BeschreibungDie insbesondere zur Bearbeitung von Audio-Daten verwendete biquadratische Filterung berechnet Ausgangswerte Y aus den Eingangswerten X nach der Formel:
Y[i] = a0*X[i] + a1*X[i−1] + a2*X[i-2] - b1*Y[i−1] - b2*Y[i-2]
Da es sich hierbei um einen rekursiven Filter handelt, müssen außer den eigentlichen Filter-Koeffizienten auch die jeweils zwei Ein- und Ausgangswerte vor Beginn des eigentlichen Eingabevektors als Parameter übergeben werden. Hierbei soll der an die Funktion übergebene Vektor Param die folgenden neun Werte enthalten:
Param[0]=a0 Param[1]=a1 Param[2]=a2 Param[3]=b1 Param[4]=b2 Param[5]=X[−1] Param[6]=X[-2] Param[7]=Y[−1] Param[8]=Y[-2]
Fehlerbehandlungkeine
Rückgabewertkeiner
QuerverweisVF_filter,   VF_smooth

VectorLib Inhaltsverzeichnis  OptiVec Home