Für die Filterung soll folgende Differenzengleichung verwendet werden: y(k)=x(k)+3x(k-1)+x(k-2)+0.231y(k-1)-0.123y(k-2) Nun soll man eine C-Funktion schreiben "filter_FIR", die als Parameter einen Vector mit Eingangswerten und einen Vektor mit Ausgangswerten sowie die Länge der beiden Vektoren bekommt und die Filterung durchführt.
1 | void filter_FIR(double *x, double *y, int rec) |
2 | {
|
3 | int n=0; |
4 | |
5 | for(n;n<rec;n++) |
6 | y(n)=x(n)+3x(n-1)+x(n-2)+0.231y(n-1)-0.123y(n-2) |
7 | }
|
Stimmt die Umsetzung der Differenzengleichung in die C-Funktion so?