TRANSFORMASI FOURIER DISKRIT 4.1 Dasar Pembentukan DFT 1. Bangkitkan sinyal sinus x(t) = 3cos(2πt), pada t = nT. Untuk suatu n = 0~ 99, dan T=0,01. %File Name: dft_1.m n=0:199; T=0.01; x_t=3*cos(2*pi*n*T); plot(n,x_t) grid; title('Sinyal cosinus’) xlabel('Frekuensi(Hz)') ylabel('X(f)')
2. stem n=0:199; T=0.01; x_t=3*cos(2*pi*n*T); stem(n,x_t) grid; title('Sinyal Steam ’) xlabel('Frekuensi(Hz)') ylabel('X(f)')
3. Bagian Real dan Imajiner %File Name: dft_2.m clear all; N=200; nn=N-1; for k=1:200; x_n=0.0; for n=1:nn x_n = (3*cos(0.02*pi*n)).*(exp(-j*k*2*pi*n/200)) + x_n; end yR(k)=real(x_n); yI(k)=imag(x_n); magni_k(k)=sqrt(real(x_n).*real(x_n) +imag(x_n).*imag(x_n)); end figure(1) stem(yR) axis([0 200 0 350]) xlabel('indek fekuensi') title('Bagian Real') grid; figure(2) stem(yI) axis([0 200 0 350]) xlabel('indek frekuensi') title('Bagian Imajiner') grid;
4. Ulangi langkah 1-3 dengan mengubah sinyal cosinus menjadi sinyal sinus sebagai berikut: %File Name: dft_1.m n=0:199; T=0.01; x_t=3*sin(2*pi*n*T); plot(n,x_t) grid; title('Sinyal sinus’) xlabel('Frekuensi(Hz)') ylabel('X(f)')
n=0:199; T=0.01; x_t=3*sin(2*pi*n*T); stem(n,x_t) grid; title('Sinyal Steam sinus’) xlabel('Frekuensi(Hz)') ylabel('X(f)')
%File Name: dft_2.m clear all; N=200; nn=N-1; for k=1:200; x_n=0.0; for n=1:nn x_n = (3*sin(0.02*pi*n)).*(exp(-j*k*2*pi*n/200)) + x_n; end yR(k)=real(x_n); yI(k)=imag(x_n); magni_k(k)=sqrt(real(x_n).*real(x_n) +imag(x_n).*imag(x_n)); end figure(1) stem(yR) axis([0 200 0 350]) xlabel('indek fekuensi') title('Bagian Real') grid; figure(2) stem(yI) axis([0 200 0 350]) xlabel('indek frekuensi') title('Bagian Imajiner') grid;
5. Ulangi langkah 1-3 dengan merubah nilai sample N=200, menjadi N=1000. Apa yang anda dapatkan? clear all; N=1000; nn=N-1; for k=1:200; x_n=0.0; for n=1:nn x_n = (3*sin(0.02*pi*n)).*(exp(-j*k*2*pi*n/200)) + x_n; end yR(k)=real(x_n); yI(k)=imag(x_n); magni_k(k)=sqrt(real(x_n).*real(x_n) +imag(x_n).*imag(x_n)); end
figure(1) stem(yR) axis([0 200 0 1200]) xlabel('indek fekuensi') title('Bagian Real') grid; figure(2) stem(yI) axis([0 200 0 1200]) xlabel('indek frekuensi') title('Bagian Imajiner') grid;
4.2 Zero Padding
1. Buat program baru untuk pembangkitan sekuen unit step dan gunakan juga fft untuk memperoleh nilai DFT. >> %prak_SS_7_2.m % zero-padded data: clear all T = 128; % sampling rate zpf = 2; % zero-padding factor n = 0:1/T:(T-1)/T; % discrete time axis fi = 5; % frequency xw = [sin(2*pi*n*fi),zeros(1,(zpf-1)*T)]; nn=length(xw); k=0:nn-1; % Plot time data: subplot(2,1,1); plot(zpf*k/nn,xw);%normalisas absis domain waktu axis([0 zpf -1.1 1.1]) xlabel('domain waktu (detik)')
% Smoothed, interpolated spectrum: X = fft(xw); spec = abs(X); f_X=length(X) f=0:f_X-1; % Plot spectral magnitude: subplot(2,1,2); plot(f/T,spec); axis([0 T/T 0 100]) xlabel('domain frekuensi (x pi), ternormalisasi terhadap frekuensi sampling') >> % Plot spectral magnitude: subplot(2,1,2); plot(f/2,spec); axis([0 T/2 0 100]) xlabel('domain frekuensi') >> % Plot spectral magnitude: subplot(2,1,2); plot(f/2,spec); axis([0 T/2 0 40]) xlabel('domain frekuensi dalam dB') grid; 4.3 Representasi Dalam Domain Frekuensi
1. Susun sebuah program baru dengan algorithma yang merupakan kombinasi dari percobaan ke-1 dan percobaan ke-2. >> %prak_SS_7_2.m % zero-padded data: clear all T = 128; zpf = 2; n = 0:1/T:(T-1)/T; fi = 5; % frequency xw = [sin(2*pi*n*fi),zeros(1,(zpf-1)*T)]; nn=length(xw); k=0:nn-1; % Plot time data: subplot(2,1,1);
plot(zpf*k/nn,xw); axis([0 zpf -1.1 1.1]) xlabel('domain waktu (detik)') % Smoothed, interpolated spectrum: X = fft(xw); spec = abs(X); f_X=length(X) f=0:f_X-1; % Plot spectral magnitude: subplot(2,1,2); plot(f/T,spec); axis([0 T/T 0 100]) xlabel('domain frekuensi (x pi), ternormalisasi terhadap frekuensi sampling')
2. Lakukan beberapa modifikasi, sehingga tampilannya nilai frekuensi dalam Hz. >> %prak_SS_7_2.m % zero-padded data: clear all T = 128; % sampling rate zpf = 2; % zero-padding factor n = 0:1/T:(T-1)/T; % discrete time axis fi = 5; % frequency xw = [sin(2*pi*n*fi),zeros(1,(zpf-1)*T)]; nn=length(xw); k=0:nn-1; % Plot time data: subplot(2,1,1); plot(zpf*k/nn,xw);%normalisasi absis domain waktu axis([0 zpf -1.1 1.1]) xlabel('domain waktu (detik)') % Smoothed, interpolated spectrum: X = fft(xw); spec = abs(X); f_X=length(X) f=0:f_X-1;
f_X = 256 >> % Plot spectral magnitude: subplot(2,1,2); plot(f/2,spec); axis([0 T/2 0 100]) xlabel('domain frekuensi')
3. Lakukan modifikasi kembali untuk mendapatkan nilai magnitudo dalam besaran dB >> %prak_SS_7_2.m % zero-padded data: clear all T = 128; % sampling rate zpf = 2; % zero-padding factor n = 0:1/T:(T-1)/T; % discrete time axis fi = 5; % frequency xw = [sin(2*pi*n*fi),zeros(1,(zpf-1)*T)]; nn=length(xw); k=0:nn-1; % Plot time data: subplot(2,1,1); plot(zpf*k/nn,xw);%normalisasi absis domain waktu axis([0 zpf -1.1 1.1]) xlabel('domain waktu (detik)') % Smoothed, interpolated spectrum: X = fft(xw); spec = abs(X); f_X=length(X) f=0:f_X-1; f_X = 256 >> % Plot spectral magnitude: subplot(2,1,2); plot(f/2,spec); axis([0 T/2 0 40])
xlabel('domain frekuensi dalam dB') grid
Simulasi 1. Susun sebuah program baru dengan algorithma yang merupakan kombinasi dari percobaan ke-1 dan percobaan ke-2.
2. Lakukan beberapa modifikasi, sehingga tampilannya nilai frekuensi dalam Hz.
3. Lakukan modifikasi kembali untuk mendapatkan nilai magnitudo dalam besaran dB
Analisa
Dasar Pembentukan DFT
DFT (Discrete Fourier Transform) berfungsi untuk menjumlahkan seluruh fungsi diferensial pada suatu sistem. Maka dari inilah yang dimanfaatkan pada operasi konvolusi dan terlihat pada sinyal yang dihasilkan memiliki bagian real dan imajner yang membuktikan bahwa setiap operasi pada listing program telah dijumlahkan.
Zero Padding
Zero padding merupakan penambahan angka nol saja. yaitu penambahan angka 0 sebanyak 4 angka dibelakang sekuen yang bernilai satu pada fft hasilnya akan termodifikasi dengan nilai DFT yang didapatkan pada praktikum pertama.
Representasi dalam domain frekuensi Representasi dalam domanin frekuensi merupakanPenggabungkan antara percobaan
pertama dan kedua yaitu DFT dan zero padding sehingga kita dapat melihat sinyal waktu diskrit dalam domain frekuensi. Jadi, hasil yang didapatkan merupakan representasi sinyal waktu diskrit dalam domain frekuensi. Kesimpulan
Pada
praktikum
kesimpulan
yang
didapatkan
yaitu
DFT
adalah
transformasi fourier diskrit yang konsepnya membangkitkan sinyal cosinus yang ditransformasikan dan menghasilkan bentuk dalam tampilan indek frekuensi. untuk melihat sinyal waktu diskrit dalam domain frekuensi dibutuhkan zero padding yang berfungsi untuk memodifikasi sinyal DFT dengan menambahkan angka nol sebanyak 4 angka dibelakang sekuen
yang bernilai 1. Transformasi Fourier Diskrit (TFD) adalah salah satu bentuk transformasi Fourier di mana sebagai ganti integral, digunakan penjumlahan. TFD ini dapat dihitung secara efesien dalam pemanfaataannya menggunakan algoritma transformasi Fourier cepat (TFC). dalam penggunaannya, terdapat perbedaan yang jelas antara keduanya: "TFD" merujuk pada suatu transformasi matematik bebas atau tidak bergantung bagaimana transformasi tersebut dihitung, sedangkan "TFC" merujuk pada satu atau beberapa algoritma efesien untuk menghitung TFD.