Sida 1 av 1
18db/oct crossover fasproblem ?
Postat: 15 september 2009, 14:08:48
av pern
Håller på med en Isolator vilket igentligen bara är en crossover som summeras tillbaka igen.
Första versionen jag gjorde använde jag 24 db/oct Linkwitz-Riley filter vilket ju summerar bra utan fasproblem, dock tycker jag de är lite för branta.Så nu håller jag på med en 18db med Butterworth filter istället.
Tror ni det blir några fasproblem vid summeringen av de olika banden ?

Re: 18db/oct crossover fasproblem ?
Postat: 15 september 2009, 14:20:36
av psynoise
Det går att göra ett LR-filter med 12 dB/okt också, det gäller bara att fasvända 180 grader på antingen HP eller LP sidan genom att välja en inverterande koppling istället. OBS att ett LR-filter är n^2 stycken Butterworth filter i serie efter varandra.
Nu är jag inte helt säker på detta, kan kolla på det senare, men jag har iaf för mig att jag har tidigare kommit fram till att detta borde fungera.
Re: 18db/oct crossover fasproblem ?
Postat: 15 september 2009, 17:57:36
av pern
Jag behöver 18db filter och 3 band ..
Re: 18db/oct crossover fasproblem ?
Postat: 27 september 2009, 13:16:05
av psynoise
Kom du fram till någon vettig lösning?
Re: 18db/oct crossover fasproblem ?
Postat: 28 september 2009, 07:29:06
av pern
Inte för att få dem 100% i fas.
Dock verkar den vanligaste lösningen för att få ett 18db, 3-bands filter att låta hyffsat vara att bara koppla in en inverterare innan mittbandet. Detta skall tydligen också göra att fasproblemet minskar en del. Har dock inte haft tid att bygga klart det ännu.
Re: 18db/oct crossover fasproblem ?
Postat: 28 september 2009, 22:04:40
av psynoise
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.