2012-01-02 11 views

Odpowiedz

8

Opakowanie tuneR ma noise funkcję, która może generować falę obiektu, która jest białym lub szum różowy:

require(tuneR) 
w <- noise(kind = c("white")) 
p <- noise(kind = c("pink")) 
par(mfrow=c(2,1)) 
plot(w,main="white noise") 
plot(p,main="pink noise") 

Edycja: sobie sprawę, że powyższy sposób nie generuje wektor (DOH). Brutalny sposób, aby przekształcić go w wektorze jest dodanie poniższy kod:

writeWave(p,"p.wav")#writes pink noise on your hard drive 
require(audio)#loads `audio` package to use `load.wave` function 
p.vec <- load.wave("path/to/p.wav")#this will load pink noise as a vector 

enter image description here

+4

Czy nie 'p @ left' wystarczy, aby wektor? (Nie mogę sprawdzić z powodu awarii CRAN.) – mbq

+0

Tak @mbq 'p @ left' działa dobrze! Świetna wskazówka. –

+0

Po prostu nie interesuje, w jaki sposób można napisać uogólnioną funkcję "szumu koloru", tj. Tłumić arbitralne regiony szerokości pasma? To może być udany noworoczny projekt dla jakiegoś R-nerda :-) –