kiir='l'; %fLo = 0.12; %fHi = 0.18; %df = 0.05; fLo = 0.15; fHi = 0.15; df = 0.02; fj=0.15/2; N=201; nMax = 14000; %sima szűrő bs=firpm(N,[0 fLo-df fLo fHi fHi+df 1],[0 0 1 1 0 0],[1 10 1]); [Hs Fs]=freqz(bs,1,1024); %Hilbert szűrő bh=firpm(N,[0 fLo-df fLo fHi fHi+df 1],[0 0 1 1 0 0],[1 10 1],'Hilbert');[Hh Fh]=freqz(bh,1,1024); Fs=Fs/pi; Fh=Fh/pi; fig=figure(1); set(fig,'name','Sima szűrő átviteli függvénye') subplot(2,1,1) plot(Fs,20*log10(abs(Hs))) axis([0 1 -100 0]) if (kiir=='l') xl1=xlabel('relativ frekvencia [0 ... $\frac{fs}{ 2}$]','interpreter','latex','fontname','timesNewRoman','fontsize',12,'fontweight','bold'); else xl1=xlabel('relatív frekvencia [0 ... fs/2]'); end ylabel('átvitel [dB]') title('normál szűrő átviteli karakterisztikája') subplot(2,1,2) plot(Fs,180/pi*unwrap(angle(Hs))) if (kiir=='l') xl1=xlabel('relativ frekvencia [0 ... $\frac{fs}{ 2}$]','interpreter','latex','fontname','timesNewRoman','fontsize',12,'fontweight','bold'); else xl1=xlabel('relatív frekvencia [0 ... fs/2]'); end ylabel('fázis[\circ]') fig=figure(2); set(fig,'name','Hilbert szűrő átviteli függvénye') subplot(2,1,1) plot(Fh,20*log10(abs(Hh))) %xl1=xlabel('relatív frekvencia [0 ... ^{fs}_{ 2}]'); if (kiir=='l') xl1=xlabel('relativ frekvencia [0 ... $\frac{fs}{ 2}$]','interpreter','latex','fontname','timesNewRoman','fontsize',12,'fontweight','bold'); else xl1=xlabel('relatív frekvencia [0 ... fs/2]'); end ylabel('átvitel [dB]') axis([0 1 -100 0]) title('Hilbert-szűrő átviteli karakterisztikája') subplot(2,1,2) plot(Fh,180/pi*unwrap(angle(Hh))) if (kiir=='l') xl1=xlabel('relativ frekvencia [0 ... $\frac{fs}{ 2}$]','interpreter','latex','fontname','timesNewRoman','fontsize',12,'fontweight','bold'); else xl1=xlabel('relatív frekvencia [0 ... fs/2]'); end ylabel('fázis[\circ]') fig=figure(3); set(fig,'name','Sima szűrő és Hilbert szűrő átviteli függvénye') subplot(2,1,1) plot(Fs,20*log10(abs(Hs)),'color','k','LineWidth',1.5) hold on plot(Fh,20*log10(abs(Hh)),'color','r') hold off legend('sima szűrő','Hilbert szűrő') if (kiir=='l') xl1=xlabel('relativ frekvencia [0 ... $\frac{fs}{ 2}$]','interpreter','latex','fontname','timesNewRoman','fontsize',12,'fontweight','bold'); else xl1=xlabel('relatív frekvencia [0 ... fs/2]'); end ylabel('átvitel [dB]') axis([0 1 -100 0]) title('két szűrő átviteli karakterisztikája') subplot(2,1,2) plot(Fs,180/pi*unwrap(angle(Hs)),'color','k') hold on plot(Fh,180/pi*unwrap(angle(Hh)),'color','r') %plot(Fs,180/pi*unwrap(angle(Hs))-180/pi*unwrap(angle(Hh)),'color','b') hold off legend('sima szűrő','Hilbert szűrő') if (kiir=='l') xl1=xlabel('relativ frekvencia [0 ... $\frac{fs}{ 2}$]','interpreter','latex','fontname','timesNewRoman','fontsize',12,'fontweight','bold'); else xl1=xlabel('relatív frekvencia [0 ... fs/2]'); end ylabel('fázis[\circ]') n=[1:nMax]-1; xt=1.1*sin(2*pi*fj*n); xt=( 1.05*(1-exp(-n/900)).^0.99 - (1-exp(-n/5500)).^0.8 ).*sin(2*pi*fj*n); xt = xt + 0.1*( 1-2*rand(size(xt)) ) ; ys = filter(bs,1,xt); yh = filter(bh,1,xt); fig=figure(4); set(fig,'name','időfv. ----- sima szűrés+hilbert szűrés+burk. ---- burkoló') subplot(3,1,1) plot(n,xt) axis([0 nMax -1 1]) title('időfv.') subplot(3,1,2) plot(ys) hold on plot(yh,'color','r') plot(sqrt(ys.^2+yh.^2),'color','k','linewidth',2) hold off title('sima szűrés + hilbert szűrés + burkoló') axis([0 nMax -1 1]) legend('Hilbert','sima','burkoló') subplot(3,1,3) plo=plot( sqrt(ys.^2+yh.^2),'color','k','linewidth',2 ); title('burkoló') axis([0 nMax -0 1])