Realisasi Active Noise Reduction Menggunakan Adaptive Filter Dengan Algoritma Least Mean Square (LMS) Berbasis Mikrokontroler LM3S6965.

(1)

i

REALISASI ACTIVE NOISE REDUCTION MENGGUNAKAN

ADAPTIVE FILTER DENGAN ALGORITMA LEAST MEAN

SQUARE (LMS) BERBASIS MIKROKONTROLER LM3S6965

Nama : Wito Chandra NRP : 0822081

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl.Prof.Drg.Suria Sumantri, MPH No. 65, Bandung, Indonesia.

Email : wito.c.91@gmail.com

ABSTRAK

Noise merupakan sinyal yang menggangu sinyal informasi. Pada Tugas Akhir ini, noise dihasilkan oleh loudspeaker, dan dideteksi oleh condenser microphone. Ada beberapa teknik untuk meredam noise salah satunya adalah dengan membangkitkan sinyal yang berkebalikan fasa dengan sinyal noise.

Pada Tugas Akhir ini, active noise reduction dibuat dengan menggunakan adaptive filter. Adaptive filter memiliki kemampuan untuk merubah koefisien-koefisien filter nya sendiri sesuai dengan algorima adaptif yang digunakan. Salah satu algoritma adaptif adalah Least-Mean-Square. Algorima Least-Mean-Square dipilih karena algoritma tersebut tidak terlalu kompleks untuk direalisasikan pada mikrokontroler LM3S6965. Mikrokontroler ini hanya sanggup untuk merealisasikan adaptive filter dengan orde maksimum 32 untuk frekuensi sampling 2 KSPS. Frekuensi noise yang akan dibangkitkan tidak akan melebihi 1 KHz, karena frekuensi sampling yang direalisasikan adalah 2 KSPS. Soundcard Scope digunakan untuk membangkitkan noise dan menampilkan spektrum frekuensi sinyal. Sedangkan MATLAB digunakan untuk menganalisa koefisien-koefisien filter.

Dari hasil pengamatan, maksimum redaman yang dapat dicapai oleh active noise reduction sebesar 21,14 dB. Filter dengan orde 32 dapat meredam noise lebih cepat dari pada filter dengan orde 4 dan 8.


(2)

ii

LM3S6965 MICROCONTROLLER BASED ACTIVE NOISE

REDUCTION REALIZATION USING ADAPTIVE FILTER

WITH LEAST MEAN SQUARE (LMS) ALGORITHM

Name : Wito Chandra NRP : 0822081

Department of Electrical Engineering, Faculty of Engineering, Maranatha Christian University, Jl.Prof.Drg.Suria Sumantri, MPH No. 65,

Bandung, Indonesia

Email : wito.c.91@gmail.com

ABSTRACT

Noise is a signal that interfere information signal. In this final project, noise is generated by loudspeaker and detected by condenser microphone. There are many method to reduce noise, one of them is by generating opposite phase signal with noise.

In this final project, active noise reduction is made using adaptive filter. Adaptive filter has an ability to change its own filter coefficients according to its adaptive algorithm. One of the adaptive algorithm is Square. Least-Mean-Square algorithm is chosen because that algorithm is not too complex to be realized on LM3S6965 microcontroller . In this research, adaptive-filter function is to reduce noise signals, which is called Active Noise Reduction. This microcontroller is only able to realize adaptive filter with maximum order 32 for sampling frequency 2 KSPS. Noise frequency should not be generated more than 1KHz, because sampling frequency is 2KSPS. Soundcard Scope is used to generate noise and displays signal frequency spectrum. MATLAB is used to analyze filter coefficeints.

From the observation results, the maximum reduction that can be achieved from active noise reduction is 21,14 dB. Filter with order 32 can reduce noise faster than filter with order 4 and 8.


(3)

iv

DAFTAR ISI

ABSTRAK... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... x

BAB 1 PENDAHULUAN... 1

1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 1

1.3 Tujuan... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 2

1.6 Sistematika Penulisan Laporan ... 3

BAB 2 TEORI DASAR ... 4

2.1 Filter ... 4

2.1.1 Low-pass filter ... 6

2.1.2 High-pass filter ... 6

2.1.3 Band-pass filter ... 7

2.1.4 Band-stop filter ... 8

2.1.5 All-pass filter ... 9

2.2 Sistem waktu diskrit ... 10

2.2.1 Static – dynamic systems ... 11

2.2.2 Time-variant – time invariant systems ... 11

2.2.3 Linear – nonlinear systems ... 12

2.2.4 Stable – unstable systems ... 12

2.2.5 Causal – noncausal systems ... 12

2.3 Implementasi sistem waktu diskrit ... 12

2.3.1 Finite impulse response (FIR) ... 13

2.3.1 Infinite impulse response (IIR) ... 14


(4)

v

2.5 Algoritma Least-Mean-Square ... 17

2.6 Mikrokontroler LM3S6965 ... 20

BAB 3 PERANCANGAN DAN REALISASI ... 23

3.1 Sensor signal amplifier ... 24

3.2 Antialias filter ... 25

3.3 Analog-to-digital converter ... 28

3.4 Pemrosesan digital... 31

3.4.1 Inisialisasi mikrokontroler LM3S6965 ... 32

3.4.2 Algoritma Least-Mean-Square ... 34

3.4.2 Algoritma menampilkan informasi pada modul OLED ... 35

3.5 Digital-to-analog converter ... 36

3.6 Reconstruction filter ... 37

3.7 Audio amplifier ... 38

3.8 Penentuan orde adaptive filter ... 39

BAB 4 ANALISIS DAN DATA PENGAMATAN ... 41

4.1 Respon frekuensi antialias filter dan reconstruction filter ... 41

4.2 Analisis adaptive filter untuk satu noise sinusoidal ... 42

4.2.1 Koefisien adaptive filter untuk satu noise sinusoidal ... 42

4.2.2 Spektrum frekuensi pada error mic untuk satu noise sinusoidal ... 46

4.3 Analisis adaptive filter untuk dua noise sinusoidal ... 50

4.3.1 Koefisien adaptive filter untuk dua noise sinusoidal ... 50

4.3.2 Sepktrum frekuensi pada error mic untuk dua noise sinusoidal ... 54

4.4 Analisis adaptive filter untuk White-Gaussian-Noise ... 56

4.5 Analisis adaptive filter untuk beberapa noise dengan sinyal informasi ... 57

4.5.1 Koefisien adaptive filter dengan sinyal informasi ... 58

4.5.2 Spektrum frekuensi pada error mic dengan sinyal informasi ... 61

4.6 Kinerja active noise reduction dengan sinyal informasi suara untuk noise sinusoidal ... 63


(5)

vi

4.7 Kinerja active noise reduction untuk beberapa orde filter ... 64

BAB 5 KESIMPULAN DAN SARAN ... 65

5.1 Kesimpulan ... 65

5.2 Saran ... 65

DAFTAR PUSTAKA ... xi LAMPIRAN A FOTO HASIL PERANCANGAN

ACTIVE NOISE REDUCTION

LAMPIRAN B RANGKAIAN ACTIVE NOISE REDUCTION LAMPIRAN C LISTING PROGRAM

LAMPIRAN D DATASHEET

LAMPIRAN E PENDEKATAN TRANSFER FUNCTION RANGKAIAN ANALOG


(6)

vii

DAFTAR GAMBAR

Gambar 2.1 Definisi filter ... 4

Gambar 2.2 Contoh respon frekuensi low-pass filter... 6

Gambar 2.3 Contoh respon frekuensi high-pass filter ... 7

Gambar 2.4 Contoh respon frekuensi band-pass filter ... 8

Gambar 2.5 Contoh respon frekuensi band-stop filter ... 9

Gambar 2.6 Contoh respon fasa all-pass filter ... 10

Gambar 2.7 Realisasi direct-form sistem FIR ... 13

Gambar 2.8 Realisasi direct-form sistem IIR ... 15

Gambar 2.9 Adaptive filter ... 16

Gambar 2.10 Blok-diagram mikrokontroler LM3S6965 ... 21

Gambar 3.1 Sistem pengolahan sinyal digital ... 23

Gambar 3.2 Blok diagram sistem Active noise reduction ... 23

Gambar 3.3 Rangkaian sensor signal amplifier ... 25

Gambar 3.4 Topologi Sallen-Key low-pass filter ... 26

Gambar 3.5 Sallen-Key low-pass filter orde 2 ... 27

Gambar 3.6 Respon frekuensi low-pass filter ... 28

Gambar 3.7 Rangkaian biasing ... 28

Gambar 3.8 Blok diagram modul ADC ... 29

Gambar 3.9 Contoh penggunaan sample sequencer ... 30

Gambar 3.10 Stelaris LM3S6965 Ethernet Evaluation Board layout ... 31

Gambar 3.11 Diagram alir program utama ... 32

Gambar 3.12 Diagram alir prosedur initialize ... 33

Gambar 3.13 Diagram alir algoritma Least-Mean-Square ... 35

Gambar 3.14 Algoritma menampilkan layar pada modul OLED ... 36

Gambar 3.15 Diagram blok DAC0808 ... 36

Gambar 3.16 Rangkaian DAC ... 37

Gambar 3.17 Rangkaian reconstruction filter ... 38

Gambar 3.18 Rangkaian audio amplifier ... 38


(7)

viii

Gambar 4.1 Respon frekuensi antialias filter dan reconstruction filter ... 42

Gambar 4.2 Respon frekuensi beberapa orde filter dengan noise 200 Hz ... 44

Gambar 4.3 Respon frekuensi beberapa orde filter dengan noise 300 Hz ... 45

Gambar 4.4 Respon frekuensi beberapa orde filter dengan noise 500 Hz ... 45

Gambar 4.5 Respon frekuensi beberapa orde filter dengan noise 700 Hz ... 45

Gambar 4.6 Respon frekuensi beberapa orde filter dengan noise 800 Hz ... 46

Gambar 4.7 Spektrum frekuensi pada error mic untuk noise 200 Hz ... 47

Gambar 4.8 Spektrum frekuensi pada error mic untuk noise 300 Hz ... 47

Gambar 4.9 Spektrum frekuensi pada error mic untuk noise 500 Hz ... 48

Gambar 4.10 Spektrum frekuensi pada error mic untuk noise 700 Hz ... 48

Gambar 4.11 Spektrum frekuensi pada error mic untuk noise 800 Hz ... 49

Gambar 4.12 Sinyal pada error mic untuk noise 200 Hz ... 50

Gambar 4.13 Respon frekuensi beberapa orde filter dengan noise 200 & 300 Hz ... 52

Gambar 4.14 Respon frekuensi beberapa orde filter dengan noise 300 & 400 Hz ... 53

Gambar 4.15 Respon frekuensi beberapa orde filter dengan noise 600 & 700 Hz ... 53

Gambar 4.16 Respon frekuensi beberapa orde filter dengan noise 700 & 800 Hz ... 53

Gambar 4.17 Spektrum frekuensi pada error mic dengan noise 200 & 300 Hz ... 54

Gambar 4.18 Spektrum frekuensi pada error mic dengan noise 300 & 400 Hz ... 54

Gambar 4.19 Spektrum frekuensi pada error mic dengan noise 600 & 700 Hz ... 55

Gambar 4.20 Spektrum frekuensi pada error mic dengan noise 700 & 800 Hz ... 55

Gambar 4.21 Spektrum frekuensi pada error mic dengan White-Gaussian-Noise ... 57

Gambar 4.22 Respon frekuensi filter dengan sinyal informasi 250 Hz untuk noise sinusoidal ... 60


(8)

ix

Gambar 4.23 Respon frekuensi filter dengan sinyal informasi 250 Hz

untuk White-Gaussian-Noise ... 60

Gambar 4.24 Spektrum frekuensi pada error mic dengan sinyal informasi 250 Hz untuk noise sinusoidal 200 & 300 Hz ... 61

Gambar 4.25 Spektrum frekuensi pada error mic dengan sinyal informasi 250 Hz untuk White-Gaussian-Noise ... 62

Gambar 4.26 Sinyal pada error mic dengan sinyal informasi 250 Hz untuk sinyal noise 200 & 300 Hz ... 63

Gambar 4.27 Sinyal informasi (“HALO”) ... 63

Gambar 4.28 Hasil pem-filter-an dengan sinyal informasi suara ... 64


(9)

x

DAFTAR TABEL

Tabel 3.1 Jumlah sampel tiap sequencer ... 30

Tabel 3.2 Register-register yang dibaca dan ditulis untuk prosedur initialize .... 34

Tabel 3.3 Tabel jumlah clock cycle untuk tiap orde filter ... 39

Tabel 4.1 Koefisien filter ternormalisasi orde 4 dengan 1 noise sinusoidal ... 42

Tabel 4.2 Koefisien filter ternormalisasi orde 8 dengan 1 noise sinusoidal ... 43

Tabel 4.3 Koefisien filter ternormalisasi orde 32 dengan 1 noise sinusoidal ... 43

Tabel 4.4 Hasil redaman satu noise sinusoidal ... 49

Tabel 4.5 Koefisien filter ternormalisasi orde 4 untuk dua noise sinusoidal ... 51

Tabel 4.6 Koefisien filter ternormalisasi orde 8 untuk dua noise sinusoidal ... 51

Tabel 4.7 Koefisien filter ternormalisasi orde 32 untuk dua noise sinusoidal .... 51

Tabel 4.8 Hasil redaman (dB) dua noise sinusoidal ... 56

Tabel 4.9 Koefisien filter ternormalisasi orde 4 dengan sinyal informasi 250 Hz ... 58

Tabel 4.10 Koefisien filter ternormalisasi orde 8 dengan sinyal informasi 250 Hz ... 58

Tabel 4.11 Koefisien filter ternormalisasi orde 32 dengan sinyal informasi 250 Hz ... 58


(10)

A-1

LAMPIRAN A

FOTO HASIL PERANCANGAN ACTIVE NOISE REDUCTION

(Headphone)


(11)

B-1

LAMPIRAN B


(12)

(13)

(14)

(15)

(16)

(17)

C-1

LAMPIRAN C

LISTING PROGRAM

main.c #include "inc/lm3s6965.h" #include "inc/hw_types.h" #include "drivers/rit128x96x4.h" #include "driverlib/sysctl.h" #include "utilities.h" #include <stdio.h> #include <math.h> #include <stdlib.h> #define ORDER 32 char buffer[32]; long adcBuffer[4]; long i = 0;

long pointer = 0; float leftInput[ORDER]; float leftError; float rightInput[ORDER]; float rightError; float leftWeight[ORDER]; float rightWeight[ORDER]; float leftOutput = 0; float rightOutput = 0; long j = 0;

float desire[8] = {0, .175, .25, .175, 0, -.175, -.25, -.175}; int main(){

initialize();

setStatusLed(true); for(i = 0; i < ORDER; i++){ leftInput[i] = 0; leftWeight[i] = 0; rightInput[i] = 0; rightWeight[i] = 0; }

while(getKeypad(0) == KEY_TIMEOUT){ for(i = ORDER - 1; i > 0; i --){

leftInput[i] = leftInput[i - 1]; rightInput[i] = rightInput[i - 1];

}

getAdc(adcBuffer);

leftInput[0] = (((float)adcBuffer[0]/512) - 1); leftError = desire[j] –


(18)

C-2 ((float)adcBuffer[2]/512) + 1;

rightInput[0] = ((float)adcBuffer[1]/512) - 1;

rightError = desire[j] - ((float)adcBuffer[3]/512) + 1;

for(i = 0; i < ORDER; i ++){

leftWeight[i] += (.1F*leftInput[i]*leftError); rightWeight[i] += (.1F*rightInput[i]*rightError); }

leftOutput = 0; rightOutput = 0;

for(i = 0; i < ORDER; i ++){

leftOutput += leftInput[i]*leftWeight[i]; rightOutput += rightInput[i]*rightWeight[i];

}

j++; if(j == 8){ j = 0; }

leftOutput += desire[j]; rightOutput += desire[j]; if(leftOutput > 1){ leftOutput = 1;

} else if(leftOutput < -1){ leftOutput = -1; }

if(rightOutput > 1){ rightOutput = 1;

} else if(rightOutput < -1){ rightOutput = -1; }

setDac1((rightOutput + 1) * 127); setDac2((leftOutput + 1) * 127); delayUs(30); //orde 32

//delayUs(345); //orde 8 //delayUs(400); //orde 4 }

i = 0;

while(i < ORDER){

RIT128x96x4Clear();

for(i = pointer; (i < ORDER) && (i < pointer + 9); i++){ sprintf(buffer, "W%d = %d", i,

(int)(leftWeight[i]*1000));

RIT128x96x4StringDraw(buffer, 0, 10 * (i - pointer), 8, STYLE_NORMAL);

}

while(getKeypad(0) == KEY_TIMEOUT); pointer += 9;

} }


(19)

C-3

utilities.h

#ifndef __UTILITIES_H__ #define __UTILITIES_H__

#include "inc/hw_types.h"

#define KEY_SELECT 0x00000000 #define KEY_TIMEOUT 0xFFFFFFFF void initialize(void);

//inisialisasi mikrokontroler LM3S6965 void setStatusLed(tBoolean state); //mengatur keadaan led status int getKeypad(int timeoutms);

//me-return tombol yang ditekan selama timeoutms void delayMs(int timems);

//delay selama timems milisekon void delayUs(int timeus);

//delay selama timeus mikrosekon void getAdc(long * values); //membaca nilai – nilai adc void setDac1(int data); //mengatur nilai DAC1 void setDac2(int data); //mengatur nilai DAC1 #endif


(20)

C-4 utilities.c #include "utilities.h" #include "inc/hw_pwm.h" #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "inc/lm3s6965.h" #include "driverlib/pwm.h" #include "driverlib/gpio.h" #include "driverlib/sysctl.h" #include "driverlib/systick.h" #include "drivers/rit128x96x4.h" #include "driverlib/adc.h" #include "driverlib/uart.h" #include <stdlib.h> void initialize(void){

SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_8MHZ | SYSCTL_OSC_MAIN); SYSCTL_RCGC0_R |= 0x00010300;

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);

GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6);

GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);

GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);

GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0); GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, GPIO_PIN_0); GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_1); GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); RIT128x96x4Init(1000000);

ADCSequenceConfigure(ADC0_BASE, 1, ADC_TRIGGER_PROCESSOR, 0); ADCSequenceStepConfigure(ADC0_BASE, 1, 0,ADC_CTL_CH0); ADCSequenceStepConfigure(ADC0_BASE, 1, 1,ADC_CTL_CH1); ADCSequenceStepConfigure(ADC0_BASE, 1, 2,ADC_CTL_CH2); ADCSequenceStepConfigure(ADC0_BASE, 1, 3,ADC_CTL_IE | ADC_CTL_END | ADC_CTL_CH3);


(21)

C-5 ADCReferenceSet(ADC0_BASE, ADC_REF_INT);

}

void setStatusLed(tBoolean state){ if(state){

GPIO_PORTF_DATA_R |= 0x01; } else {

GPIO_PORTF_DATA_R &= 0xFE; }

}

int getKeypad(int timeoutms){ int i = 0;

if((GPIO_PORTF_DATA_R & 0x02) == 0x00){ while((GPIO_PORTF_DATA_R & 0x02) == 0x00); return KEY_SELECT;

}

for(i = 0; i < timeoutms; i++){

if((GPIO_PORTF_DATA_R & 0x02) == 0x00){ while((GPIO_PORTF_DATA_R & 0x02) == 0x00); return KEY_SELECT; } delayMs(1); } return KEY_TIMEOUT; }

void delayMs(int timems){

SysCtlDelay(timems * 50000 / 3); }

void delayUs(int timeus){

SysCtlDelay(timeus * 50 / 3); }

void getAdc(long * values){

ADCIntClear(ADC0_BASE, 1);

ADCProcessorTrigger(ADC0_BASE, 1);

while(!ADCIntStatus(ADC0_BASE, 1, false)){}; ADCSequenceDataGet(ADC0_BASE, 1, values); }

void setDac1(int data){ char dataB = 0; char dataD = 0; char dataG = 0; int i = 0;

for(i = 0; i < 4; i++){ dataD = dataD << 1;


(22)

C-6 dataD |= (data >> i) & 0x01;

}

dataD = (dataD << 4) & 0xF0;

for(i = 5; i < 8; i++){ dataB = dataB << 1;

dataB |= (data >> i) & 0x01; }

dataB = (dataB << 4) & 0x70; dataG = (data >> 4) & 0x01; GPIO_PORTB_DATA_R &= 0x0F; GPIO_PORTB_DATA_R |= dataB; GPIO_PORTD_DATA_R &= 0x0F; GPIO_PORTD_DATA_R |= dataD; GPIO_PORTG_DATA_R &= 0xFE; GPIO_PORTG_DATA_R |= dataG; }

void setDac2(int data){ char dataB = 0; char dataE = 0; int i = 0;

for(i = 0; i < 4; i++){ dataE = dataE << 1;

dataE |= (data >> i) & 0x01;

}

dataE = dataE & 0x0F;

for(i = 4; i < 8; i++){ dataB = dataB << 1;

dataB |= (data >> i) & 0x01; }

dataB = dataB & 0x0F; GPIO_PORTB_DATA_R &= 0xF0; GPIO_PORTB_DATA_R |= dataB; GPIO_PORTE_DATA_R &= 0xF0; GPIO_PORTE_DATA_R |= dataE; }


(23)

D-1

LAMPIRAN D


(24)

(25)

(26)

(27)

(28)

(29)

(30)

E-1

LAMPIRAN E

PENDEKATAN TRANSFER FUNCTION RANGKAIAN

ANALOG

Biasing + kapasitor kopling

Rangkaian Biasing + kapasitor kopling dapat dilihat pada Gambar 3.7. Dengan menyederhanakan rangkaian Biasing + kapasitor kopling dihitung, maka didapat transfer function sebagai berikut:

�1 =

�1 +�2 +�3 ||�4

�1 +�2 +�3 ||�4 + 13

�1 =

5,45 103 5,45 103+ 109

47 �

= 5,45 10 3

5,45 103 + 109 47 �

�1 =

� �+ 3900

Low-pass filter

Rangkaian pass filter dapat dilihat pada Gambar 3.5. Transfer function low-pass filter dapat diturunkan dengan menggunakan persamaan (3.1).

�2 =

1


(31)

E-2

Amplifier

Rangkaian amplifier dapat dilihat pada Gambar 3.3. Rangkaian amplifier ini hanya memperkuat semua amplituda pada frekuensi yang masuk, sehingga transfer function amplifier hanya merupakan penguatan saja.

�3 = �

Tahanan input rangkaian amplifier ini adalah 50 KOhm dapat dilihat pada datasheet LM386.

Kapasitor kopling

Nilai kapasitor kopling yang digunakan adalah 47 nF. Dengan mengetahui tahanan input dari amplifier, maka transfer function kapasitor kopling dapat ditulis sebagai berikut

�4 =

50 103 50 103+ 109

47 �

�4 =

� �+ 425,5

Dengan mengalikan semua transfer function maka didapat:

�= �1�2�3�4

=� �

2


(32)

E-3 Dengan menggunakan MATLAB, maka respon frekuensi dengan A = 20 dapat dilihat pada gambar berikut.


(33)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Noise merupakan sinyal yang mengganggu sinyal informasi. Noise dapat berasal dari berbagai sumber. Salah satu contoh sumber noise yang ada dalam kehidupan sehari-hari adalah motor. Pada saat motor dinyalakan, motor menghasilkan beberapa noise yang menggangu lingkungan sekitarnya. Salah satu noise yang dihasilkan motor adalah suara.

Konsep dasar untuk menghilangkan sinyal noise adalah dengan membangkitkan sinyal yang memiliki fasa yang terbalik dengan sinyal noise. Hanya saja dalam prakteknya, membangkitkan sinyal yang memiliki fasa yang terbalik dengan sinyal noise sangatlah rumit. Untuk itu, cara yang memungkinkan untuk dipraktekkan adalah dengan memprediksi sinyal noise dan kemudian menghasilkan sinyal yang memiliki fasa yang terbalik terhadap sinyal yang diprediksi.

Seiring dengan perkembangan teknologi signal processing, berbagai macam filter telah dikembangkan dan diaplikasikan untuk berbagai macam kebutuhan. Khususnya adaptive filter, filter ini dapat merubah transfer function-nya sendiri tergantung pada algoritma yang digunakan untuk menangani error. Algoritma yang digunakan dalam Tugas Akhir ini adalah Least Mean Square (LMS).

1.2 Perumusan Masalah

Perumusan masalah dalam Tugas Akhir ini adalah:

Bagaimana cara merealisasikan Active Noise Reduction berbasis mikrokontroler LM3S6965?


(34)

2

1.3 Tujuan

Tujuan dari Tugas Akhir ini adalah:

 Merealisasikan Active Noise Reduction berbasis mikrokontroler LM3S6965.

Membandingkan hasil pengurangan noise untuk tiap orde filter.

1.4 Batasan Masalah

Beberapa batasan masalah pada Tugas Akhir ini adalah:

Frekuensi noise yang akan dinetralkan berkisar dari 50 Hz hingga 1 kHz.

 Realisasi dilakukan dengan menggunakan mikrokontroler LM3S6965.

Algoritma adaptif menggunakan Least Mean Square (LMS).

Realisasi dilakukan pada headphone.

Jenis noise yang dibangkitkan adalah sinusoidal dan white gaussian noise.

Pengamatan data menggunakan software Soundcard Scope dan MATLAB.

1.5 Metodologi Penelitian

Dalam melakukan penelitian ini, metode yang dilakukan peneliti adalah sebagai berikut:

 Membaca literatur

Literature yang diperoleh berupa Application note untuk aplikasi yang digunakan, text book mengenai signal processing dan ARM.

 Diskusi

Diskusi dilakukan dengan dosen ataupun mahasiswa-mahasiswa untuk memperoleh saran maupun informasi yang terkait dengan penelitian ini.

 Realisasi

Realisasi Active noise reduction dilakukan dengan menggunakan mikrokontroler LM3S6965.


(35)

3

 Pengukuran

Pengukuran noise yang berhasil dinetralkan dilakukan dengan mengukur nilai error pada adaptive filter.

 Validasi

Validasi dilakukan dengan membandingkan komponen-komponen adaptive filter dari simulasi MATLAB dengan hasil realisasi.

1.6 Sistematika Penulisan Laporan

Penulisan Tugas Akhir mengikuti format sebagai berikut:

Bab 1 menyajikan pendahuluan yang membahas tentang latar belakang pemilihan

topik, perumusan masalah, tujuan yang ingin dicapai, batasan masalah, serta sistematika penulisan laporan.

Bab 2 membahas tentang teori dasar digital signal processing, adaptive filter,

LMS algorithm, dan mikrokontroler LM3S6965.

Bab 3 membahas tentang perancangan dan realisasi adaptive filter dengan

mikrokontroler LM3S6965

Bab 4 berisi analisis mengenai karakteristik adaptive filter pada alat untuk

beberapa orde dan hasil penetralan noise yang didapat.

Bab 5 berisi kesimpulan dan saran-saran untuk pengembangan lebih lanjut Tugas


(36)

65

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil perancangan dan pengamatan dapat disimpulkan bahwa:

Active noise reduction berhasil direalisasikan menggunakan mikrokontroller LM3S6965 dan dapat mengurangi noise dengan redaman maksimum sebesar 21,14 dB.

 Maksimum orde filter yang dapat dicapai dalam Tugas Akhir ini adalah 32.

 Dari hasil pengamatan, orde filter 32 memiliki respon yang paling cepat dalam meredam noise jika dibandingkan dengan orde filter 4 dan 8.

Filter yang dirancang belum mampu meredam White-Gaussian noise.

5.2 Saran

Untuk pengembangan lebih lanjut dari Tugas Akhir ini, penulis menyarankan hal-hal berikut:

Dalam penelitian kedepannya, lebih baik menggunakan DSP (Digital Signal Processor) supaya orde filter yang dapat dicapai lebih tinggi.

 Dalam penelitian berikutnya, lebih disarankan menggunakan resolusi ADC dan DAC yang lebih besar supaya alat yang dirancang mampu mendeteksi dan meredam noise yang memiliki amplituda yang kecil.


(37)

xi

DAFTAR PUSTAKA

[1] Carter, Bruce. 2000. A Single-Supply Op-amp Circuit Collection. Texas, USA. Texas Instruments.

[2] Haykin, Simon. 1996. ADAPTIVE FILTER THEORY Third Edition. New Jersey, USA. Prentice Hall.

[3] Luminary Micro. 2008. Using the Stellaris® Microcontroller Analog-to-Digital Converter (ADC). USA.

[4] Mancini, Roy. 2002. Op Amps For Everyone. Texas, USA. Texas Instruments. [5] Proakis JG, and Manolakis DG. 1996. DIGITAL SIGNAL PROCESSING Principles, Algorithms, and Applications Third Edition. New Jersey, USA. Prentice Hall.

[6] Texas Instruments. 2011. Stellaris® LM3S6965 Microcontroller Datasheet. Texas, USA.


(1)

E-3 Dengan menggunakan MATLAB, maka respon frekuensi dengan A = 20 dapat dilihat pada gambar berikut.


(2)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Noise merupakan sinyal yang mengganggu sinyal informasi. Noise dapat berasal dari berbagai sumber. Salah satu contoh sumber noise yang ada dalam kehidupan sehari-hari adalah motor. Pada saat motor dinyalakan, motor menghasilkan beberapa noise yang menggangu lingkungan sekitarnya. Salah satu noise yang dihasilkan motor adalah suara.

Konsep dasar untuk menghilangkan sinyal noise adalah dengan membangkitkan sinyal yang memiliki fasa yang terbalik dengan sinyal noise. Hanya saja dalam prakteknya, membangkitkan sinyal yang memiliki fasa yang terbalik dengan sinyal noise sangatlah rumit. Untuk itu, cara yang memungkinkan untuk dipraktekkan adalah dengan memprediksi sinyal noise dan kemudian menghasilkan sinyal yang memiliki fasa yang terbalik terhadap sinyal yang diprediksi.

Seiring dengan perkembangan teknologi signal processing, berbagai macam filter telah dikembangkan dan diaplikasikan untuk berbagai macam kebutuhan. Khususnya adaptive filter, filter ini dapat merubah transfer function-nya sendiri tergantung pada algoritma yang digunakan untuk menangani error. Algoritma yang digunakan dalam Tugas Akhir ini adalah Least Mean Square (LMS).

1.2 Perumusan Masalah

Perumusan masalah dalam Tugas Akhir ini adalah:

Bagaimana cara merealisasikan Active Noise Reduction berbasis mikrokontroler LM3S6965?


(3)

2

1.3 Tujuan

Tujuan dari Tugas Akhir ini adalah:

 Merealisasikan Active Noise Reduction berbasis mikrokontroler LM3S6965.

Membandingkan hasil pengurangan noise untuk tiap orde filter.

1.4 Batasan Masalah

Beberapa batasan masalah pada Tugas Akhir ini adalah:

Frekuensi noise yang akan dinetralkan berkisar dari 50 Hz hingga 1 kHz.  Realisasi dilakukan dengan menggunakan mikrokontroler LM3S6965.  Algoritma adaptif menggunakan Least Mean Square (LMS).

Realisasi dilakukan pada headphone.

Jenis noise yang dibangkitkan adalah sinusoidal dan white gaussian noise. Pengamatan data menggunakan software Soundcard Scope dan MATLAB.

1.5 Metodologi Penelitian

Dalam melakukan penelitian ini, metode yang dilakukan peneliti adalah sebagai berikut:

 Membaca literatur

Literature yang diperoleh berupa Application note untuk aplikasi yang digunakan, text book mengenai signal processing dan ARM.

 Diskusi

Diskusi dilakukan dengan dosen ataupun mahasiswa-mahasiswa untuk memperoleh saran maupun informasi yang terkait dengan penelitian ini.

 Realisasi

Realisasi Active noise reduction dilakukan dengan menggunakan mikrokontroler LM3S6965.


(4)

3  Pengukuran

Pengukuran noise yang berhasil dinetralkan dilakukan dengan mengukur nilai error pada adaptive filter.

 Validasi

Validasi dilakukan dengan membandingkan komponen-komponen adaptive filter dari simulasi MATLAB dengan hasil realisasi.

1.6 Sistematika Penulisan Laporan

Penulisan Tugas Akhir mengikuti format sebagai berikut:

Bab 1 menyajikan pendahuluan yang membahas tentang latar belakang pemilihan topik, perumusan masalah, tujuan yang ingin dicapai, batasan masalah, serta sistematika penulisan laporan.

Bab 2 membahas tentang teori dasar digital signal processing, adaptive filter, LMS algorithm, dan mikrokontroler LM3S6965.

Bab 3 membahas tentang perancangan dan realisasi adaptive filter dengan mikrokontroler LM3S6965

Bab 4 berisi analisis mengenai karakteristik adaptive filter pada alat untuk beberapa orde dan hasil penetralan noise yang didapat.

Bab 5 berisi kesimpulan dan saran-saran untuk pengembangan lebih lanjut Tugas Akhir ini.


(5)

65

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil perancangan dan pengamatan dapat disimpulkan bahwa:

Active noise reduction berhasil direalisasikan menggunakan mikrokontroller LM3S6965 dan dapat mengurangi noise dengan redaman maksimum sebesar 21,14 dB.

 Maksimum orde filter yang dapat dicapai dalam Tugas Akhir ini adalah 32.

 Dari hasil pengamatan, orde filter 32 memiliki respon yang paling cepat dalam meredam noise jika dibandingkan dengan orde filter 4 dan 8.

Filter yang dirancang belum mampu meredam White-Gaussian noise.

5.2 Saran

Untuk pengembangan lebih lanjut dari Tugas Akhir ini, penulis menyarankan hal-hal berikut:

Dalam penelitian kedepannya, lebih baik menggunakan DSP (Digital Signal Processor) supaya orde filter yang dapat dicapai lebih tinggi.

 Dalam penelitian berikutnya, lebih disarankan menggunakan resolusi ADC dan DAC yang lebih besar supaya alat yang dirancang mampu mendeteksi dan meredam noise yang memiliki amplituda yang kecil.


(6)

xi

DAFTAR PUSTAKA

[1] Carter, Bruce. 2000. A Single-Supply Op-amp Circuit Collection. Texas, USA. Texas Instruments.

[2] Haykin, Simon. 1996. ADAPTIVE FILTER THEORY Third Edition. New Jersey, USA. Prentice Hall.

[3] Luminary Micro. 2008. Using the Stellaris® Microcontroller Analog-to-Digital Converter (ADC). USA.

[4] Mancini, Roy. 2002. Op Amps For Everyone. Texas, USA. Texas Instruments. [5] Proakis JG, and Manolakis DG. 1996. DIGITAL SIGNAL PROCESSING Principles, Algorithms, and Applications Third Edition. New Jersey, USA. Prentice Hall.

[6] Texas Instruments. 2011. Stellaris® LM3S6965 Microcontroller Datasheet. Texas, USA.