Kollade lite i Matlab hur det kan bli med följande kod.
Kod: Markera allt
w = [10^-2: 10^-3: 10^2];
s = j.*w;
% Lågpass Butterworth-filter av 3:e ordningen.
[b, a] = butter(3,1,'low','s');
Hlp = (b(1).*s.^3 + b(2).*s.^2 + b(3).*s + b(4))./(a(1).*s.^3 + a(2).*s.^2 + a(3).*s + a(4));
figure
loglog(w,abs(Hlp))
figure
semilogx(w,angle(Hlp))
% Högpass Butterworth-filter av 3:e ordningen.
[b, a] = butter(3,1,'high','s');
Hhp = (b(1).*s.^3 + b(2).*s.^2 + b(3).*s + b(4))./(a(1).*s.^3 + a(2).*s.^2 + a(3).*s + a(4));
figure
loglog(w,abs(Hhp))
figure
semilogx(w,angle(Hhp))
% Summan av båda filtren
figure
loglog(w,abs(Hlp+Hhp))
figure
semilogx(w,angle(Hlp+Hhp))
Helt enkelt ett lågpass och ett högpass filter med samma brytfrekvens där resultatet summeras ihop.
Amplituden (absolutbeloppet) blir perfekt vid summation av lågpass och högpass filtret, dock blir inte fasen lika bra som ett LR-filter. Utan inverterare fick jag fram:
Med invererterare fick jag fram:
Vinkel anges i radian där 2*pi radianer = 360 grader.