Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 1/1 Passive Bandsperre (RLC-Schaltung). Berechnung der komplexen Übertragungsfunktion mit zwei Methoden: mit komplexer Rechnung und mit FFT Bandsperre aus 1 Pi-Glied: Z1= R1, Y1= L1 in Reihe mit C1, Z2= Lk parallel mit Ck, Y2= L2 in Reihe mit C2, parallel dazu RA Homepage: http://www.home.hs-karlsruhe.de/~kero0001/ Vgl diese Homepage: http://www.home.hs-karlsruhe.de/~kero0001/RLCFilter/RLC_Vierpol_Filter3.pdf Dort die vier Filtertypen: Tiefpass, Hochpass, Bandpass, Bandsperre. Jeweils als Pi-Glied und als TGlied. Allerdings dort nur die komplexe Berechnung der Übertragungsfunktionen. Hier dagegen für eins dieser Filter, nämlich die Bandsperre (als Pi-Glied) zusätzlich zur komplexen Berechnung auch die Berechnung im Zeitbereich: Als Eingang u0(t) wird eine kurzer Impuls verwendet. Die komplexe Übertragungsfunktion (Ausgang uA zu Eingang u0) ergibt sich als Quotient der FFT der zeitlichen Ausgangsfunktion uA(t) geteilt durch die FFT der Eingangsfunktion u0(t). Die obere Schaltung hat diejenigen Bezeichnungen, die für die komplexe Rechnung verwendet werden, siehe die Symbole unterhalb des Schaltbildes: Die Impedanzen Z1 und Z2 und die Leitwerte Y1 und Y2 und der zusammengefasste Leitwert Y1p parallel zur Spannung u1. Die Formeln für diese komplexen Impedanzen und Leitwerte findet man in der unten eingefügten Matlabdatei BaSp1P1.m Ck R1 Lk L1 u0 L2 RA u1 C1 Z1 uA C2 Y1 Z2 Y2 Y1p Diese zweite Figur ist die gleiche Schaltung wie die erste Figur. Aber die Bezeichnungen sind so geändert worden, dass sie für die Berechnung im Zeitbereich geeignet sind. iCk R1 uCk Ck i1 ik K i2 Lk L1 RA Die Schaltung enthält 6 „Energiespeicher“: drei L2 u0 Spulen und drei Kondensatoren. C1 uC2 uC1 C2 Für die Berechnung im Zeitbereich wird für jeden M2 M1 M3 Energiespeicher eine „Zustandsvariable“ definiert. Für die Spulen den durch die Spule fließenden Strom, also hier der Strom i1 durch die Spule L1, der Strom ik durch die Spule Lk und der Strom i2 durch die Spule L2. Entsprechend wird jedem Kondensator die an ihm liegende Spannung als Zustandsgröße zugeordnet, also hier die Spannung uC1 am Kondensator C1, die Spannung uCk am Kondensator Ck und die Spannung uC2 am Kondensator C2. Durch Anwendung des „Knotensatzes“ (die Summe der Ströme zu einem Knoten ist Null) und des „Maschensatzes“ (die Summe der Spannungen an einer geschlossenen Masche ist Null ) stellt man die Differentialgleichungen (DGLn) des Systems auf: Ziel ist, für jede Zustandsvariable genau eine DGL erster Ordnung aufzustellen, die aber keine weiteren Ableitungen enthält). Es werden also 6 DGLn gesucht: di1/dt=…, di2/dt=…, dik/dt=…, duC1/dt=…, duC2/dt=…, duCk/dt=…, wobei die rechten Seiten keine weiteren Ableitungen enthalten dürfen. Viele Beispiele zum Aufstellen der Differentialgleichungen von RLC-Schaltungen findet man auf dieser Homepage: http://www.home.hs-karlsruhe.de/~kero0001/aufst6/AufstDGL6hs.html Allerdings wird dort nicht die obige Schaltung behandelt, denn, wie gleich gezeigt wird, ist für diese Schaltung das Aufstellen der DGLn nicht ganz einfach. uA Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 2/2 Der Knotensatz liefert für den Knoten zwischen L1 und C1: i1 = Strom auf den Kondensator C1. Der Strom auf den Kondensator ist C1*duC1/dt, also hat man die DGL für uC1: duC1/dt = i1/C1 In entsprechender Weise ergibt sich die DGL für uC2: duC2/dt = i2/C2 Für die Masche aus Lk und Ck ergibt sich: die Spannung uCk ist gleich der Spannung an der Spule Lk. Diese ist Lk*dik/dt, also hat man die DGL für ik: dik/dt = uCk/Lk Leider findet man die anderen noch aufzustellenden DGLn nicht so einfach. Um die Problematik zu demonstrieren, wollen wir es zunächst mal recht umständlich versuchen: Der Maschensatz für die Masche M1 liefert: u0 = R1*Strom durch R1 + L1*di1/dt + uC1 Der Strom durch R1 ist (laut Knotensatz ) i1+ik+Ck*duCk/dt, folglich wird u0 = R1*( i1+ik+Ck*duCk/dt) + L1*di1/dt + uC1. Zur Hervorhebung sind die Ableitungen unterstrichen. Man sieht, dass die DGL zwei Ableitungen enthält. Sie ist also in dieser Form noch nicht für die numerische Berechnung geeignet. uCk iCk Der Maschensatz für die Masche M2 liefert R1 Ck K die DGL L1*di1/dt + uC1= uCk+ L2*di2/dt + uC2. Sie enthält ebenfalls 2 i2 i1 ik Ableitungen, ist also auch nicht unmittelbar Lk L1 RA für die numerische Lösung geeignet. L2 u0 uA C1 uC2 uC1 C2 Masche M3: Strom durch RA ist (laut M2 M1 M3 Knotensatz für Knoten K) iRA= ik + Ck*duCk/dt – i2, folglich gilt für die Masche M3: L2*di2/dt + uC2 = RA* (ik + Ck* duCk/dt – i2). Auch diese DGL enthält zwei Ableitungen. Es haben sich also 3 DGLn ergeben, die insgesamt die drei unbekannten Ableitungen enthalten: di1/dt , di2/dt und duCk/dt. Durch Lösen dieses linearen Gleichungssystems (drei Gleichungen für 3 Unbekannte) könnte man die gesuchten Unbekannten, nämlich die drei Ableitungen, finden. Man kann sich das relativ umständliche Lösen dieses Gleichungssystems sparen und kommt sehr viel schneller zum Ziel, indem man für den Kondensatorstrom Ck*duCk/dt die „Hilfsgröße“ iCk einführt. Dies ist in obiger Figur bereits geschehen (rote Schrift). Der Maschensatz für „die Masche über Alles“ liefert (bei sofortiger Anwendung des Kontensatzes) sofort die „algebraische“ Gleichung u0 = R1*(i1 + ik + iCk) + uCk + RA* (ik+ iCk – i2) Den (in Rotschrift geschriebenen ) Strom iCk kann man ausklammern: u0 = R1*(i1 + ik )+ iCk *(R1+ RA) + uCk + RA* (ik – i2) und damit hat man eine Formel für iCk: iCk=1/(R1+RA) * ( u0 – R1*(i1+ik) – uCk – RA*(ik – i2) ) Mit dieser Hilfsgröße iCk lassen sich die drei noch gesuchten DGLn sofort finden (zur Verdeutlichung sind die Ableitungen unterstrichen dargestellt): Strom durch Kondensator Ck: Ck*duCk/dt = iCk u0 = R1*( i1+ik+iCk) + L1*di1/dt + uC1 Masche M1: L2*di2/dt + uC2 = RA*(ik + iCk- i2) Masche M3: Zusammengefasst werden noch einmal die Formel für iCk und anschließend die 6 DGLn hingeschrieben, gleich so umgeformt, dass auf der linken Seite nur die Ableitung steht: iCk = duC1/dt duC2/dt dik/dt 1/(R1+RA) * ( u0 – R1*(i1+ik) – uCk – RA*(ik – i2) ) = i1/C1 = i2/C2 = uCk/Lk Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 3/3 duCk/dt = iCk/Ck di1/dt = ( u0 - R1*( i1+ik+iCk1) – uC1 )/L1 di2/dt = ( RA*(ik + iCk- i2) - uC2 )/L2 Diese DGLn werden in der nachfolgenden Matlabdatei BaSp1P1.m numerisch gelöst. function BaSp1P1(R1, L1,C1,Lk,Ck,fak,dw,wmax,dt,tmax,DT,bild ); %function BaSp1P1(R1, L1,C1,Lk,Ck,fak,dw,wmax,dt,tmax,DT,bild ); % BaSp1P1(0.9,1, 1 ,1, 1, 1,0.001,10,0.01,200, 1, 1 ); % % Auch Zeitbereich R1 % Bandsperre aus 1 Pi-Glied: % Z1= R1 % Y1= C1 in Reihe mit L1 L1 % Z2= CK parallel mit Lk u0 u1 % Y2= L2 in Reihe mit C2, C1 % parallel dazu RA=fak*R1 C2=C1; L2=L1; RA=fak*R1; Z1 Y1 Ck Lk RA L2 uA C2 Z2 Y2 format compact; Y1p w=1e-5:dw:wmax; % Vektor Kreisfrequenz w s = j * w; % j = Wurzel aus (-1), s= "DiffenrentialOperator" % Definition der Schaltung der 2-gliedrigen Kette (s. Schaltbild): % Man beachte die “elementweise” Multiplikation ( .* statt nur *) und Division ( ./ statt nur /) Z1=R1; % 1. Längsimpedamz Y1= 1./(s*L1+ 1./(s*C1)); % 1. Querleitwert Z2= 1 ./( s*Ck + 1./(s*Lk)); % 2. Längsimpedanz Y2= 1/(fak*R1)+ 1./(s*L2 + 1./(s*C2) ) ; % 2. Querleitwert % Y1p = Y1+ 1./(Z2+ 1./Y2); % Ersatzleitwert parallel zu u1 u1=1 ./(1+ Z1 .* Y1p); % u1= Spannung am 1. Querleitwert u2=u1 ./(1+ Z2 .* Y2); % u2= Spannung am 2. Querleitwert, (u2=uA) % S0=['bild=',num2str(bild)]; S1=[',R1=',num2str(R1)]; S2=[',L1=',num2str(L1)]; S3=[',C1=',num2str(C1)]; S4=[',Lk=',num2str(Lk)]; S5=[',Ck=',num2str(Ck)]; S6=[',fak=',num2str(fak)]; Ti=[S0,S1,S2,S3,S4, S5,S6]; figure(bild); clf reset; plot(w, abs(u2),'k', w, angle(u2)*180/pi/1000,'m'); grid on; Title(Ti); xlabel('omega, FFT-Methode gepunktet'); legend('abs(u2)','Winkel(u2)'); % Ortskurve: figure(bild+1); clf reset; plot(real(u2),imag(u2)); axis equal; grid on; %xlabel('real(u2)');ylabel('imag(u2)'); %disp(' BaPa1T1(R1, C1,L1,RL1, Lk,RLk,Ck, C2,L2,RL2,fak, dw, wmax, bild '); % Jetzt Zeitbereich t=0:dt:tmax; % Zeitvektor uAp=zeros(1,length(t)); RA=fak*R1; % Zur Neudefinition tmax, damit FFT mit 2-er Potenz rechnet, also schneller hoch=log2((tmax-dt)/dt); hoch = round(hoch), anz=2^hoch; tmax=dt*(2^hoch), %Neudefinition von tmax t=0:dt:tmax-dt; LT=length(t), uAp=zeros(1,length(t)); % Deklaration von Plotwerten uAp Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 4/4 %Startwerte: i1=0; uC1=0; ik=0; uCk=0; i2=0; uC2=0; iCk=0; t1=5; t2=t1+DT; a0=0.9; u0= a0* exp( - (t-t1) .*(t - t1) / (t2 - t1)^2 ); % k=1; Eingangsspannung als „Glockenimpuls“ % Jetzt numerisches Lösen der DGLn nach dem einfachen Prinzip: % der neue Wert ist gleich dem alten Wert plus die Änderung for k=1:length(t); % Plotwerte speichern: % uCkp(k)=uCk; % uC1p(k)=uC1; % uC2p(k)=uC2; uAp(k)=fak*R1*(ik-i2+iCk); % für Plotten der Ausgangsspannung uA iCk=1/(R1+RA)*(u0(k)-R1*(i1+ik) - uCk-RA*(ik-i2)); % Hilfsgröße iCk % neue Werte berechnen (der neue Wert ist gleichem dem alten Wert plus die Änderung) uCk= uCk + iCk*dt/Ck; uCk iCk i1 = i 1 + (u0(k) - R1*(i1+ik+iCk) - uC1)*dt/L1; R1 C uC1 = uC1 + i1*dt/C1; k i2 ik = ik + uCk*dt/Lk; i1 ik Lk uC2 = uC2 + (i2)*dt/C2; L1 RA L2 u0 i2 = i2 + (RA*(ik+iCk-i2) - uC2 )*dt/L2; C1 uC uC1 C2 2 end; % for k=1.... uA % Fourier-Analyse mit FFT: fftu0=fft(u0,length(t)); % fftu0 = komplexes Spektrum des zeitlichen Einganssignals u0 fftuAp=fft(uAp,length(t)); % fftuAp = komplexes Spektrum des zeitlichen Ausgangssignals xfer=fftuAp ./ fftu0; % Das ist die wichtige Formel: Die komplexe Übertragungsfunktion % xfer ist gleich dem Quotienten komplexes Spektrum des zeitlichen Ausgangssignals % geteilt durch das komplexe Spektrum des zeitlichen Einganssignals df=1/tmax; % df = Frequenzschrittweite, tmax= Dauer des Zeitbereichs freq=0:df: df*(length(t)-1); % freq = Vektor der Frequenzen figure(bild+2); clf reset; % Plotten der Zeitsignale: Eingang u0/10 , Farbe rot (m = magenta ), Ausgang uAp, Farbe schwarz (k) plot(t,u0/10,'m', t, uAp,'k'); grid on; xlabel('sec');title(Ti); legend('u0/10','uAp') FuAp=fft(uAp,length(uAp)); Fu0=fft(u0,length(t)); xfer=FuAp./Fu0; figure(bild); hold on; plot(2*pi*freq(1:100),abs(xfer(1:100)),'.k' , ... 2*pi*freq( 1:100),angle(xfer(1:100))*180/pi/1000,'.m'); hold off; figure(bild+1); hold on; plot( real(xfer(1:100)), imag(xfer(1:100)),'.'); % FFT-Methode gepunktet xlabel('komplexe Ortskurve, FFT-Methode gepunktet') disp(' BaSp1T1(R1, L1,C1,Lk,Ck,fak,dw,wmax,dt,tmax,DT,bild );'); % toc % Ende Datei BaSp1P1.m Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 5/5 Beispiel-Aufrufe: BaSp1P1(0.9,1, 1 ,1, 1, 1,0.001,2,0.005,200, 1, 5 ); Das Ziel ist, zu zeigen, dass die komplexe Methode und die Zeitbereichs-Methode (d.h. die FFT-Methode) das gleiche Ergebnis liefern. Drum sind die mit der FFT-Methode berechneten Kurven punktiert dargestellt und die mit der komplexen Methode als durchgezogene Kurven Man erkennt, dass die Punkte praktisch genau auf den durchgezogenen Linien liegen, also, dass beide Methoden übereinstimmen. bild=5,R1=0.9,L1=1,C1=1,Lk=1,Ck=1,fak=1 0.5 abs(u2) Winkel(u2) 0.4 BaSp1P1(0.9,1, 1 ,1, 1, 1,0.001,2,0.005,200, 1, 5 ); 0.3 0.2 0.1 0 -0.1 -0.2 0 0.5 1 1.5 2 2.5 omega, FFT-Methode gepunktet 3 3.5 4 0.4 0.3 0.2 BaSp1P1(0.9,1, 1 ,1, 1, 1,0.001,2,0.005,200, 1, 5 ); 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.4 -0.2 0 0.2 0.4 0.6 komplexe Ortskurve, FFT-Methode gepunktet bild=5,R1=0.9,L1=1,C1=1,Lk=1,Ck=1,fak=1 0.3 u0/10 uAp 0.2 BaSp1P1(0.9,1, 1 ,1, 1, 1,0.001,2,0.005,200, 1, 5 ); 0.1 0 -0.1 0 20 40 60 80 sec 100 120 140 160 180 Die drei obigen Figuren gehören zusammen. Der Amplitudengang ist so gewählt, dass im Durchlassbereich möglicht konstante Amplitude resultiert. Das erreicht man allein durch die Wahl des Widerstandes R1 (und RA=R1) Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 6/6 Jetzt Ziel, den Sperrbereich schmäler zu machen: Dazu wird die Koppelemente verändert, aber so, dass das Produkt Lk*Ck gleich L1*C1 bleibt. Beim nächsten Aufruf ist statt LK=1, CK=1 gewählt worden: Lk=0.25, CK=4 (das Produkt bleibt also =1) Zusätzlich wird der Widerstand R1 halbiert, also statt 0.9 jetzt 0.45. Aufruf war: BaSp1P1(0.45,1, 1 ,0.25, 4, 1,0.001,2,0.005,200, 1, 10 ); bild=10,R1=0.45,L1=1,C1=1,Lk=0.25,Ck=4,fak=1 0.5 abs(u2) Winkel(u2) BaSp1P1(0.45,1, 1 ,0.25, 4, 1,0.001,2,0.005,200, 1, 10 ); 0.4 0.3 0.2 0.1 0 -0.1 -0.2 0 0.5 1 1.5 2 2.5 omega, FFT-Methode gepunktet 3 3.5 4 0.4 BaSp1P1(0.45,1, 1 ,0.25, 4, 1,0.001,2,0.005,200, 1, 10 ); 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.4 -0.2 0 0.2 0.4 0.6 komplexe Ortskurve, FFT-Methode gepunktet bild=10,R1=0.45,L1=1,C1=1,Lk=0.25,Ck=4,fak=1 0.3 u0/10 uAp 0.2 BaSp1P1(0.45,1, 1 ,0.25, 4, 1,0.001,2,0.005,200, 1, 10 ); 0.1 0 -0.1 0 20 40 60 80 sec 100 120 140 160 180 Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 7/7 Jetzt Ziel, den Sperrbereich noch schmäler zu machen: Dazu werden die Koppelemente verändert, aber so, dass das Produkt Lk*Ck gleich L1*C1 bleibt. Beim nächsten Aufruf ist statt LK=1, CK=1 gewählt worden: Lk=1/16=0.0625, Ck=16 (das Produkt bleibt also =1) Zusätzlich wird der Widerstand R1 noch mal halbiert, also statt 0.45 jetzt 0.225. Aufruf war: BaSp1P1(0.225,1, 1 ,0.0625, 16, 1,0.001,2,0.005,200, 1, 15 ); bild=15,R1=0.225,L1=1,C1=1,Lk=0.0625,Ck=16,fak=1 0.6 0.5 0.4 BaSp1P1(0.225,1, 1 ,0.0625, 16, 1,0.001,2,0.005,200, 1, 15 ); 0.3 abs(u2) Winkel(u2) 0.2 0.1 0 -0.1 omega, FFT-Methode gepunktet -0.2 0 0.5 1 1.5 2 2.5 3 3.5 4 0.4 0.3 0.2 B aS p1P 1(0.225,1, 1 ,0.0625, 16, 1,0.001,2,0.005,200, 1, 15 ); 0.1 0 -0.1 -0.2 -0.3 kom plexe Ortskurve, FFT-M ethode gepunktet -0.4 -0.4 -0.2 0 0.2 0.4 0.6 bild= 15,R 1= 0.225,L1= 1,C 1= 1,Lk = 0.0625,C k = 16,fak = 1 0.5 u0/10 uA p 0.4 0.3 B aS p1P 1(0.225,1, 1 ,0.0625, 16, 1,0.001,2,0.005,200, 1, 15 ); 0.2 0.1 0 -0.1 -0.2 0 20 40 60 80 s ec 100 120 140 160 180 Prof. Dr. R. Kessler, HS-Karlsruhe, C:\ro\Si05\Andy\komptep\Bandsperre1.doc, S. 8/8 Jetzt Bandbreite noch weiter verschmälern: wieder Lk, Ck auf den vierten Teil und R1 halbieren. Das ergibt den folgenden Aufruf: BaSp1P1(0.1125,1, 1 ,1/64, 64, 1,0.001,2,0.001,200, 1, 20 ); bild=20,R1=0.1125,L1=1,C1=1,Lk=0.015625,Ck=64,fak=1 0.5 abs(u2) Winkel(u2) 0.4 0.3 BaSp1P1(0.1125,1, 1 ,1/64, 64, 1,0.001,2,0.001,200, 1, 20 ); 0.2 0.1 0 -0.1 omega, FFT-Methode gepunktet -0.2 0 0.5 1 1.5 2 2.5 0.4 BaSp1P1(0.1125,1, 1 ,1/64, 64, 1,0.001,2,0.001,200, 1, 20 ); 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 komplexe Ortskurve, FFT-Methode gepunktet -0.4 -0.4 -0.2 0 0.2 0.4 0.6 bild=20,R1=0.1125,L1=1,C1=1,Lk=0.015625,Ck=64,fak=1 0.4 0.3 BaSp1P1(0.1125,1, 1 ,1/64, 64, 1,0.001,2,0.001,200, 1, 20 ); 0.2 u0/10 uAp 0.1 0 -0.1 0 50 100 150 sec 200 250 300