ein diskretes Filter, das sich aus der Differenz von zwei FIR-Filtern
zusammensetzt. Ein Filter wird mit 0,5 multipliziert, der andere wird um
z^-1 verzögert. Am Ende scheint das Bode-Diagramm nicht korrekt zu sein,
und wenn ich die resultierende Funktion darstellst, entspricht sie nicht
dem, was ich berechnet habe. Wo liegt mein Fehler?
1 | Ts = 1;
|
2 |
|
3 | % Übertragungsfunktionen der FIR-Filter
|
4 | FIR1 = tf([-0.1675, 0.1750, 0.3500, -0.2250, -0.1675, -0.1250], 1, Ts,'Variable','z^-1');
|
5 | FIR2 = tf([0.1250, -0.5850, 0.8500, -0.3000, 0.0500, -0.5850, -0.1250], 1, Ts,'Variable','z^-1');Ts);
|
6 | % Übertragungsfunktion des oberen Pfads (FIR1 * Z^-1)
|
7 | H_oben = FIR1 * tf(1, [1 0], Ts);
|
8 | % Übertragungsfunktion des unteren Pfads (0.5 * FIR2)
|
9 | H_unten = 0.5 * FIR2;
|
10 | % Übertragungsfunktion der Differenz der Pfade
|
11 | H_diff = H_oben - H_unten;
|
12 | disp(H_diff)
|
13 | % Bode-Diagramm
|
14 | figure;
|
15 | bode(H_diff)
|
Ich habe es per Hand nachgerechnet und das Ergebnis müsste sein :
-0.0625+0.4675z^-1-0.0750z^-2-0.0750z^-3+0.1250z^-4-0.0625z^-5-0.1875z^-
6
Dies berechnet Matlab aber nicht