Misalkan kita dikasih rumus matematika:
y=(x-3)^2+10;
Lalu di tanyakan:
Berapakah nilai x agar menghasilkan nilai keluaran minimum? dengan range antara 0 s/d 20..
Tentu kita akan coba2 dan memasukkan semua angka range tersebut....dan didapat hasil yg minimum saat x=3.
Nah disinilah kita perlunya Genetika u optimasi.....
caanya sbb:
1.buat fungsi dan simpan ke suatu folder, misal sebagai berikut:
function [ y] = myRumus( x)
y=(x-3)^2+10;
end
2.pada CLI Matlab ketik : optimtool, lalu konfigurasi fform sbb:
atau bisa juga mengetikkan: optimtool(‘ga’)
Terahir klik start dan amati hasilnya:
Persamaan di atas akan menghasilkan nilai minimum saat x bernilai : 3
dengn hasil y/Objective function value: 10.000000000441915;
dari grafik bisa dipahami bahwa pada iterasi ke 3, hasil sudah rendah dan saat loop berikutnyapun hasilnya tidak berubah......sehingga iterasi 3 melakukan penguncian atau Elitisme nilai terendahnya.
Oh mudah yaaaaaaaaaaaaaaaaaaaa....
Kamis, 26 April 2018
Rabu, 04 April 2018
Pemrosesan SInyal Audio
Konversi Audio ke FFT
path='datalatihh/alif.wav';
[x,fs] = audioread(path);
no=78010;%batasan pixel
nn=size(x,1);
if no< nn
nn=no;
else
nn=no;
end
FFT = fft(x,nn);
outFFT=reshape(FFT,[1,size(FFT,1)*size(FFT,2)]);
plot(x);
Andai kita ambil secuplik / sampling audio ybs datanya adalah sbb:(antara pixel ke 30000 s/d 300010)=10 pixeel audio
samplingAudio=x(30000:30010,:)
samplingAudio =
0.0587 -0.0587
0.0601 -0.0601
0.0797 -0.0797
0.1053 -0.1053
0.1205 -0.1205
0.1296 -0.1296
0.1529 -0.1529
0.2001 -0.2001
0.2499 -0.2499
0.2728 -0.2728
0.2801 -0.2801
>> plot(samplingAudio)
Lalu proses FFT nya adalah sbb:
FFT=fft(sampling)
FFT =
1.7097 + 0.0000i -1.7097 + 0.0000i
-0.0403 + 0.5043i 0.0403 - 0.5043i
-0.1796 + 0.2140i 0.1796 - 0.2140i
-0.0956 + 0.0925i 0.0956 - 0.0925i
-0.1056 + 0.0545i 0.1056 - 0.0545i
-0.1107 + 0.0176i 0.1107 - 0.0176i
-0.1107 - 0.0176i 0.1107 + 0.0176i
-0.1056 - 0.0545i 0.1056 + 0.0545i
-0.0956 - 0.0925i 0.0956 + 0.0925i
-0.1796 - 0.2140i 0.1796 + 0.2140i
-0.0403 - 0.5043i 0.0403 + 0.5043i
plot(FFT)
sedang untuk FFT nilai Single hasilnya sbb:
FFT =
1.7097 + 0.0000i 1.7097 + 0.0000i
-0.0403 + 0.5043i -0.0403 + 0.5043i
-0.1796 + 0.2140i -0.1796 + 0.2140i
-0.0956 + 0.0925i -0.0956 + 0.0925i
-0.1056 + 0.0545i -0.1056 + 0.0545i
-0.1107 + 0.0176i -0.1107 + 0.0176i
-0.1107 - 0.0176i -0.1107 - 0.0176i
-0.1056 - 0.0545i -0.1056 - 0.0545i
-0.0956 - 0.0925i -0.0956 - 0.0925i
-0.1796 - 0.2140i -0.1796 - 0.2140i
-0.0403 - 0.5043i -0.0403 - 0.5043i
%yaitu hanya melihat satu sisi amplitudo saja
Selanjutnya adalah proses Pembuatan Prediksi data FFT yang akan datang dari gabungan beberapa data FFT sejenis untuk dijadikan rujukan kedekatan dengan sinyal FFT audio uji.
dalam hal ini kita membuat perhitungan statistiknya menggunakan metode Hidden Markov Model
Misalkan data Uji dalah data sbb:
X=rand(3,10); %menggenerate bilangan random sebanyak 3 baris dan 10 kolom
X =
0.8147 0.9134 0.2785 0.9649 0.9572 0.1419 0.7922 0.0357 0.6787 0.3922
0.9058 0.6324 0.5469 0.1576 0.4854 0.4218 0.9595 0.8491 0.7577 0.6555
0.1270 0.0975 0.9575 0.9706 0.8003 0.9157 0.6557 0.9340 0.7431 0.1712
Lalu dicari nilai total dari setiap barisnya
S=sum(X)
S =
1.8475 1.6433 1.7829 2.0931 2.2428 1.4794 2.4074 1.8188 2.1796 1.2189
Lalu bagikan setiapd ata matrix dengan data total di atas:
H=X./S
H =
0.4410 0.5558 0.1562 0.4610 0.4268 0.0959 0.3291 0.0196 0.3114 0.3218
0.4903 0.3848 0.3067 0.0753 0.2164 0.2851 0.3986 0.4669 0.3476 0.5378
0.0687 0.0594 0.5371 0.4637 0.3568 0.6190 0.2724 0.5135 0.3409 0.1404
ATau bisa juga menggunakan rumus sbb:
H2=bsxfun(@rdivide, double(X), double(S))
H2 =
0.4410 0.5558 0.1562 0.4610 0.4268 0.0959 0.3291 0.0196 0.3114 0.3218
0.4903 0.3848 0.3067 0.0753 0.2164 0.2851 0.3986 0.4669 0.3476 0.5378
0.0687 0.0594 0.5371 0.4637 0.3568 0.6190 0.2724 0.5135 0.3409 0.1404
Selanjutnya barulah ke tahap perhitungan jarak/mencari selisih jarak antara data latih di atas dengan data UJi dengan menggunakan rumus jarak diantaranya ecludean distance
Misalkan sinyalFFT Uji adalah sebagai berikut datanya:
Uji =
0.0687 0.0594 0.5371 0.4637 0.3568 0.6190 0.2724 0.5135 0.3409 0.1404
EccHmm(1)= sqrt(sum((H(1,:)-Uji).^2));
EccHmm(2)= sqrt(sum((H(2,:)-Uji).^2));
EccHmm(3)= sqrt(sum((H(3,:)-Uji).^2));
EccHmm =
1.0438 0.8915 0
EcludeanDIstanceValue =min(EccHmm ) =0
Kesimpulan=Dalam hal ini sinyalUji sangat dekat dengan datalatih ke-3 dari data Uji.
Langganan:
Postingan (Atom)