Disusun oleh :
Diah Indrastuti (41412110002)
Lyla Diah Susanti (41412110113)
KATA PENGANTAR
Puji dan syukur kami panjatkan kehadirat Allah swt, atas rahmat dan karunianya kami
dapat menyelesaikan laporan ini. Laporan ini membahas tentang project Pengolahan Sinyal
Digital, Fourier Analysis. Laporan ini dibuat sebagai syarat pemenuhan nilai mata kuliah
Pengolahan Sinyal Digital, Program Studi Teknik Elektro, Universitas Mercu Buana.
Dalam pembuatan project serta laporan ini kami telah banyak mendapat bantuan,
dorongan, dan doa dari banyak pihak. Oleh karena itu melalui kesempatan ini penulis ingin
mengucapkan terimakasih yang sebesar-besarnya kepada Bapak Setiyo Budiyanto, ST, MT,
selaku Dosen pengampu mata kuliah Pengolahan Sinyal Digital, serta kepada semua pihak yang
turut serta dalam proses pembuatan project serta laporan ini.
Penulis menyadari bahwa project dan laporan ini masih banyak terdapat kekurangan
karena keterbatasan pengetahuan yang penulis miliki. Oleh sebab itu, kritik dan saran akan
penulis terima sebagai perbaikan untuk dikemudian hari. Semoga tugas laporan ini dapat
berguna baik bagi penulis sendiri maupun bagi para pembaca sebagai tambahan wawasan.
Penulis
DAFTAR ISI
Sejarah ................................................................................................................... 6
1. 2
1. 3
1. 4
MATLAB .............................................................................................................. 8
2. 2
Aplikasi ............................................................................................................... 18
2. 2. 1
2. 2. 2
2. 2. 3
BAB I
PENDAHULUAN
Sinyal adalah sesuatu yang membawa informasi. Setiapa sinyal yang tidak
membawa informasi digolongkan sebagai noise. Salah satu informasi penting dalam
sebuah sinyal adalah frekuensinya.
Sinyal yang memiliki lebih dari 1 frekuensi akan memberikan kesulitan
tersendiri untuk mengetahui frekuensi berapa saja yang ada dalam sinyal tersebut. Oleh
karena itu, pengolahan sinyal dalam domain waktu biasanya tidak cukup dan kita
memerlukan pengolahan sinyal dalam domain frekuensi.
Perhatikan sinyal pada gambar diatas. Sebenarnya kita sudah bisa menghitung
periode dari sinyal yang ditampilkan. Tetapi apabila kita diminta untuk mengidentifikasi
frekuensi berapa saja yang ada dalam sinyal tersebut, maka kita akan kesulitan.
1. 1
Sejarah
Jean Baptise Joseph Fourier dilahirkan pada 21 Maret 1768 di Auxerre,
Analisis Fourier
Analisis Fourier mempelajari berbagai teknik untuk menganalisis sebuah fungsi
dengan menguraikannya sebagai deret atau integral fungsi tertentu (yang sifat-sifatnya
telah kita kenal dengan baik, seperti fungsi polinom atau fungsi trigonometri). Analisis
Fourier merupakan alat yang ampuh untuk memecahkan berbagai masalah, khususnya
masalah yang berbentuk persamaan diferensial parsial yang muncul dalam sains dan
ilmu rekayasa, dan tentunya untuk menganalisis signal seperti signal suara dan citra.
Berikut adalah gambar yang menunjukkan diagram analisis Fourier.
6
1. 3
Transformasi Fourier
Pembahasan deret Fourier dibatasi pada sinyal periodic. Bagaimana mengunakan
analisis Fourier untuk sinyal yang tidak periodic? Jenis sinyal ini diproses dengan
menggunakan transformasi Fourier. Transformasi Fourier merupakan bentuk umum
analisis Fourier sehingga kita bisa menggunakannya untuk sinyal periodic juga.
Transformasi Fourier digunakan untuk menguraikan sinyal domain waktu
menjadi komponen-komponen frekuensi yang masing-masing memiliki amplitudo dan
fase. Menggunakan transformasi Fourier invers sinyal time series dapat direkonstruksi
dari representasi frekuensi-domainnya. Transformasi Fourier adalah salah satu konsep
yang paling penting dalam pemrosesan sinyal digital dan tidak hanya digunakan untuk
memperkirakan distribusi spektral sinyal dalam domain frekuensi (spektrum
kekuasaan). Transformasi Fourier juga merupakan dasar dari analisis koherensi dan
jenis tertentu yang disebut sinyal pengganti. Akhirnya, transformasi Fourier
diimplementasikan di banyak DSP (Digital Signal Processing) rutinitas karena setiap
operasi matematika dalam domain waktu memiliki operasi setara dalam domain
frekuensi yang sering komputasi lebih cepat. Dengan demikian, transformasi Fourier
7
MATLAB
MATLAB adalah singkatan dari Matrix Laboratory. MATLAB merupakan
aplikasi yang banyak digunakan dalam lingkungan komputasi teknik untuk perhitungan
numeric dan visualisasi yang menuntut kinerja tinggi. MATLAB mengintegrasikan
anilisis numeric, perhitungan matriks, serta pemrosesan sinyal dan grafis dalam
penggunaan yang mudah, dimana masalah dan solusi dinyatakan dengan apa yang
tertulis secara matematis, tanpa pemograman tradisional. MATLAB memungkinkan kita
untuk mengekspresikan seluruh algoritma dalam beberapa baris untuk memecahkan
solusi dengan tingkat akurasi yang tinggi hanya dalam beberapa menit, serta dapat
dengan mudah memanipulasi tampilan 3D dalam beragam warna.
tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak
terlalu sulit bila Anda telah memilikin pengalaman dalam pemrograman bahasa lain
seperti C, PASCAL, atau FORTRAN.
10
BAB II
PEMBAHASAN
2. 1
istilah standar. Ide dasar dibalik DFT adalah mendiskritkan pengintegralan dengan
penjumlahan. Dengan demikian, computer melakukan diskritisasi, sehingga dinamakan
Discrete Fourier Transform.
Dalam laporan ini akan dibahas rumus untuk menghitung transformasi Fourier
diskrit (DFT) dan numerik mempelajari DFT pada sinyal pendek (hanya beberapa
sampel) untuk melacak pada indeks dalam rumus FT (yang kebanyakan orang
menganggap rumit dan abstrak ketika bekerja dengan sinyal panjang). Satu "masalah"
besar pada time series adalah bahwa kita akan mendapatkan sampel data dalam domain
waktu.
Algoritma yang digunakan untuk mengubah sampel data dari domain waktu ke
domain frekuensi dan menghasilkan nilai magnitude disebut Discrete Fourier Transform
(DFT). DFT menstabilkan hubungan antara sample sample signal domain waktu dan
merepresentasikan ke domain frekuensi. DFT biasa digunakan dalam analisis spectral,
diaplikasikan dalam mekanik, pencitraan medis, analisa angka, instrumentasi, dan
telekomunikasi.
Ada banyak cara Discrete Fourier Transform (DFT) muncul dalam praktek,
tetapi pada umumnya digunakan untuk sinyal periodik. Angka-angka tersebut muncul,
misalnya, sebagai nilai-nilai sample diskrit dari fungsi sample analog selama beberapa
11
periode dan kemudian diperpanjang secara berkala. Angka tersebut juga muncul sebagai
seperangkat nilai diskrit dari pengukuran dalam sebuah percobaan dengan asumsi
bahwa percobaan diperpanjang secara berkala. Dalam kasus apapun, urutan dari DFT
adalah urutan periodik baru dan berhubungan dengan urutan asli melalui Iinverse DFT
yang dapat mengubah mirip dengan Inverse Fourier Transform. DFT sangat berguna
dalam analisis spektral dari kedua seri Fourier dan transformasi Fourier.
Misalkan terdapat sinyal sampel x (n), maka notasi Discrete Fourier Transform
(DFT) adalah:
( )
( )
( )
( )
Di mana
12
Dengan asumsi x adalah sampel dari sinyal dengan panjang N, maka program
Matlab sederhana untuk melakukan penjumlahan di atas adalah sebagai berikut:
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN .^ nk;
Xk=x * WNnk;
Inverse DFT didefinisikan sebagai:
( )
( )
Sebuah program Matlab sederhana untuk melakukan inverse DFT dapat ditulis
sebagai berikut:
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN .^ (-nk);
x=(Xk * WNnk)/N;
Gambar dibawah ini merupakan contoh sederhana dari proses DFT dimana
sampel data dari domain waktu ke-n diubah menjadi domain frekuensi dan
menghasilkan nilai magnitude.
13
Program MATLAB:
F=150;
Fs=1000;
%Sampling frequency
nT=0:1/Fs:1;
n=0:length(nT)-1;
r=sin(2*pi*F*nT);
U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs;
%determine x axis
14
figure;subplot(2,1,1);
stem(n,r);
xlabel('n');
ylabel('amplitude');
title('Sinyal diskrit');
subplot(2,1,2);
stem(frek,U);
xlabel('Frekuensi');
ylabel('|X(F/Fs)|');
title('Spektrum Frekuensi Sinyal Diskrit');
% row vector
k=[0:1:N-1];
% row vector
x=ones(1,4);
% Generate x = [ 1 1 1 1 1 1]
subplot(2,2,1);
stem(k,x);
xlabel(' k ');
ylabel(' Amplitude ');
title('Original signal');
15
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^(nk);
Xk=x*WNnk;
subplot(2,2,2);
stem(k,abs(Xk));
% Magnitude response
xlabel(' k ');
ylabel(' Amplitude ');
title('Magnitude response');
ph=angle(Xk);
subplot(2,2,3);
stem(k,ph);
% Phase response
xlabel(' k ');
ylabel(' Radians ');
title('Phase response ');
WNnk1=WN.^(-nk);
x1=(Xk*WNnk1)/N;
subplot(2,2,4);
stem(k,x1);
xlabel(' k ');
ylabel(' Amplitude ');
title('Inverse DFT');
16
Output program:
17
2. 2
Aplikasi
Dalam point sebelumnya telah dibahas tentang definisi, formula, serta simulasi
Kita dapat memilih analisis windowing mana yang akan digunakan. Output dari
syntax FFT(x,n) merupakan sebuah vector kompleks dengan n amplitude kompleks dari
0 Hz sampai dengan sampling frekuensi yang digunakan.
Seringkali kita menginginkan untuk menganalisa suatu sinyal yang panjang
dengan cara mengambil satu bagian yang cukup mewakili. Hal ini lebih kita kenal
sebagai proses windowing. Windowing merupakan suatu fungsi yang berfungsi untuk
mengalikan sinyal terpotong yang discontinue dengan fungsi window agar menjadi
sinyal continue. Windowing diperlukan untuk mengurangi efek diskontinuitas dari
18
potongan potongan sinyal. Ada beberapa jenis dari windowing itu sendiri, yaitu:
Hamming, Hanning, Bartlet, Rectangular, dan Blackman.
Contoh Soal 2-2. Misalkan ( )
frekuensi sample
) di mana
1024. Plot besarnya normalisasi FFT dari windowed signals. Windowed sinyal
manakah yang memiliki mainlobe yang lebih sempit?
Program Matlab:
f1=30;
% Signal frequency
fs=128;
% Sampling frequency
N=256;
% Number of samples
N1=1024;
n=0:N-1;
% Index n
f=(0:N1-1)*fs/N1;
x=cos(2*pi*f1*n/fs);
XR=abs(fft(x,N1))
xh=hamming(N);
xw=x .* xh';
XH=abs(fft(xw,N1));
subplot(2,1,1);
plot(f(1:N1/2),20*log10(XR(1:N1/2)/max(XR)));
title('Spectrum of x(t) using Rectangular Windows');
grid;
19
xlabel('Frequency, Hz');
ylabel('Normalised Magnitude, [dB]');
subplot(2,1,2);
plot(f(1:N1/2),20*log10(XH(1:N1/2)/max(XH)));
title('Spectrum of x(t) using Hamming Windows');
grid;
xlabel('Frequency, Hz');
ylabel('Normalised Magnitude, [dB]');
20
Output program:
Dari proses windowing menggunakan Matlab diatas dapat dilihat bahwa plot
spektrum sinyal baik menggunakan Rectangular Window maupun Hamming Window
memiliki amplitudo puncak yang sama, yaitu sebesar f = 30Hz sesuai dengan frekuensi
sinyal. Sementara Rectangular Window memiliki mainlobe sempit, Hamming Window
memberikan sidelobes puncak kurang dari Rectangular Window.
21
fs=8000;
f=1000;
n=0:N-1;
x=sin(2*pi*(f/fs)*n);
X=fft(x);
magX=abs(X);
% Build up an appropriate frequency axis
fx=0:(N/2)-1;
fx=(fx*fs)/N;
23
Dari plot spektrum di atas jelas menunjukkan bahwa sinyal terdiri dari
komponen sinusoidal tunggal yang memiliki frekuensi 1000Hz. Artefak lain yang
terdapat pada gambar disebabkan oleh terbatasnya jumlah sampel, efek windowing, dan
akurasi perhitungan.
2. 2. 3 Filter dengan Menggunakan Discrete Fourier Transform (DFT)
Jika dalam suatu sistem diketahui:
Sinyal input x(n) X()
Respon impuls h(n) H()
Sinyal output y(n) Y()
Maka:
Y() = H() X()
Dengan menggunakan persaamaan di atas dapat disimpulkan bahwa pemilihan
respon impuls dapat menyaring (filter) sinyal input untuk mendapatkan sinyal output
yang diinginkan.
Contoh Soal 2-4. Diketahui sebuah sistem filter adalah sebagai berikut:
24
Input sinyal:
( )
) where
= 120 Hz,
= 60 Hz dan
= 1000 Hz
Plot input spectrum, respon magnitude dari filter, dan output spectrum dari
Notch filter tersebut!
Program MATLAB:
clear;
N=1024;
fs=1000;
f1=120;
f2=60;
n=0:N-1;
x=sin(2*pi*(f1/fs)*n)+sin(2*pi*(f2/fs)*n);
[pxx, fx]=psd(x,2*N,fs);
plot(fx,20*log10(pxx));
grid;
title('Magnitude Spectrum of x(n)');
xlabel ('Frequency, Hz');
ylabel ('Magnitude, dB');
sin(2*pi*(f2/fs)*n);
b=[1 -1.8596 1];
a=[1 -1.8537 0.9937];
k=0.9969;
25
b=k*b;
figure(1);
subplot(1,1,1);
subplot(1,3,1);
[pxx, fx]=psd(x,2*N,fs);
plot(fx,20*log10(pxx));
grid;
title('Magnitude Spectrum of x(n)');
xlabel ('Frequency, Hz');
ylabel ('Magnitude, dB');
[h,f]=freqz(b,a,1024,fs);
magH=abs(h);
phaseH=angle(h);
subplot(1,3,2);
26
grid;
% Add a grid
y=filter(b,a,x);
[pyy, fy]=psd(y,2*N,fs);
subplot(1,3,3);
plot(fy,20*log10(pyy));
grid;
title('Magnitude Spectrum of y(n)');
xlabel ('Frequency, Hz');
ylabel ('Magnitude, dB');
27
Output program:
Dari hasil plot di atas dapat dilihat bahwa sinyal input terdiri dari dua komponen
sinyal sinusoidal yaitu pada frekuensi 60 Hz dan 120 Hz. Dari besarnya respons dari
filter, jelas bahwa filter melemahkan komponen sinyal yang berada pada frekuensi 60
Hz. Oleh karena itu, spektrum keluaran terdiri dari sinyal 120 Hz dan sinyal yang
dilemahkan (0 dB) pada frekuensi 60 Hz .
28
BAB III
PENUTUP
29
DAFTAR PUSTAKA
Agfianto. Pengaruh Panjang Data, Jendela, dan Frekuensi Cuplik pada FFT.
http://agfi.staff.ugm.ac.id/blog/index.php/2009/11/pengaruh-panjang-data-jendelapada-fft/. Diakses pada tanggal 24 Mei 2015.
Anonim.
Example
Applications
of
the
DFT.
http://www.dsprelated.com/freebooks/mdft/Example_Applications_DFT.html.
Diakses pada tanggal 25 Mei 2015.
Budiyanto, Setiyo. 2014. Modul 4 Transformasi Fourier Sinyal Waktu Diskrit. Jakarta:
Universitas Mercu Buana.
Electronics
Term.
Inverse
DFT
without
using
FFT
in
MATLAB.
30