Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

17
LAPORAN PRAKTIKUM DIGITAL SIGNAL PROCESSING PRAKTIKUM VII TRANSFORMASI FOURIER DISKRIT NAMA : NADYA AMALIA NIM : J1D108034 ASISTEN : JEDIYANU WIGAS TU’U PROGRAM STUDI S-1 FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMBUNG MANGKURAT BANJARBARU 2011

description

Transformasi Fourier Diskrit

Transcript of Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

Page 1: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

LAPORAN PRAKTIKUM

DIGITAL SIGNAL PROCESSING

PRAKTIKUM VII

TRANSFORMASI FOURIER DISKRIT

NAMA : NADYA AMALIA

NIM : J1D108034

ASISTEN : JEDIYANU WIGAS TU’U

PROGRAM STUDI S-1 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMBUNG MANGKURAT

BANJARBARU

2011

Page 2: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

PRAKTIKUM VII

TRANSFORMASI FOURIER DISKRIT

I. TUJUAN PERCOBAAN

Tujuan dari percobaan ini adalah siswa mampu memahami konsep dasar

transformasi sinyal waktu diskrit dan mampu menyusun program simulasinya.

II. TINJAUAN PUSTAKA

Transformasi Fourier untuk sebuah sinyal waktu kontinyu x(t) secara

matematis dituliskan sebagai

di mana … (i)

Sementara DFT dibentuk dengan menggantikan integral berhingga dengan

sederetan jumlahan pada suatu nilai berhingga:

… (ii)

Simbol ≜ memiliki arti equal by definition atau dalam bahasa yang m udah

bagi kita adalah bahwa sisi kiri secara definisi akan senilai dengan sisi kanan.

Sementara x(tn) selanjutnya akan kita kenal juga sebagai x(n), yang merupakan

notasi sample ke-n pada sinyal input. X(ωk) juga dapat dijumpai sebagai X(k)

yang merupakan spectral sample ke-k.

Parameter lain yaitu:

- merupakan dasar bilangan kompleks.

-

- ωk = kΩ = merupakan sample frekuensi ke-k. Sedangkan Ω merupakan

interval sampling dalam radian dan memiliki nilai Ω =2π/NT.

- N = merupakan sample frekuensi yang digunakan.

- T = 1/fs = 1/(sampling rate).

Page 3: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

Dengan melihat persamaan (ii) jelas bagi kita bahwa DFT memiliki basis

sinyal sinusoda dan merupakan bentuk komplek. Sehingga representasi domain

frekuensi yang dihasilkan juga akan memiliki bentuk komplek. Dengan demikian

anda akan melihat adanya bagian real dan imajiner, dan bisa juga hasil

transformasi direpresentasikan dalam bentuk nilai absolute yang juga dikenal

sebagai magnitudo respon frekuensinya dan magnitudo respon fase.

Selanjutnya untuk proses pengolahan sinyal digital, kita DFT mutlak

diperlukan karena kita akan berhubungan dengan sinyal waktu diskrit, yang

merupakan bentuk tersampel dari sinyal waktu kontinyu. Dan dalam praktikum ini

kita akan memanfaatkan bentuk dasar library fft yang merupakan pengembangan

dari algorithma dasar DFT. Mengapa kita menggunakan fft bisa dijawab dengan

anda masuk ke Matlab command like dan mengetikkan help fft. Akan muncul

keterangan:

FFT Discrete Fourier transform.FFT(X) is the discrete Fourier transform (DFT) of vector X. Formatrices, the FFT operation is applied to each column. For N-Darrays, the FFT operation operates on the first non-singletondimension.

FFT(X,N) is the N-point FFT, padded with zeros if X has lessthan N points and truncated if it has more.

III. PERANGKAT YANG DIPERLUKAN

1. PC multimedia yang sudah dilengkapi dengan OS Windows.

2. Perangkat Lunak Matlab yang dilengkapi dengan Tool Box DSP.

IV. PROSEDUR KERJA

4.1 Dasar Pembentukan DFT

1. Membangkitkan sinyal sinus x(t) = 3cos(2πt), pada t = nT. Untuk suatu n =

0~ 99, dan T=0,01.

%File Name: dft_1.mn=0:199;T=0.01;x_t=3*cos(2*pi*n*T);plot(n,x_t)grid;

Page 4: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

2. Untuk sementara jangan memperhatikan apakah sinyal yang muncul sesuai

dengan nilai sebenarnya. Biarkan axis dan ordinatnya masih dalam angka

seadanya. Kemudian, mengganti perintah plot(n,x_t) dengan stem(n,x_t) dan

memperhatikan apa yang anda terjadi.

3. Memulai langkah program DFT, dengan membuat program baru:

%File Name: dft_2.mclear all;N=200;nn=N-1;for k=1:200;x_n=0.0;for n=1:nnx_n = (3*cos(0.02*pi*n)).*(exp(-j*k*2*pi*n/200)) +

x_n;endyR(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 800])xlabel('indek fekuensi')title('Bagian Real')grid;

figure(2)stem(yI)axis([0 200 0 800])xlabel('indek frekuensi')title('Bagian Imajiner')grid;

4. Mengulangi langkah 1-3 dengan mengubah dari sinyal cosinus menjadi

sinyal sinus. Untuk langkah k-1:

x_t=3*cos(2*pi*n*T); menjadi x_t=3*sin(2*pi*n*T);

Demikian juga pada untuk langkah ke-3 bentuk

x_n = (3*cos(0.02*pi*n)).*(exp(-j*k*2*pi*n/200)) + x_n;

menjadi

x_n = (3*sin(0.02*pi*n)).*(exp(-j*k*2*pi*n/200)) +x_n;

5. Mengulangi langkah 1-3 dengan mengubah nilai sample N=200, menjadi

N=1000.

Page 5: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

4.2 Representasi Dalam Domain Frekuensi

1. Menyusun 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 allT = 128; %sampling ratezpf = 2; %zero-padding factorn = 0:1/T:(T-1)/T; %discrete time axisfi = 5; % frequencyxw = [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 waktuaxis([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), ternormalisasiterhadap frekuensi sampling')

2. Melakukan beberapa modifikasi, sehingga tampilannya nilai frekuensi

dalam Hz.

%Plot spectral magnitude:subplot(2,1,2);plot(f/2,spec);axis([0 T/2 0 100])xlabel('domain frekuensi')

3. Melakukan modifikasi kembali untuk mendapatkan nilai magnitudo dalam

besaran dB.

% Plot spectral magnitude:subplot(2,1,2);plot(f/2,spec);axis([0 T/2 0 40])xlabel('domain frekuensi dalam dB')grid

Page 6: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

4. Membangkitkan sebuah sinyal sinus dan dapatkan nilai frekuensinya dengan

memanfaatkan DFT. Dimana sinyal sinus ini memiliki bentuk dasar sebagai

berikut.

x(n) = (1/64)*(sin(2*π*n/64)+ (1/3)*sin(2*π*15*n/64))

V. HASIL DAN PEMBAHASAN

5.1 Hasil

1. Dasar Pembentukan DFT

Sinyal Cosinus

Source code :

Output :

Page 7: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

Sinyal Sinus

Source code :

Output :

Page 8: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

DFT Sinyal Cosinus

Source code :

%program DFT untuk sinyal cosinus%x_n = (3*cos(0.02*pi*n))clear all;%N=200N1=200;nn1=N1-1;for k1=1:200;x_n1=0.0;for n1=1:nn1x_n1 = (3*cos(0.02*pi*n1)).*(exp(-j*k1*2*pi*n1/200)) + x_n1;endy1R(k1)=real(x_n1);y1I(k1)=imag(x_n1);magni_k1(k1)=sqrt(real(x_n1).*real(x_n1)+imag(x_n1).*imag(x_n1));endsubplot(221)stem(y1R) %menampilkan bagian real pada domain frekuensiaxis([0 200 0 800])xlabel('indek fekuensi')title('DFT Sinyal Cosinus, N=200, Bagian Real')grid;subplot(223)stem(y1I) %menampilkan bagian imajiner pada domain frekuensiaxis([0 200 0 800])xlabel('indek frekuensi')title('Bagian Imajiner')grid;

%N=1000clear all;N2=1000;nn2=N2-1;for k2=1:1000;x_n2=0.0;for n2=1:nn2x_n2 = (3*cos(0.02*pi*n2)).*(exp(-j*k2*2*pi*n2/1000)) + x_n2;endy2R(k2)=real(x_n2);y2I(k2)=imag(x_n2);magni_k2(k2)=sqrt(real(x_n2).*real(x_n2)+imag(x_n2).*imag(x_n2));endsubplot(222)stem(y2R) %menampilkan bagian real pada domain frekuensiaxis([0 1000 0 4000])xlabel('indek fekuensi')title('DFT Sinyal Cosinus, N=1000, Bagian Real')grid;subplot(224)stem(y2I) %menampilkan bagian imajiner pada domain frekuensiaxis([0 1000 0 4000])xlabel('indek frekuensi')title('Bagian Imajiner')grid;

Page 9: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

Output :

DFT Sinyal Sinus

Source code :

%program DFT untuk sinyal sinus%x_n = (3*sin(0.02*pi*n))clear all;%N=200N1=200;nn1=N1-1;for k1=1:200;x_n1=0.0;for n1=1:nn1x_n1 = (3*sin(0.02*pi*n1)).*(exp(-j*k1*2*pi*n1/200)) + x_n1;endy1R(k1)=real(x_n1);y1I(k1)=imag(x_n1);magni_k1(k1)=sqrt(real(x_n1).*real(x_n1)+imag(x_n1).*imag(x_n1));endsubplot(221)stem(y1R) %menampilkan bagian real pada domain frekuensiaxis([0 200 0 800])xlabel('indek fekuensi')title('DFT Sinyal Sinus, N=200, Bagian Real')grid;subplot(223)stem(y1I) %menampilkan bagian imajiner pada domain frekuensiaxis([0 200 0 800])xlabel('indek frekuensi')title('Bagian Imajiner')grid;

Page 10: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

%N=1000clear all;N2=1000;nn2=N2-1;for k2=1:1000;x_n2=0.0;for n2=1:nn2x_n2 = (3*sin(0.02*pi*n2)).*(exp(-j*k2*2*pi*n2/1000)) + x_n2;endy2R(k2)=real(x_n2);y2I(k2)=imag(x_n2);magni_k2(k2)=sqrt(real(x_n2).*real(x_n2)+imag(x_n2).*imag(x_n2));endsubplot(222)stem(y2R) %menampilkan bagian real pada domain frekuensiaxis([0 1000 0 4000])xlabel('indek fekuensi')title('DFT Sinyal Sinus, N=1000, Bagian Real')grid;subplot(224)stem(y2I) %menampilkan bagian imajiner pada domain frekuensiaxis([0 1000 0 4000])xlabel('indek frekuensi')title('Bagian Imajiner')grid;

Output :

Page 11: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

2. Representasi Dalam Domain Frekuensi

Zero-padded Data

Source code :

% zero-padded data:clear allT = 128; % sampling ratezpf = 2; % zero-padding factorn = 0:1/T:(T-1)/T; % discrete time axisfi = 5; % frequencyxw = [sin(2*pi*n*fi),zeros(1,(zpf-1)*T)];nn=length(xw);k=0:nn-1;% Plot time data:subplot(221);plot(zpf*k/nn,xw);%normalisasi absis domain waktutitle('Sinyal sinus dalam domain waktu dan hasil DFT')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 dalam waktu:subplot(222);plot(f/T,spec);axis([0 T/T 0 100])xlabel('domain frekuensi (x pi), ternormalisasi terhadapfrekuensi sampling')

% Plot spectral magnitude dalam frekuensi:subplot(223);plot(f/2,spec);axis([0 T/2 0 100])xlabel('domain frekuensi (Hz)')

% Plot spectral magnitude dalam dB:subplot(224);plot(f/2,spec);axis([0 T/2 0 40])xlabel('domain frekuensi dalam dB')grid;

Page 12: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

Output :

Pembentukan DFT untuk sinyal cosinus, N=200 dan N=1000

Source code :

Page 13: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

Output :

DFT untuk sinyal sinus, x_n = (1/64)*(sin(2*pi*n/64)+

(1/3)*sin(2*pi*15*n/64))

Source code :

%program DFT untuk sinyal sinus%x_n = (1/64)*(sin(2*pi*n/64)+ (1/3)*sin(2*pi*15*n/64))clear all;%N=200N1=200;nn1=N1-1;for k1=1:200;x_n1=0.0;for n1=1:nn1x_n1 = ((1/64)*(sin(2*pi*n1/64)+(1/3)*sin(2*pi*15*n1/64))).*(exp(-j*k1*2*pi*n1/200)) + x_n1;endy1R(k1)=real(x_n1);y1I(k1)=imag(x_n1);magni_k1(k1)=sqrt(real(x_n1).*real(x_n1)+imag(x_n1).*imag(x_n1));endsubplot(221)stem(y1R) %menampilkan bagian real pada domain frekuensiaxis([0 200 0 800])xlabel('indek fekuensi')title('DFT Sinyal Sinus, N=200, Bagian Real')grid;subplot(223)stem(y1I) %menampilkan bagian imajiner pada domain frekuensiaxis([0 200 0 800])xlabel('indek frekuensi')title('Bagian Imajiner')

Page 14: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

grid;

%N=1000clear all;N2=1000;nn2=N2-1;for k2=1:1000;x_n2=0.0;for n2=1:nn2x_n2 = ((1/64)*(sin(2*pi*n2/64)+(1/3)*sin(2*pi*15*n2/64))).*(exp(-j*k2*2*pi*n2/1000)) + x_n2;endy2R(k2)=real(x_n2);y2I(k2)=imag(x_n2);magni_k2(k2)=sqrt(real(x_n2).*real(x_n2)+imag(x_n2).*imag(x_n2));endsubplot(222)stem(y2R) %menampilkan bagian real pada domain frekuensiaxis([0 1000 0 4000])xlabel('indek fekuensi')title('DFT Sinyal Sinus, N=1000, Bagian Real')grid;subplot(224)stem(y2I) %menampilkan bagian imajiner pada domain frekuensiaxis([0 1000 0 4000])xlabel('indek frekuensi')title('Bagian Imajiner')grid;

Output :

Page 15: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

5.2 Pembahasan

Untuk dasar pembentukan DFT dimulai dengan mencoba melihat bentuk

transformasi Fourier dari sinyal cosines yang memiliki periode eksak didalam

window yang terdapat pada sampel. Sinyal yang akan dibangkitkan terlebih

dahulu adalah sinyal sinus x(t) = 3cos(2πt), pada t=nT untuk suatu n = 0~ 99, dan

T=0,01. Dengan n=0:N-1, dimana N=200 dan N=1000. Semakin besar nilai N,

semakin rapat stem masing-masing sinyal. Hal yang sama berlaku apabila sinyal

yang dibangkitkan adalah sinyal sinus.

Program DFT mengacu pada bentuk persamaan berikut ini:

Atau dalam bentuk real dan imaginer:

Pada output untuk sinyal cosinus, grafik pertama (bagian atas) untuk N=200

ada dua nilai non-zero dalam domain frekuensi indek, tepatnya pada n=2 dan

n=N-2 atau 198, masing-masing bernilai 300. Nilai ini merepresentasikan AN/2,

dimana A=3 yang merupakan amplitudo sinyal cosinus dan N = 200 merupakan

jumlah sampel yang digunakan. Sementara bagian imajiner bernilai nol semua

(grafik kedua, bagian bawah). Apabila kita mengingat persamaan Euler hal ini

dikarenakan fungsi cosines tidak memiliki bagian imajiner.

Untuk output sinyal sinus, terjadi hal sebaliknya, grafik pertama (bagian

atas) bagian real untuk N=200 semua bernilai nol. Sementara bagian imajiner

memiliki satu nilai non-zero, tepatnya pada n=N-2 yang bernilai 300. Hal ini

dikarenakan fungsi sinus merupakan bagian imajiner seperti pada persamaan

Euler.

Cara yang paling mudah dalam menguji program transformasi ke domain

frekuensi adalah dengan menggunakan sinyal bernada tunggal, yaitu sinyal

dengan fungsi dasar sinusoidal. Dengan mengkobinasikan percobaan ke-1 dan

percobaan ke-2 dapat disusun sebuah program DFT yang mampu digunakan untuk

pengamatan sinyal waktu diskrit dan melihat tampilannya dalam domain

frekuensi. Untuk grafik sinyal sinus pada domain waktu memiliki amplitude sama

Page 16: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

dengan 1 dan ketika t≥1 sinyal bernilai nol karena terjadinya zero-padded data.

Dari grafik tersebut terlihat gelombang sinus yang berhasil dibangkitkan

mempunyai frekuensi f=5 Hz. Sehingga, pada domain frekuensi, peak dicapai

pada skala sumbu-x sama dengan f yaitu 5. Adapun untuk domain frekuensi yang

ternormalisasi terhadap frekuensi sampling, peak dicapai pada skala sumbu-x

sama dengan frekuensi sampling yaitu 0,08. Berikutnya dibangkitkan sinyal

sinus, x_n = (1/64)*(sin(2*pi*n/64)+ (1/3)*sin(2*pi*15*n/64)). Dari output yang

dihasilkan terlihat bahwa baik untuk bagian real maupun imaginer untuk setiap n

dengan masing-masing N adalah nol.

VI. KESIMPULAN

1. Transformasi Fourier merupakan bentuk transformasi umum untuk

mengubah suatu sinyal dari domain waktu ke domain frekuensi.

2. DFT memiliki basis sinyal sinusoidal dan merupakan bentuk komplek.

Sehingga representasi domain frekuensi yang dihasilkan juga akan memiliki

bentuk komplek.

3. Hasil transformasi yang direpresentasikan dalam bentuk nilai absolute

merupakan magnitudo respon frekuensin dan magnitudo respon fase.

Page 17: Digital Signal Processing 07. Transformasi Fourier Diskrit - Nadya Amalia 2011

DAFTAR PUSTAKA

Santoso, Tri Budi & Miftahul Huda. 2008. Dasar-dasar Operasi Matlab: Modul 6Praktikum Sinyal dan Sistem.

Meddins, Bob. 2000. Introduction to Digitl Signal Processing. University of EastAnglia. United Kingdom.