Anda di halaman 1dari 10

MODUL 5

FILTER SUARA

I. TUJUAN
1. Memahami prinsip kegunaan filter adaptif
2. Memahami cara kerja filter dalam menghilangkan noise
3. Mengetahui cara mencampurkan sinyal
4. Mengetahui cara membersihkan sinyal yang bercampur derau

II. DASAR TEORI


Ucapan manusia dihasilkan oleh suatu sitem produksi ucapan yang dibentuk
oleh alat ucap manusia. Jenis ucapan manusia terbagi menjadi 2 bagian yaitu :
5. Voice
6. Unvoiced
Pada suatu sinyal termasuk sinyal ucapan, ada noise yang tidak bisa dihindari,
noise tersebut merusak sinyal ucapan. Ketika suatu sinyal ucapan bercampur
dengan noise/ berderau, maka performansi sistem akan menurun secara
signifikan. Derau dapat bersal dari lingkungan akustik tempat dimana sistem
beroperasi. Derau lingkungan yang paling sering dijumpai diantaranya :
1. Convolutional noise
2. Background noise
Derau pada sinyal suara dapt diatasi dengan speech enhancement. Salah satu
metode speech enhancement yang digunakan adalah filter.
Filter merupakan suatu sistem yang mempunyai fungsi transfer tertentu untuk
meloloskan sinyal masukan pada frekuensi - frekuensi tertentu dan menyaring /
memblokir / melemahkan sinyal masukan pada frekuensi- frekuensi yang lain.
Filter dapat diklasifikasikan menjadi Filter analog dan filter digital
1. Filter analog : sinyal masukan berupa sinyal analog, pada filter analog
dapat dibagi menjadi dua yaitu :
a. Filter pasif : filter yang hanya disusun komponen tahanan, induktor dan
kapasitor.
b. Filter aktif : filter yang disusun komponen op amp atau transistor
ditambah tahanan, induktor, dan kapasitor.
2. Filter digital : sinyal masukan berupa sinyal diskrit, dibedakan menjadi
yaitu :
Berdasarkan adaptasinya :
1. Fixed Filter

TIM ASISTEN LABORATORIUM 1


2. Adaptive Filter
Dua jenis algoritma adaptif: Least mean Square (LMS) dan Recursive least
Square (RLS). LMS algoritma didasarkan pada pencarian gradien tipe
untuk melacak karakteristik sinyal waktu bervariasi. Algoritma RLS
menyediakan konvergensi yang lebih cepat dan pelacakan yang lebih baik
dari statistik sinyal varian waktu-dari LMS algoritma, tetapi komputasi yang
lebih kompleks.

Berdasarkan respon impuls, filter digital terbagi menjadi :


 FIR (Finite Impulse Response)
 IIR (Infinite Impulse Response )
Berdasarkan strukturnya filter digital terbagi menjadi :
 Filter Transversal
 Filter Cascade
 Filter Latic
Algoritma Adaptif Filter
Merubah nilai – nilai koefisien berdasarkan input.
Dua jenis algoritma adaptif: Least mean Square (LMS) dan Recursive least
Square (RLS). LMS algoritma didasarkan pada pencarian gradien tipe untuk
melacak karakteristik sinyal waktu bervariasi. Algoritma RLS menyediakan
konvergensi yang lebih cepat dan pelacakan yang lebih baik dari statistik
sinyal varian waktu-dari LMS algoritma, tetapi komputasi yang lebih
kompleks.

Algoritma adaptasi terbagi menjadi beberapa bagian yaitu :

a. Algoritma Leaky ( LMS, NLMS, LLMS )

b. Algoritma RLS

c. Algoritma GAL

d. Algoritma Callman

TIM ASISTEN LABORATORIUM 2


III. ALAT DAN BAHAN

7. Software Matlab R2013a


8. Software Wave surfer
9. 2 Buah Sample Suara
- Suara bersih
- Suara Noise

IV. PROSEDUR PERCOBAAN


a. Membuat Rekaman Suara Asli
1. Lakukan standarisasi microphone dengan menggunakan Realtek HD
Audio Manager (CD quality)
2. Rekamlah gabungan suara voice dan unvoiced menggunakan software
Wavesurfer dengan durasi 2 – 2,5 detik, frekuensi 8 kHz dan menggunakan
encoding 8 bit.
3. Lakukan PCM dengan software tersebut sesuai variasi jurnal.
4. Hitung daya sinyal dengan menggunakan kode program berikut
[x,fs,nbits] = wavread('nama file suara');
daya = mean(x^2,1);
5. Lampirkan Bentuk Sinyal pada jurnal (print screen)
6. Lakukan perhitungan kapasitas secara manual dengan rumus:
bitrate = sample rate*sample encoding
kapasitas = bitrate*durasi
7. Untuk variasi jumlah bit/ sample encoding rekam kembali suara bersih yang
merupakan gabungan dari voice dan unvoiced dengan sample rate 8 kHz, sample
encoding 8 bit dan lakukan kembali prosedur 3 – 6.

b. Menggabungkan sinyal asli dengan noise


8. Siapkan file sinyal asli dan file sinyal noise
9. Buka aplikasi matlab
10. Ketikkan script dibawah ini :
snrdb=10;
snr=10^(snrdb/10);
[suara,fs,nbits]=wavread('suara_bersih_023.wav');
maxsuara=max([abs(max(suara)) abs(min(suara))] );
suaranorm=(1/maxsuara).*suara;
maxsuaranorm=max([abs(max(suaranorm)) abs(min(suaranorm))] );
px=0.5*mean(suaranorm.^2,1);

TIM ASISTEN LABORATORIUM 3


[filen,fs,nbits]=wavread('noise_mobil.wav')
noise=filen(1:size(suara,1),1);
maxNoise = max([abs(max(noise)) abs(min(noise))] );;
noisenorm = (1/maxNoise).*noise;
maxNoisenorm = max([abs(max(noisenorm)) abs(min(noisenorm))] );
pn1=0.5*mean(noisenorm.^2,1);
x=sqrt(px/(pn1*snr)); noiseData = x.*noisenorm;
suarapnoise=suaranorm+noiseData;
maxsuarapnoise =
max([abs(max(suarapnoise))abs(min(suarapnoise))] );
pn2=0.5*mean(noiseData.^2,1); snr2=(px/pn2);
snrdb2=10*log10(px/pn2);
%suarapnoise=awgn(suara,snr,'measured');
suarapnoisen=normalisasi_sinyal(suarapnoise,0.99);
maxsuarapnoisen =
max([abs(max(suarapnoisen))abs(min(suarapnoisen))]);
wavwrite(suarapnoisen,fs,nbits,'suara_23_mobil_10dB');
daya_suara_bersih = px;
daya_suara_noisy = 0.5*mean(suarapnoise.^2,1);
daya_noise= 0.5*mean(noiseData.^2,1);
daya_suara_noisy_norm = 0.5*mean(suarapnoisen.^2,1);
subplot (3,1,1) ; plot (suara);
subplot (3,1,2) ; plot (filen);
subplot (3,1,3) ; plot (suarapnoisen);

11. Variasikan nilai SNR sesuai dengan jurnal

TIM ASISTEN LABORATORIUM 50


c. Proses Filter
 LMS
12. Buka aplikasi matlab
13. Ambil sinyal bersih 0 dB dan 10 dB yang telah tercampur noise untuk
dibersihkan.
14. Bersihkan noise dengan filter LMS
15. Ketikkan script dibawah ini :

% filter LMS
[x,fs,nbits] = wavread('suara_bersih_10dB');
[d,fs,nbits] = wavread ('suara_bersih');
nord1 =100;
mu = 0.001;
a0 = 0;
% d = wavread(sourceSLCFile);
X=convmtx(x,nord1);
[M,N] = size(X);
% a0 = a0(:).';
y(1) = a0*X(1).';
E(1) = d(1) - y(1);
A(1,:) = a0 + mu*E(1)*conj(X(1,:));
if M>1
for k=2:M-nord1+1;
y(k) = A(k-1,:)*X(k,:).';
E(k) = d(k) - y(k);
A(k,:) = A(k-1,:) + mu*E(k)*conj(X(k,:));
end;
end;
S_bn = d(1:size(x))-x;
nr= size (S_bn);
sum_S =0.0;
for i=1:nr
sum_S= abs (S_bn(i))+ sum_S;
end
S_bf = d(1:size(y))-y.';
nf= size (S_bf);
sum_F = 0.0;
for i=1:nf
sum_F= abs (S_bf(i))+ sum_F;
end

TIM ASISTEN LABORATORIUM 51


Pd = mean (d.^2); %d = daya sinyal bersih
Px = mean (x.^2); % rusak
Py = mean (y.^2); % hasil filter
subplot (3,1,1), plot(d)
subplot (3,1,2), plot(x)
subplot (3,1,3), plot(y)
wavwrite(y,'suara_bersih_awgn0db-LMS_orde100_mu0-001');
% end

16. Variasikan nilai orde dan µ sesuai jurnal

17. Amatilah bentuk sinyal dan hitung daya sinyal setelah sinyal dibersihkan.

 Normalized LMS
5. Buka aplikasi matlab
6. Ambil sinyal bersih 0 dB dan 10 dB yang telah tercampur noise untuk
dibersihkan.
7. Bersihkan noise dengan filter NLMS
4. Ketikkan script dibawah ini :

% filter normalized LMS


[x,fs,nbits] = wavread('suara_23_mobil_10dB');
[z,fs,nbits] = wavread ('suara_bersih_23.wav');
d = z(1:size(x));
nord1 = 20; beta =
0.8;
a0 = 0;
X=convmtx(x,nord1);
[M,N] = size(X);
% a0 = a0(:).'; y(1) =
a0*X(1).'; E(1) = d(1) -
y(1);
DEN=X(1,:)*X(1,:)' + 0.0001;
A(1,:) = a0 + beta/DEN*E(1)*conj(X(1,:));
if M>1
for k=2:M-nord1+1;
y(k) = A(k-1,:)*X(k,:).'; E(k) =
d(k) - y(k);
DEN=X(k,:)*X(k,:)' + 0.0001;
A(k,:) = A(k-1,:) + beta/DEN*E(k)*conj(X(k,:));
end;
end;
daya_noisyfilter = 0.5*mean(x.^2,1);
TIM ASISTEN LABORATORIUM 52
daya_hslfilter = 0.5*mean(y.^2,2);
subplot (3,1,1), plot(d)
subplot (3,1,2), plot(x)
subplot (3,1,3), plot(y)
wavwrite(y,'Hasil_filter_NormalizedLMS_10dB');

5. Variasikan nilai orde dan β sesuai jurnal

6. Amatilah bentuk sinyal dan hitung daya sinyal setelah sinyal dibersihkan.

TIM ASISTEN LABORATORIUM 53


V. JURNAL
Merekam Suara Asli
Variasi Sample Rate (Frekuensi Sampling)
Hasil
Sample Sample Bentuk Kapasitas
Durasi Sinyal Daya Perhitungan
Rate Encoding Penyimpanan
Kapasitas
8000 2 0.1249 16.1 kb 16 kb
Line 8 2 0.3467 32.3 kb 32 kb
16000
offset
44100 2 0.3468 89 kb 88.2 kb
Tabel 5.1 Tabel Variasi Sample Rate

Variasi Bit
Hasil
Sample Sample Bentuk Kapasitas
Durasi Sinyal Daya Perhitungan
Rate Encoding Penyimpanan
Kapasitas
2 0.7521 16.1 kb 16 kb
Line 8
2 0.1249 32.3 kb 32 kb
Line 16
8000
2 0.1249 64.5 kb 64 kb
Line 32
Tabel 5.2 Tabel Variasi Sample Encoding

Menggabungkan sinyal asli dengan noise


No SNR Gambar Sinyal Daya Kapasitas
0.0842 32.3 kb

1 -10

0.0702 32.3 kb

2 0

TIM ASISTEN LABORATORIUM 54


0.0886 32.3

3 10

Tabel 5.3 Tabel Menggabungkan sinyal asli dengan noise

10. Proses Filter


a. Algoritma LMS

Orde 25 75 100
SNR (dB)
Gambar Gambar Gambar
Daya Daya Daya
µ Sinyal Sinyal Sinyal

0 0.0962 0.1065 0.1076


0,01

10 7.7164 22.8937 30.5017

0 0.1099 0.1195 0.1210


0,05

10 1.6478 4.7302 6.4359

0 NaN NaN NaN


1,5

10 NaN NaN NaN

Tabel 5.4 Tabel bentuk sinyal hasil filter dengan LMS

TIM ASISTEN LABORATORIUM 55


b. Normalized LMS

Orde 25 50 75
SNR (dB)
Gambar Gambar Gambar
Daya Daya Daya
β Sinyal Sinyal Sinyal

0 0.1139 0.1128 0.1115


0,2

10 0.1517 0.2904 0.5979

0 0.1177 0.1179 0.1170


0,4

10 0.1382 0.2223 0.4006

0 0.1235 0.1229 0.1218


0,8

10 0.1350 0.1968 0.3230

Tabel 5.5 Tabel bentuk sinyal hasil filter dengan LMS

Padang,24 November 2021

Asisten Pengawas

(Rama Nuzilo Deyanda)

TIM ASISTEN LABORATORIUM 56

Anda mungkin juga menyukai