490 likes | 669 Vues
OT3OS1. 13.12.2007. Definicije - podsetnik. Funkcija prenosa. IIR. FIR. Diferencna jedna čina. Funkcija prenosa. Nule i polovi funkcije prenosa. IIR. FIR. Trivijalni polovi. Stabilnost i kauzalnost sistema. Da bi sistem bio stabilan oblast konvergencije mora obuhvatati jedinični krug
E N D
OT3OS1 13.12.2007.
Funkcija prenosa IIR FIR Diferencna jednačina Funkcija prenosa
Nule i polovi funkcije prenosa IIR FIR Trivijalni polovi
Stabilnost i kauzalnost sistema • Da bi sistem bio stabilan oblast konvergencije mora obuhvatati jedinični krug • Da bi sistem bio kauzalan oblast konvergencije mora se nalaziti izvan kruga koji prolazi kroz pol najudaljeniji od koordinantnog početka Za kauzalni linerani vremenski invarijantni sistem navedena dva uslova će biti zadovoljena ako i samo ako svi polovi funkcije prenosa leže unutar jediničnog kruga kompleksne z ravni
Frekvencijski odziv Furijeova transformacija impulsnog odziva Veza sa z transformacijom Kompleksna funkcija!!!
Frekvencijski odziv Amplitudska karakteristika Fazna karakteristika
Pojačanje, slabljenje... Pojačanje Slabljenje Grupno kašnjenje
Sa približavanjem nule jediničnom krugu uticaj na frekvencijsku karakteristiku se povećava. Za nulu čiji je modul blizak jedinici amplitudska karakteristika ima lokalni minimum za frekvenciju koja odgovara tački na jediničnom krugu koja je najbliža posmatranoj nuli. Primer 1 - jedan par konjugovano kompleksnih nula - uticaj promene parametra ρ, ω0=const=0.1π
Primer 2 - jedan par konjugovano kompleksnih nula - uticaj promene parametraω0, ρ=const=0.5
Sa približavanjem pola jediničnom krugu uticaj na frekvencijsku karakteristiku se povećava. Za pol čiji je modul blizak jedinici amplitudska karakteristika ima lokalni maksimum za frekvenciju koja odgovara tački na jediničnom krugu koja je najbliža posmatranom polu. Primer 3 - jedan par konjugovano kompleksnih polova - uticaj promene parametra ρ, ω0=const=0.1π
Primer 4 - jedan par konjugovano kompleksnih polova - uticaj promene parametra ω0, ρ=const=0.5
Primer 6 - allpass sekcija 1 reda - uticaj promene parametraρ
Primer 7 – linearna faza - uticaj promene parametra ρ, ω0=const=0.1π
Primer 7 – linearna faza - uticaj promene parametra ρ, ω0=const=0.1π Fazna karakteristika
Primer 8 – minimalna faza/linearna faza, ρ=0.75, ω0=0.1π Fazna karakteristika
Primer 9 – minimalna faza/allpass, ρ=0.75, ω0=0.1π Fazna karakteristika
Primer 1 - jedan par konjugovano kompleksnih nula - uticaj promene parametra ρ, ω0=const=0.1π close all clear w0=pi*50/500; ro=[0.2 0.5 0.9 1]; br_tac=1000; H=zeros(br_tac,length(ro)); nule=zeros(2,length(ro)); polovi=zeros(2,length(ro)); for br=1:length(ro) h(br,:)=[1 -2*ro(br)*cos(w0) ro(br)^2]; [H(:,br),w]=freqz(h(br,:),1,1000); nule(:,br)=roots(h(br,:)); polovi(:,br)=zeros(size(nule(:,br))); end; figure,plot(w/pi,abs(H)),xlabel('\omega/\pi'),ylabel('|H(e^j^\omega)|'),legend('\rho=0.2','\rho=0.5','\rho=0.9','\rho=1.0'); figure,plot([0:2],h,'o'),xlabel('n'),ylabel('h(n)'),legend('\rho=0.2','\rho=0.5','\rho=0.9','\rho=1.0'); figure,zplane(nule,polovi),legend('\rho=0.2','\rho=0.5','\rho=0.9','\rho=1.0');
Primer 2 - jedan par konjugovano kompleksnih nula - uticaj promene parametraω0, ρ=const=0.5 close all clear w0=pi*[50 250 400]/500; ro=0.5; br_tac=1000; H=zeros(br_tac,length(w0)); nule=zeros(2,length(w0)); polovi=zeros(2,length(w0)); for br=1:length(w0) h(br,:)=[1 -2*ro*cos(w0(br)) ro^2]; [H(:,br),w]=freqz(h(br,:),1,1000); nule(:,br)=roots(h(br,:)); polovi(:,br)=zeros(size(nule(:,br))); end; figure,plot(w/pi,abs(H)),xlabel('\omega/\pi'), ylabel('|H(e^j^\omega)|'),legend('\omega_0=0.1\pi','\omega_0=0.5\pi','\omega_0=0.8\pi'); figure,plot([0:2],h,'o'),xlabel('n'),ylabel('h(n)'),legend('\omega_0=0.1\pi','\omega_0=0.5\pi','\omega_0=0.8\pi'); figure,zplane(nule,polovi),legend('\omega_0=0.1\pi','\omega_0=0.5\pi','\omega_0=0.8\pi');
Primer 3 - jedan par konjugovano kompleksnih polova - uticaj promene parametra ρ, ω0=const=0.1π close all clear w0=pi*50/500; ro=[0.2 0.5 0.9 0.95]; br_tac=1000; H=zeros(br_tac,length(ro)); nule=zeros(2,length(ro)); polovi=zeros(2,length(ro)); for br=1:length(ro) b(br,:)=1; a(br,:)=[1 -2*ro(br)*cos(w0) ro(br)^2]; h(:,br)=impz(b(br,:),a(br,:),100); [H(:,br),w]=freqz(b(br,:),a(br,:),1000); polovi(:,br)=roots(a(br,:)); nule(:,br)=zeros(size(polovi(:,br))); end; figure,plot(w/pi,abs(H)),xlabel('\omega/\pi'),ylabel('|H(e^j^\omega)|'),legend('ro=0.2','ro=0.5','ro=0.9','ro=0.95'); figure,plot([0:99],h),xlabel('n'),ylabel('h(n)'),legend('ro=0.2','ro=0.5','ro=0.9','ro=0.95'); figure,zplane(nule,polovi),legend('ro=0.2','ro=0.5','ro=0.9','ro=0.95');
Primer 4 - jedan par konjugovano kompleksnih polova - uticaj promene parametra ω0, ρ=const=0.5 close all clear w0=pi*[100 250 400]/500; ro=0.5; br_tac=1000; H=zeros(br_tac,length(w0)); nule=zeros(2,length(w0)); polovi=zeros(2,length(w0)); for br=1:length(w0) b(br,:)=1; a(br,:)=[1 -2*ro*cos(w0(br)) ro^2]; h(:,br)=impz(b(br,:),a(br,:),100); [H(:,br),w]=freqz(b(br,:),a(br,:),1000); polovi(:,br)=roots(a(br,:)); nule(:,br)=zeros(size(polovi(:,br))); end; figure,plot(w/pi,abs(H)),xlabel('\omega/\pi'), ylabel('|H(e^j^\omega)|'),legend('\omega_0=0.2\pi','\omega_0=0.5\pi','\omega_0=0.8\pi'); figure,plot([0:99],h),xlabel('n'),ylabel('h(n)'),legend('\omega_0=0.2\pi','\omega_0=0.5\pi','\omega_0=0.8\pi'); figure,zplane(nule,polovi),legend('\omega_0=0.2\pi','\omega_0=0.5\pi','\omega_0=0.8\pi');
Primer 5 - jedan realan pol- uticaj promene parametra ρ close all clear a=[0.2 0.5 0.9]; Nio=100; nule=zeros(1,length(a)); polovi=zeros(1,length(a)); for br=1:length(a) h(br,:)=impz(1,[1 -a(br)],Nio); [H(:,br),w]=freqz(1,[1 -a(br)],1000); end; figure,plot(w/pi,abs(H)),xlabel('\omega/\pi'),ylabel('|H(e^j^\omega)|'), legend('\rho=0.2','\rho=0.5','\rho=0.9'); figure,plot([0:Nio-1],h,'o'),xlabel('n'), ylabel('h(n)'),legend('\rho=0.2','\rho=0.5','\rho=0.9');
Primer 6 - allpass sekcija 1 reda - uticaj promene parametraρ close all clear ro=[0.2 0.5 0.9 0.99]; br_tac=1000; H=zeros(br_tac,length(ro)); nule=zeros(1,length(ro)); polovi=zeros(1,length(ro)); Nio=10; for br=1:length(ro) b=[1 -1/ro(br)]; a=[1 -ro(br)]; [H(:,br),w]=freqz(b,a,1000); [h(br,1:Nio),n]=impz(b,a,Nio); nule(br,1)=roots(b); polovi(br,1)=roots(a); end; figure,plot(w/pi,abs(H)),xlabel('\omega/\pi'),ylabel('|H(e^j^\omega)|'),legend('\rho=0.2','\rho=0.5','\rho=0.9','\rho=0.99'); figure,plot(n,h,'o'),xlabel('n'),ylabel('h(n)'),legend('\rho=0.2','\rho=0.5','\rho=0.9','\rho=0.99'); figure,zplane(nule,polovi),legend('\rho=0.2','\rho=0.5','\rho=0.9','\rho=0.99');
Primer 7 – linearna faza - uticaj promene parametra ρ, ω0=const=0.1π close all clear ro=[0.2 0.5 0.95]; w0=pi*50/500; br_tac=1000; H=zeros(br_tac,length(ro)); nule=zeros(4,length(ro)); polovi=zeros(4,length(ro)); for br=1:length(ro) pom1=[1 -2*ro(br)*cos(w0) ro(br)^2]; pom2=[1 -2*1/ro(br)*cos(w0) (1/ro(br))^2]; nule(:,br)=[roots(pom1);roots(pom2)]; polovi(:,br)=zeros(size(nule(:,br))); b(br,:)=poly(nule(:,br)); [H(:,br),w]=freqz(b(br,:),1,1000); b(br,:)=b(br,:)/max(abs(H(:,br))); H(:,br)=H(:,br)/max(abs(H(:,br))); end; figure,plot(w/pi,abs(H)),... figure,plot(w/pi,angle(H)),... figure,plot(w/pi,unwrap(angle(H))),... figure,plot([0:4],b,'o'),... figure,zplane(nule,polovi),...
Primer 8 – minimalna faza/linearna faza, ρ=0.75, ω0=0.1π close all clear ro=[0.75]; w0=pi*50/500; br_tac=1000; H=zeros(br_tac,length(ro)); nule1=zeros(2,length(ro)); polovi1=zeros(2,length(ro)); nule2=zeros(2,length(ro)); polovi2=zeros(2,length(ro)); pom1=[1 -2*ro*cos(w0) ro^2]; pom2=[1 -2*1/ro*cos(w0) (1/ro)^2]; nule1=roots(pom1); nule2=roots(pom2); polovi1=zeros(size(nule1)); polovi2=zeros(size(nule2)); b1=poly(nule1); b2=poly(nule2); [H1,w]=freqz(b1,1,1000); [H2,w]=freqz(b2,1,1000); b1=b1/max(abs(H1)); b2=b2/max(abs(H2)); H1=H1/max(abs(H1)); H2=H2/max(abs(H2)); b3=poly([nule1; nule2]); [H3,w]=freqz(b3,1,1000); b3=b3/max(abs(H3)); H3=H3/max(abs(H3)); figure,plot(w/pi,abs(H1),w/pi,abs(H2),w/pi,abs(H3)),... figure,plot(w/pi,angle(H1),w/pi,angle(H2),w/pi,angle(H3)),... figure,plot(w/pi,unwrap(angle(H1)),w/pi,unwrap(angle(H2)),w/pi,unwrap(angle(H3))),... figure,plot([0:2],b1,'o',[0:2],b2,'o',[0:4],b3,'o'),... figure,zplane([nule1 nule2],[polovi1 polovi2]),...
Primer 9 – minimalna faza/allpass, ρ=0.75, ω0=0.1π close all clear ro=[0.75]; w0=pi*50/500; br_tac=1000; H=zeros(br_tac,length(ro)); nule1=zeros(2,length(ro)); polovi1=zeros(2,length(ro)); nule2=zeros(2,length(ro)); polovi2=zeros(2,length(ro)); pom1=[1 -2*ro*cos(w0) ro^2]; pom2=[1 -2*1/ro*cos(w0) (1/ro)^2]; nule1=roots(pom1); nule2=roots(pom2); polovi1=zeros(size(nule1)); polovi2=roots(pom1); b1=poly(nule1); b2=poly(nule2); a2=poly(polovi2); [H1,w]=freqz(b1,1,1000); [H2,w]=freqz(b2,a2,1000); H1=H1/max(abs(H1)); H2=H2/max(abs(H2)); H3=H1.*H2; figure,plot(w/pi,abs(H1),w/pi,abs(H2),w/pi,abs(H3)),... figure,plot(w/pi,angle(H1),w/pi,angle(H2),w/pi,angle(H3)),... figure,plot(w/pi,unwrap(angle(H1)),w/pi,unwrap(angle(H2)),w/pi,unwrap(angle(H3))),... figure,zplane([nule1 nule2],[polovi1 polovi2]),...
Zadatak 1 • Za filtar za usrednjavanje (moving average) dužine 5 nacrtati impulsni odziv i karakteristiku slabljenja filtra. b) Odrediti ukupan ekvivalentni impulsni odziv i karakteristiku slabljenja za kaskadnu vezu dva identična filtra data pod a).
Zadatak 1 – rešenje4 ans = 0.4000 -0.4000 0.8000 -0.8000
Zadatak 1 – rešenje6 hkv = 0.0400 0.0800 0.1200 0.1600 0.2000 0.1600 0.1200 0.0800 0.0400
Zadatak 1 – rešenje8 ans = 0.4000 -0.4000 0.4000 -0.4000 0.8000 -0.8000 0.8000 -0.8000
Zadatak 2 • Za filtar dat diferencnom jednačinom nacrtati impulsni odziv i karakteristiku slabljenja filtra: b) Odrediti ukupan ekvivalentni impulsni odziv i karakteristiku slabljenja za kaskadnu vezu dva identična filtra data pod a).