Uploaded by User11601

(12.30-17.30)010419 Syakir Yaqdhi Amrulloh (2)

advertisement
LAPORAN AKHIR PRAKTIKUM KEAHLIAN FISIKA
MODUL 13
Syakir Yaqdhi Amrulloh
140310160075
LA 7.3
Listing
h = [-4,1,-1,-2,5,6,5,-2,-1,1,-4];
M = length(h); n = 0:M-1;
[Hr,w,a,L] = Hr_Type1(h)
amax = max(a)+1; amin = min(a)-1;
subplot(2,2,1); stem(n,h); axis([-1 2*L+1 amin amax])
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
subplot(2,2,3); stem(0:L,a); axis([-1 2*L+1 amin amax])
xlabel('n'); ylabel('a(n)'); title('a(n) coefficients')
subplot(2,2,2);plot(w/pi,Hr);grid
xlabel('frequency in pi units'); ylabel('Hr')
title('Type-1 Amplitude Response')
subplot(2,2,4);zplane(h,1)=
Tampilan
Analisa :
Percobaan diatas yaitu menganalisa Lokasi Zero, pada filter FIR terdapat (M -1) pole
pada titik asal dan (M-1) zero terletak disekitar bidang z. Dari plot diatas kita mengamti
bahwa tidak terdapat pembatasan pada Hr(w) baik pada w = 0 atau pada w = lambda terdepat
satu zero-quadruplet constellation dan tiga pasangan zero.
LA 7.4
Listing
subplot(1,1,1)
h = [-4,1,-1,-2,5,6,6,5,-2,-1,1,-4];
M = length(h); n = 0:M-1;
[Hr,w,b,L] = Hr_Type2(h)
bmax = max(b)+1; bmin = min(b)-1;
subplot(2,2,1); stem(n,h); axis([-1 2*L+1 bmin bmax])
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
subplot(2,2,3); stem(1:L,b); axis([-1 2*L+1 bmin bmax])
xlabel('n'); ylabel('b(n)'); title('b(n) coefficients')
subplot(2,2,2);plot(w/pi,Hr);grid
xlabel('frequency in pi units'); ylabel('Hr')
title('Type-2 Amplitude Response')
subplot(2,2,4);zplane(h,1)
Tampilan
Analisa :
Pada percobaan ini sama dengan percobaan sebelunya dengan filter FIR fasa linear Tipe 2
karena h(n) merupakan simetri yang bergantung dengan alpha = (12 -1) :2 = 5.5. Terdapat
zzero – quadruplet constellation, tiga pasang zero, dan satu zero pada w = lambda seperti
yang diharapkan.
LA 7.5
Listing
subplot(1,1,1)
h = [-4,1,-1,-2,5,0,-5,2,1,-1,4];
M = length(h); n = 0:M-1;
[Hr,w,c,L] = Hr_Type3(h)
cmax = max(c)+1; cmin = min(c)-1;
subplot(2,2,1); stem(n,h); axis([-1 2*L+1 cmin cmax])
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
subplot(2,2,3); stem(0:L,c); axis([-1 2*L+1 cmin cmax])
xlabel('n'); ylabel('c(n)'); title('c(n) coefficients')
subplot(2,2,2);plot(w/pi,Hr);grid
xlabel('frequency in pi units'); ylabel('Hr')
title('Type-3 Amplitude Response')
subplot(2,2,4);zplane(h,1)
Tampilan
Analisa
Pada program yang dibuat sama dengan sebelumnya. Hr (ω) = 0 pada ω=0 dan ω=π.
LA 7.6
Listing
subplot(1,1,1)
h = [-4,1,-1,-2,5,6,-6,-5,2,1,-1,4];
M = length(h); n = 0:M-1;
[Hr,w,d,L] = Hr_Type4(h)
dmax = max(d)+1; dmin = min(d)-1;
subplot(2,2,1); stem(n,h); axis([-1 2*L+1 dmin dmax])
xlabel('n'); ylabel('h(n)'); title('Impulse Response')
subplot(2,2,3); stem(1:L,d); axis([-1 2*L+1 dmin dmax])
xlabel('n'); ylabel('d(n)'); title('d(n) coefficients')
subplot(2,2,2);plot(w/pi,Hr);grid
xlabel('frequency in pi units'); ylabel('Hr')
title('Type-4 Amplitude Response')
subplot(2,2,4);zplane(h,1)
Tampilan
Analisa
Kita dapat melihat pada percobaan ini Hr (ω) merupakan zero pada ω=0. Program
ini sama dengan program sebelumnya.
LA 7.7
Listing
wp = 0.2*pi; ws = 0.3*pi;
tr_width = ws - wp
M = ceil(6.6*pi/tr_width) + 1
n=[0:1:M-1];
wc = (ws+wp)/2
hd = ideal_lp(wc,M);
w_ham = (blackman(M))';
h = hd .* w_ham;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
Rp = -(min(db(1:1:wp/delta_w+1))) % Passband Ripple
As = -round(max(db(ws/delta_w+1:1:501))) % Min Stopband attenuation
% plots
subplot(1,1,1)
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w_ham);title('Hamming Window')
axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)')
subplot(2,2,3); stem(n,h);title('Actual Impulse Response')
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4); plot(w/pi,db);title('Magnitude Response in dB');grid
xlabel('frequency in pi units'); ylabel('Decibels')
Tampilan
Analisa
Percobaan ini merupakan window hamming yang memberikan transisi band yang
lebih kecil dan karena itu mempunyai orde yang lebih kecil pula. Untuk amplitude
responnya dapan dilihat bahwa responnya lambat. Dapat dilihat dari bentuk gelombangnya.
Jenis windows hamming ini memberikan respon yang kurang baik. Hal ini dapat dilihat
dari ripple respon magnitudenya. Grafik hasil filter dengan grafik idelnya juga jauh
berbeda.
LA 7.8
Listing
wp = 0.2*pi; ws = 0.3*pi; As = 50;
tr_width = ws - wp;
M = ceil((As-7.95)/(14.36*tr_width/(2*pi))+1) + 1
n=[0:1:M-1];
beta = 0.1102*(As-8.7)
wc = (ws+wp)/2;
hd = ideal_lp(wc,M);
w_kai = (kaiser(M,beta))';
h = hd .* w_kai;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
As = -round(max(db(ws/delta_w+1:1:501))) % Min Stopband Attenuation
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w_kai);title('Kaiser Window')
axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)')
subplot(2,2,3); stem(n,h);title('Actual Impulse Response')
axis([0 M-1 -0.1 0.3]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4);plot(w/pi,db);title('Magnitude Response in dB');grid
axis([0 1 -100 10]); xlabel('frequency in pi units');
ylabel('Decibels')
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1])
set(gca,'YTickMode','manual','YTick',[-50,0])
set(gca,'YTickLabelMode','manual','YTickLabels',['50';' 0'])
Tampilan
Analisis
Program ini sama dengan program sebelumnya, namun jenis windows yang
digunakan berbeda. Jenis windows yang digunakan merupakan jenis Kaiser dengan M=67
dan beta=4.5513 dan atenuasi stopband aktual adalah 52dB. Pada windows jenis Kaiser
ini, ripple yang dihasilkan sangat banyak namun menuju titik nolnya lebih cepta disbanding
windows sebelumnya. Dan grafik hasil filter dengan grafik aktualnya tidak jauh berbeda.
Namun jenis filter ini masih kurang baik.
LA 7.9
Listing
ws1 = 0.2*pi; wp1 = 0.35*pi; wp2 = 0.65*pi; ws2 = 0.8*pi;
As = 60;
tr_width = min((wp1-ws1),(ws2-wp2))
M = ceil(11*pi/tr_width) + 1
%;M=68
n=[0:1:M-1];
wc1 = (ws1+wp1)/2;
wc2 = (wp2+ws2)/2;
hd = ideal_lp(wc2,M) - ideal_lp(wc1,M);
w_bla = (blackman(M))';
h = hd .* w_bla;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
Rp = -min(db(wp1/delta_w+1:1:wp2/delta_w)) % Actua; Passband Ripple
As = -round(max(db(ws2/delta_w+1:1:501))) % Min Stopband Attenuation
subplot(2,2,1);
stem(n,hd);
title('Ideal Impulse Response')
axis([0 M-1 -0.4 0.5]);
xlabel('n'); ylabel('hd(n)')
subplot(2,2,2);
stem(n,w_bla);
title('Blackman Window')
axis([0 M-1 0 1.1]);
xlabel('n'); ylabel('w(n)')
subplot(2,2,3);
stem(n,h);
title('Actual Impulse Response')
axis([0 M-1 -0.4 0.5]);
xlabel('n'); ylabel('h(n)')
subplot(2,2,4);
plot(w/pi,db);%set(gca,'FontName','cmr12');
title('Magnitude Response in dB');grid;
xlabel('frequency in pi units'); ylabel('Decibels')
Tampilan
Analisa
Pada percobaan ini sama dengan percobaan sebelumnya, namun jenis windows
yang digunakan adalah windows blackman dengan panjang Window Blackman adalah M
= 61 dan atenuasi stopband aktual adalah 75 db. Sehingga magnitude responnya lebih baik
karena pengaruh nilai dari M. Respon impulse dapat ditentukan dari dua respon besaran
dua buah lowpass ideal dengan sifat respon fasa yang sama.
LA 7.10
Listing
M = 45; As = 60; n=[0:1:M-1];
beta = 0.1102*(As-8.7) w_kai = (kaiser(M,beta))';
wc1 = pi/3; wc2 = 2*pi/3;
hd = ideal_lp(wc1,M) + ideal_lp(pi,M) - ideal_lp(wc2,M);
h = hd .* w_kai; [db,mag,pha,grd,w] = freqz_m(h,[1]);
subplot(1,1,1)
subplot(2,1,2);
plot(w/pi,db);
title('Magnitude Response in dB');grid;
xlabel('frequency in pi units'); ylabel('Decibels')
M = 45; As = 60; n=[0:1:M-1];
beta = 0.1102*(As-8.7)+.3 w_kai = (kaiser(M,beta))';
wc1 = pi/3; wc2 = 2*pi/3;
hd = ideal_lp(wc1,M) + ideal_lp(pi,M) - ideal_lp(wc2,M);
h = hd .* w_kai; [db,mag,pha,grd,w] = freqz_m(h,[1]);
subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response')
axis([-1 M -0.2 0.8]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w_kai);title('Kaiser Window')
axis([-1 M 0 1.1]); xlabel('n'); ylabel('w(n)')
subplot(2,2,3); stem(n,h);title('Actual Impulse Response')
axis([-1 M -0.2 0.8]); xlabel('n'); ylabel('h(n)')
subplot(2,2,4);plot(w/pi,db); title('Magnitude Response in dB');grid;
xlabel('frequency in pi units'); ylabel('Decibels')
Tampilan
Analisa
Dengan menggunakan windows Kaiser dengan filter bandstop filter dengan
panjang 45 dengan atenuasi stopband 60 dB dapat dilihat grafik hasil dari filter dengan
grafik aktualnya terlihat sedikit mirip. Kemudian dilihat dari magnitude responyanya,
ripple yang dihasilkan sedikit.
LA 7.11
Listing
M = 25; alpha = (M-1)/2;
n = 0:M-1;
hd = (2/pi)*((sin((pi/2)*(n-alpha))/2).^2)./(n-alpha);
hd(alpha-1)=0;
w_han = (hanning(M))';
h = hd .* w_han;
[Hr,w,P,L] = Hr_Type3(h);
% plots
subplot(2,2,1);stem(n,hd);title('Ideal Implus Response')
axis([-1 M -1.2 1.2]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w_han);title('Hanning Window')
axis([-1 M 0 1.2]); xlabel('n'); ylabel('w(n)')
subplot(2,2,3);stem(n,h);title('Actual Implus Response')
axis([-1 M -1.2 1.2]); xlabel('n'); ylabel('h(n)')
w = w'; Hr = Hr';
w = [-fliplr(w),w(2:501)]; Hr = [-fliplr(Hr), Hr(2:501)];
subplot(2,2,4);
plot(w/pi,Hr); title('Amplitude Response');grid;
axis([-1 1 -1.1 1.1]); xlabel('frekuensi in pi units'); ylabel('Hr')
Tampilan
Analisa
Filter dengan menggunakan jenis windows hanning lebih baik dari windows lain
karena yang paling cepat menuju ke nilai nol. Ripple yang ada hanyalah sedikit. Pada grafik
terlihat bahwa metode hanning palingbaik karena grafik hasil filter dan gradik idealnya
sangatlah mirip atau sama, sedangkan untuk metode lain masih kurang mirip jika
dibandingkan dengan metode hanning.
LA 7.12
Listing
M = 20; alpha = (M-1)/2;
l = 0:M-1; wl = (2*pi/M)*l;
Hrs = [1,1,1,zeros(1,15),1,1];
Hdr = [1,1,0,0];
wdl = [0,0.25,0.25,1];
k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1;
angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)];
H = Hrs.*exp(j*angH); h = real(ifft(H,M));
[db,mag,pha,grd,w] = freqz_m(h,1);
[Hr,ww,a,L] = Hr_Type2(h);
subplot(1,1,1) subplot(2,2,1);
plot(wl(1:11)/pi,Hrs(1:11),'o',wdl,Hdr);
axis([0,1,-0.1,1.1]);
title('Frequency Samples: M=20')
xlabel('frequency in pi units'); ylabel('Hr(k)')
subplot(2,2,2);
stem(l,h);
axis([-1,M,-0.1,0.3])
title('Impulse Response'); xlabel('n'); ylabel('h(n)');
subplot(2,2,3);
plot(ww/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o');
axis([0,1,-0.2,1.2]);
title('Amplitude Response')
xlabel('frequency in pi units'); ylabel('Hr(w)')
subplot(2,2,4);plot(w/pi,db);
axis([0,1,-60,10]); grid
title('Magnitude Response'); xlabel('frequency in pi units')
Tampilan
Analisa
Pada program ini berbeda dengan program sebelumnya. Pada program ini diberikan
sinyal impuls bukan windows.
LA 7.13
Listing
M = 40; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l;
Hrs = [ones(1,5),0.39,zeros(1,29),0.39,ones(1,4)];
Hdr = [1,1,0,0]; wdl = [0,0.25,0.25,1]; %Ideal Amp Res for plotting
k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1;
angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)];
H = Hrs.*exp(j*angH); h = real(ifft(H,M));
[db,mag,pha,grd,w] = freqz_m(h,1); [Hr,ww,a,L] = hr_type2(h);
subplot(2,2,1);plot(wl(1:11)/pi,Hrs(1:11),'o',wdl,Hdr);
axis([0,1,-0.1,1.1]); title('Frequency Samples: M=40')
xlabel('frequency in pi units'); ylabel('Hr(k)')
subplot(2,2,2); stem(l,h); axis([-1,M,-0.1,0.3])
title('Impulse Response'); xlabel('n'); ylabel('h(n)');
subplot(2,2,3); plot(ww/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o');
axis([0,1,-0.2,1.2]); title('Amplitude Response')
xlabel('frequency in pi units'); ylabel('Hr(w)')
subplot(2,2,4);plot(w/pi,db); axis([0,1,-90,10]); grid
title('Magnitude Response'); xlabel('frequency in pi units');
ylabel('Decibels');
Tampilan
Analisa :
Percobaan ini erupakan metode desain optimum, bahwa atenuasi minimum stopband
sekarang adalah 30Db, yang lebih baik dari atenuasi desain perobaan sebelunya
1.
a.
b.
c.
2.
Kesimpulan
Mengenal algoritma dasar filter digital
Terdapat 3 dasar filter. Yaitu:
Spesifikasi
Approksimasi
Implementasi
Mampu mendesain filter FIR dengan spesifikasi yang ditentukan
Terdapat 2 spesifikasi pada filter FIR. Yaitu
a. Absolute Specifications
b. Relative Specifications
3. Filter digital adalah filter elektronik yang bekerja dengan menerapkan operasi
matematika digital atau algoritma pada suatu pemrosesan sinyal. Pada praktikum ini, kita
menggunakan filter FIR. menggunakan filter FIR, kita bisa mengamati respon sinyal
yang dihasilkan dari impulse yang diberikan.
Download