Generate White Gaussian Noise
Hari ini saia mendapat sms dari seorang teman, yang membutuhkan sebuah generator white gaussian noise, dengan mengandalkan sebuah fungsi random yang menghasilkan sebuah variabel bebas. Variabel bebas tersebut mempunyai distribusi sama (seperti peluang munculnya sebuah nilai tertentu pada pelemparan dadu) atau sering disebut distribusi uniform. Padahal yang dibutuhkan adalah variabel dengan distribusi gaussian atau distribusi normal. Wah, bagimana caranya ya?
Akhirnya, setelah surfing kesana kemari,
ketemu juga deh.
Salah satu cara membangkitkan variabel dengan Distribusi Gaussian dari adalah menggunakan Limit Central Theorem. Inti dari Limit Central Theorem ini adalah jumlahan dari N variabel bebas, distribusinya dapat mendekati distribusi Gaussian, bila N mendekati tidak berhingga. Algoritmanya adalah :
X = 0;for i = 1 to NU = Random ; // jangkauan [0,1]X = X + U;end;
Yup, simple saja seperti itu.
Namun, variabel bebas antara [0,1], mempunyai nilai mean = 1/2 dan varians = 1/12, sehingga distribusi Gaussnya juga akan terpengaruh oleh rataan dan varians tersebut. Agar rataannya menjadi 0 dan varians-nya menjadi 1, maka variabel X tersebut harus digeser. Algoritma penggeserannya cukup sederhana :
X = X - N/2X = X - sqrt (12/N)
Bila diinginkan rataannya adalah mean dan varians-nya adalah variance, maka ditambahkan baris:
X' = mean + sqrt (variance) * X
Agar diperoleh hasil yang baik, disarankan untuk memilih nilai N ≥ 20. Semoga bermanfaat, dan selamat mencoba.. :-D

dicek pake KDE, negentropy, dan nongausianity-nya
@putri : wuuzzz.. saia mah ngikut aja neng..
klo bikin pink noise gimana? :P
@mas nanang : hmm,, bentar saia cari dahulu..
saya suka warna ijo dan abu2
bikinin green noise dan grey noise donk
hi ho,
kebetulan nina lg mempelajari random signal dan juga speech processing. ni ad project kecil, dmn nina butuh generate random signal juga. ni program kecil dan simple yg nina bkin mngu lalu buat generate white noise in wave file. kalo ad salah mohon maaf. hi2, bikinya cuma 10min (cepat2).
function white_noise_generation(input, v, m, a, output)
%white_noise_generation(‘input.wav’, v, m, a, ‘output.wav’)
%input is the file that will be mixed with noise in addnoise.m
%m=0; v=1; a=amplitude in %;
%By R.Winduratna
[y,Fs,bits] = wavread(input);
N=size(y)+16;
bruit=a/100*(m+v*randn(1, N));
wavwrite(bruit, Fs, bits, output);
@nina:
sama kan cuma bedanya isyaratnya disimpan dalam bentuk wav
bikin apa na? Jadi inget TA-ku ada speech, load wav file, random signal