Forum: PC-Programmierung Matlab: Bode-Diagramm meines diskreten Filters zeigt falsche Ergebnisse.


von Der H. (der_h)


Lesenswert?

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

: Bearbeitet durch User
von A. Z. (donvido)


Lesenswert?

Haste dich wohl verrechnet...

 -0.1675 z^-1 - (- 0.2925 z^-1) != 0.4675z^-1

von Der H. (der_h)


Lesenswert?

ups, danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.