bab iii perancangan sistem penyama€¦ · berada pada sekitar 45 – 50 db. karena standar nilai...
TRANSCRIPT
27
BAB III
PERANCANGAN SISTEM PENYAMA
Pembahasan pada bab ini berisi perancangan sistem medan jauh penyuara dalam
bentuk program pada perangkat lunak Python yang akan dijalankan oleh Rasberry Pi
B. Pada subbab yang pertama, menjelaskan tentang penggunaan perangkat keras
sebagai pengirim dan penerima isyarat. Pada subbab berikutnya menjelaskan
pembentukan isyarat MLS diikuti subbab 3.3 dengan penjelasan alih ragam Hilbert.
Subbab 3.4 menjelaskan tentang proses penyamaan dengan algoritma galat kuadrat
terkecil ternormalisasi dan 3.5 menjelaskan proses penjendelaan.
Sistem penyama yang dirancang terdiri dari penguat audio, penyuara, dan
ruangan gedung C yaitu C107 dan CX01 tempat penyamaan dilakukan sampai pada
titik di lokasi sekitar kepala pendengar. Karakteristik sistem tanggapan ruang tersebut
perlu diketahui terlebih dahulu dengan cara mengukur tanggapan impuls sistem. Posisi
pendengar yang terletak pada medan jauh penyuara menyebabkan pendekatan bentuk
muka gelombang bunyi yang diterima pendengar dari penyuara berberntuk bola.
Pengukuran tanggapan impuls sistem dilakukan dengan menggunakan isyarat
Maximum Length Sequence (MLS).
Penyama yang fungsi pindahnya merupakan invers dari fungsi pindah sistem
yang akan disamakan kemungkinan besar tidak stabil dikarenakan sistem memiliki nol
di luar lingkaran satuan atau sistem tidak berfase minimum[4]. Tanggapan ruang
terukur umumnya tidak berfase minimum, sehingga perlu dilakukan pembentukan
sistem berfase minimum dengan menggunakan alih ragam Hilbert. Pada Rasberry Pi
B penambahan library pada perangkat lunak Python diperlukan untuk mendapatkan
28
fungsi alih ragam Hilbert. Penambahan ini meliputi library untuk komputasi ilmiah
yaitu NumPy dan SciPy sehingga perangkat keras Raspberry Pi B dan perangkat lunak
Python dapat digunakan untuk pengolahan sinyal secara maksimal.
Pada tahap selanjutnya penyamaan dilakukan pada tanggapan impuls sistem fase
minimum dengan menggunakan algoritma galat kuadrat terkecil ternormalisasi.
Setelah melalui tahapan algoritma NLMS sistem penyama mungkin menghasilkan
isyarat keluaran yang cacat karena tanggapan fase penyama bersifat tidak linear atau
tundaan kelompok penyama yang tidak konstan. Pada tahapan akhir sistem penyama,
tapis digital FIR fase linear dibentuk lewat proses penjendelaan dan diaplikasikan
sebelum keluaran. Tanggapan impuls penyama menjadi tapis digital FIR berfase linear
melalui proses penjendelaan sehingga akan menghasilkan tundaan kelompok yang
konstan di semua frekuensi.
Sistem penyama medan jauh penyuara yang dirancang dengan menggunakan
Rasberry Pi B dan Wolfson Audio Card dapat digambarkan pada diagram kotak
berikut.
Gambar 3.1. Diagram kotak sistem penyama medan jauh penyuara menggunakan Rasberry Pi B
dan Wolfson Audio Card.
Ruang
Penguat
Isyarat
Audio
Rasberry
Pi sebagai
DSP Processor
29
Mikropon yang digunakan adalah mikropon pada Wolfson Audio Card yaitu
WM7220 DMIC MEMS yang memiliki an pola penerimaan bunyi omnidirectional
[14], grafik sensitifitas mikropon terhadap frekuensi ditunjukkan pada gambar berikut.
Gambar 3.2. Grafik sensitifitas mikropon terhadap frekuensi
Total Harmonic Distortion (THD) mikropon terhadap level tekanan bunyi ditunjukkan
pada grafik berikut
30
Gambar 3.3. THD mikropon terhadap level tekanan bunyi
Penyuara menggunakan penguat isyarat audio yang berguna untuk memperkuat
aras tekanan suara isyarat pengeksitasi untuk mengatasi pengaruh derau latar yang
berada pada sekitar 45 – 50 dB. Karena standar nilai S/N antara isyarat yang diterima
di mikropon dengan derau latar belakang adalah 30 – 50 dB [1], maka penguat isyarat
audio menguatkan isyarat hingga aras isyarat suara yang diterima di mikropon sebesar
75 – 100 dB.
Cara kerja sistem penyama ini dijelaskan sebagai berikut.
1. DSP Processor membangkitkan isyarat MLS kemudian menyuarakannya.
2. DSP Processor merekam pantulan isyarat MLS yang berupa isyarat MLS dan
tanggapan impuls ruang dengan tundaan.
3. DSP Processor mencari tanggapan impuls sistem.
4. DSP Processor mencari tanggapan impuls sistem fase minimum menggunakan
tapis alih ragam Hilbert.
5. DSP Processor menghitung inverse tanggapan impuls penyama menggunakan
algoritma galat kuadrat terkecil ternormalisasi.
31
6. DSP Processor menghitung lama proses iterasi algoritma galat kuadrat terkecil
ternormalisasi.
7. DSP Processor membentuk tapis penyama berstruktur tapis FIR fase linear
dengan metode penjendelaan (windowing).
8. DSP Processor menggunakan tapis penyama tersebut pada isyarat suara yang
diterimanya sebelum hasil penyamaannya diteruskan ke penguat isyarat audio
dan disuarakan oleh penyuara.
Berikut adalah penjelasan perancangan setiap tahapan program yang didahului
dengan diagram alir program.
Gambar 3.4. Diagram alir program sistem penyama
Mulai
Membangkitkan isyarat MLS dan menyuarakannya
Mencari tanggapan impuls sistem
Mencari tanggapan impuls system fase mimimum
dengan alih ragam Hilbert
Menghitung tanggapan impuls penyama
menggunakan algoritma NLMS
Membentuk tapis penyama fase linear dengan metode
penjendelaan
Selesai
32
3.1. Menyuarakan dan Merekam Isyarat pada modul Rasberry Pi B dan
Wolfson Audio Card
Pertama – tama untuk menyuarakan isyarat menggunakan modul Wolfson Audio
Card, kita perlu menjalankan script untuk Wolfson Audio Card dengan memberikan
perintah melalui LXTerminal pada Rasberry Pi. Untuk menyuarakan isyarat digunakan
perintah berikut.
./Playback_to_Lineout.sh <Enter>
Perintah diatas berarti menjalanan script Playback_to_Lineout.sh dari Rasberry Pi
sehingga perangkat keras pada Wolfson Audio Card dapat menjalankan fungsinya. Isi
dari script diatas ditunjukkan pada gambar berikut
Gambar 3.5. Script Playback_to_Linout.sh
Melalui script ini keluaran stereo gain pada kanal dan kiri dapat disesuaikan sesuai
kebutuhan. Dalam perancangan ini, gain yang digunakan bernilai 32 pada kedua kanal.
Isyarat MLS yang disuarakan melalui Wolfson Audio Card selanjutnya akan
diterima kembali untuk mengetahui tanggapan impuls ruang. Fungsi untuk merekam
dan mencuplik isyarat MLS yang digunakan untuk pengukuran diperlukan. Langkah
33
awal untuk merekam dengan menjalankan script melalui LXTerminal Rasberry Pi
dengan perintah berikut
./Record_from_DMIC.sh <Enter>
Perintah diatas menjalankan script Record_from_DMIC.sh yang digunakan untuk
menjalankan perangkat keras mikropon pada Wolfson Audio Card. Isi dari script diatas
ditunjukkan pada gambar berikut.
Gambar 3.6. Script Record_from_DMIC.sh
Gain input digital sebesar 128 pada setiap mikropon dan gain input sebesar 32. Nilai 32
pada kedua script menunjukkan aras kekerasan isyarat sebesar 0 decibel. Kemudian
perintah pada LXTerminal berikut digunakan untuk mulai merekam isyarat.
arecord –c 2 –f S16_LE –r 44100 nama_file.wav <Enter>
Dimana rincian perintah diatas sebagai berikut.
-c = Jumlah kanal yang digunakan, nilai 2 untuk stereo dan 1 untuk mono
-f = Format perekaman, dalam hal ini rekaman berupa isyarat audio 16-bit Little Endian
-r = Kecepatan cuplik. Dalam perancangan ini 44100 Khz
34
3.2. Pembangkit Isyarat MLS dan Pengukuran Tanggapan Impuls
Pengukuran tanggapan impuls sistem dilakukan dengan menggunakan isyarat
MLS karena pada metode ini pengaruh derau latar belakang pada pengukuran dapat
dengan mudah dikurangi[1]. Nilai S/N isyarat MLS terhadap derau yang dianjurkan
adalah 30-50 dB [1]. Nilai aras derau latar belakang yang terukur saat pengukuran
dilakukan adalah sekitar 45 – 50 dB, sedangkan penguat isyarat audio perlu diatur
penguatannya sedemikian hingga aras isyarat MLS yang diterima di mikropon adalah
80 dB.
Untuk standar pengukuran ruangan, isyarat MLS yang dibangkitkan adalah 16
bit. Panjang dari isyarat MLS yang dihasilkan adalah 216 bit = 65536 bit. Dengan
frekuensi cuplik 44100 kHz, durasi dari isyarat MLS tersebut adalah (65536/44100) s
kurang lebih 1.486s, nilai ini untuk mencegah tidak terjadinya time-aliasing pada
pengukuran tanggapan impuls. Untuk isyarat MLS 16-bit, berikut bit taps yang
digunakan dalam program.
case 16
taps=4;
tap1=2;
tap2=3;
tap3=5;
tap4=16;
Penggalan program untuk rekursi XOR[15]
for i = (2^n)-1:-1:1
xorbit = xor(buff(tap1),buff(tap2));
if taps==4
xorbit2 = xor(buff(tap3),buff(tap4));
xorbit = xor(xorbit,xorbit2);
end
buff = [xorbit buff(1:n-1)];
y(i) = (-2 .* xorbit) + 1;
end
35
Gambar dari 256 cuplikan pertama bit MLS yang diplotkan pada MatLab tampak seperti
di bawah ini.
Gambar 3.7. Plot bit dari 256 cuplikan pertama isyarat MLS.
Pada gambar 4.5. ditunjukkan bit – bit yang dibangkitkan oleh register geser sebanyak
216 cuplikan. Sesuai dengan teori pada Bab 2.2. nilai bit ini kemudian dikonversi
sehingga nilai 0 → 1 dan 1 → −1.
Tanggapan impuls sistem kemudian diperoleh dengan menghitung korelasi
silang antara isyarat MLS yang disuarakan dan isyarat MLS yang diterima oleh
mikropon di titik lokasi pendengar. Dalam perhitungan korelasi silang tersebut
diperlukan adanya tundaan sebesar N cuplikan karena adanya perbedaan jarak tempuh
di antara kedua isyarat yang berupa jarak yang ditempuh isyarat MLS dari penyuara ke
0 50 100 150 200 250-0.2
0
0.2
0.4
0.6
0.8
1
36
mikropon di titik lokasi pendengar. Untuk menyuarakan isyarat MLS, menggunakan
bantuan fungsi sounds pada MATLAB.
Besar dari nilai cuplikan N tergantung pada jarak penyuara ke mikropon
seperti yang dirumuskan pada persamaan berikut.
𝑁 =𝑥
𝑐× 𝐹𝑠 … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … (3.1)
dengan:
N adalah tundaan pada isyarat MLS dalam perhitungan korelasi silang (sample); x
adalah jarak penyuara ke mikropon (m); dan c adalah cepat rambat bunyi pada suhu
ruang (m/s);
Pada pengukuran tanggapan impuls, jarak antara penyuara ke mikropon adalah
2 m, sehingga besarnya nilai N adalah (2/343) * 44100 = 257,142 cuplikan ≈ 257
cuplikan.
Sebelumnya, nilai variabel taps telah ditentukan untuk berapa bit isyarat MLS
yang dibutuhkan (dalam perancangan ini 16-bit MLS). Urutan kerja program pada
pengukuran tanggapan impuls sistem menggunakan isyarat MLS adalah:
1. Membangkitkan isyarat MLS dengan menentukan berapa bit MLS yang
diinginkan.
2. Nilai variable taps digunakan untuk rekursi dan menentukan keluaran MLS pada
cuplikan ke n.
3. Menyuarakan isyarat MLS melalui penyuara sekaligus merekam isyarat MLS
yang diterima oleh mikropon di titik lokasi pendengar.
4. Mencari tanggapan impuls sistem dengan menghitung korelasi silang antara
isyarat MLS yang disuarakan oleh penyuara dan isyarat MLS yang diterima oleh
mikropon dengan memperhitungkan tundaan sebesar N cuplikan.
37
Urutan kerja program tersebut dapat dinyatakan pada diagram alir berikut.
Gambar 3.8. Diagram alir program pencarian tanggapan impuls sistem.
3.3. Tanggapan Impuls Sistem Fase Minimum Dengan Alih Ragam Hilbert
Sesuai dengan penjelasan konsep alih ragam Hilbert pada sistem fase minimum
pada BAB 2, cara kerja tapis alih ragam Hilbert sebagai berikut.
1. Menghitung alih ragam Fourier waktu diskret (DFT) dari tanggapan impuls
ruang..
2. Menghitung logaritma natural dari magnitudo tanggapan frekuensi sistem
terukur.
3. Tapis alih ragam Hilbert menghitung fase pengganti yang membentuk sistem
fase minimum
4. Mengganti fase tanggapan frekuensi ruang terukur dengan fase pengganti yang
diperoleh.
Mulai
Membangkitkan isyarat MLS 16-bit
Melakukan rekursi berdasarkan variable taps sebagai output
MLS cuplikan ke n
Menyuarakan dan merekam isyarat MLS pada titik
dengar
Selesai
Menghitung tanggapan impuls ruang dengan korelasi
silang dan tundaan N
38
5. Menghitung alih ragam Fourier balik waktu diskret (IDFT) dari tanggapan
frekuensi ruang baru yang diperoleh untuk memperoleh tanggapan impuls ruang
berfase minimum.
Urutan kerja program tersebut dapat dinyatakan pada diagram alir berikut.
Gambar 3.9. Diagram alir program pencarian tanggapan impuls sistem fase
minimum.dengan alih ragam Hilbert
3.4 Pencarian Tanggapan Impuls Penyama Menggunakan Algoritma Galat
Kuadrat Terkecil Ternormalisasi
Urutan kerja program pencarian tanggapan impuls penyama menggunakan
algoritma galat kuadrat terkecil adalah:
1. Membentuk vektor 𝒘[𝑛] sebagai tapis adaptif
2. Mengisi nilai vektor 𝒘[𝑛] dengan 0 sebagai nilai awal
3. Menghitung energi sinyal masukan 𝒙𝑇(𝑛)𝒙(𝑛)
Mulai
Menghitung DFT dari tanggapan impuls ruang
Menghitung logaritma natural dari magnitudo
tanggapan frekuensi ruang terukur
Menghitung alih ragam Hilbert dari logaritma natural
magnitudo tanggapan frekuensi ruang terukur
Mengganti fase tanggapan frekuensi ruang terukur dengan
fase pengganti hasil tapis alih ragam Hilbert
Menghitung IDFT dari tanggapan frekuensi
sistem fase minimum
Selesai
39
4. Menghitung nilai parameter µ
5. Membentuk vektor 𝒆[𝑛]
6. Menghitung vektor 𝒅[𝑛] = 𝒙[𝑛] ∗ 𝒉[𝑛]
7. Menghitung nilai ralat e[n]
8. Menghitung nilai w[n+1] dengan persamaan rekursi NLMS
Diagram alir program rekursi NLMS ditunjukkan pada gambar berikut
Gambar 3.10. diagram alir program pencarian tanggapan impuls penyama menggunakan
algoritma galat kuadrat terkecil ternormalisasi.
Dengan 𝒉[𝑛] adalah deretan impuls dengan jumlah sample n = 21 dari suatu tanggapan
frekuensi dan 𝒙[𝑛] merupakan fungsi acak yang dibangkitkan dengan fungsi rand()
dengan jumlah sample n = 1000 pada MATLAB berikut penggalan program rancangan
simulasi perhitungan rekursi algoritma galat kuadrat terkecil ternormalisasi
Mulai
Membentuk vektor 𝒘[𝑛]
Menghitung 𝒙𝑇(𝑛)𝒙(𝑛)
Menghitung 𝒅[𝑛] = 𝒙[𝑛] ∗ 𝒉[𝑛]
Memberi nilai inisial vektor
𝒘[𝑛] = 0 untuk semua n
Menghitung nilai ralat e[n]
Menghitung w[n+1] dengan
algoritma NLMS
Selesai
40
w=zeros(M,1);
w_least=zeros(M,1);
mu=0.5;
mu_least=0.025;
d=conv(h,u);
N=length(u);
u=u(:);
d=d(:);
for n=M:N
uvec=u(n:-1:n-M+1);
e(n)=d(n)-w'*uvec;
www(n)=conj(e(n));
w=w+mu/(a+uvec'*uvec)*uvec*conj(e(n));
mse(n)= mean(e(n).^2);
end
secara simulasi, ralat yang dihasilkan atau nilai vektor 𝒆[𝑛] akan menuju titik
konvergensi seperti yang ditunjukkan gambar berikut.
Gambar 3. 11. Tanggapan impuls 𝒆(𝑛) dengan dengan iterasi sepanjang
sampel 𝒙(𝑛)
0 100 200 300 400 500 600 700 800 900 1000-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8x(n)*h(n)-w`(n)*u(n)
jumlah iterasi
41
3.5 Pembentukan Tapis Penyama Berstruktur Tapis FIR Fase Linear dengan
Penjendelaan
Sesuai dengan penjelasan pendekatan tapis FIR fase linear pada Subbab 2.4,
terdapat beberapa jendela yang dapat dipilih untuk membentuk tapis penyama sebagai
tapis digital FIR fase linear, yakni jendela kotak, Bartlett, Hann, Hamming, dan
Blackman. Setiap jendela akan menghasilkan tapis digital FIR dengan karakteristik
masing-masing. Beberapa karakteristik tapis digital yang penting khususnya dalam
perancangan tapis penyama adalah riak pita lolos (passband ripple) lebar pita transisi
(transition band) dan pelemahan pita henti (stopband attenuation). Berikut adalah
gambar yang menunjukkan karakteristik tapis lolos rendah hasil perancangan dan
perbandingannya dengan tapis lolos rendah ideal.
Gambar 3.12. Perbandingan karakteristik tapis lolos rendah hasil perancangan dengan tapis
lolos rendah ideal.
Pada Gambar 3.12 terlihat tapis lolos rendah ideal memiliki nilai magnitudo riak
pita lolos sebesar nol, lebar pita transisi sebesar nol, dan pelemahan pita henti sebesar
nol pula. Hal tersebut tak dapat dicapai oleh tapis lolos rendah hasil perancangan dari
42
berbagai cara, termasuk penjendelaan. Pada perancangan tapis penyama, jendela yang
baik akan menghasilkan tapis digital FIR fase linear dengan karakteristik tapis
mendekati tapis ideal.
Contoh pembentukan jendela Hann dengan sample sebanyak 51 dalam
perangkat lunak Python sebagai berikut.
>>> window = np.hanning(51)
>>> plt.plot(window)
[<matplotlib.lines.Line2D object at 0x...>]
>>> plt.title("Hann window")
<matplotlib.text.Text object at 0x...>
>>> plt.ylabel("Amplitude")
<matplotlib.text.Text object at 0x...>
>>> plt.xlabel("Sample")
<matplotlib.text.Text object at 0x...>
>>> plt.show()
Gambar 3.13. Jendela Hann dalam sample menggunakan perangkat lunak Python
43
Kerja program pembentukan tapis penyama berstruktur tapis FIR fase linear
menggunakan metode penjendelaan adalah dengan mengalikan tanggapan impuls
penyama yang diperoleh dari algoritma galat kuadrat terkecil dengan nilai koefisien
jendela. Hasil dari perkalian tersebut adalah tapis penyama digital yang telah
berstruktur tapis FIR fase linear.
Kerja program pembentukan tapis penyama berstruktur tapis FIR fase linear
tersebut dapat dinyatakan pada diagram alir berikut.
Gambar 3.14. Diagram alir program pembentukan tapis penyama berstruktur tapis FIR fase
linear menggunakan metode penjendelaan.
Pada tugas akhir ini, dipilih jendela Hann dengan panjang 22050 atau setengah
dari frekuensi cuplik audio dikarenakan paling mendekati kriteria tapis ideal.
.
Mulai
Mengalikan tanggapan impuls penyama dengan
nilai koefisien jendela
Selesai