임의로 생성 된 핑크 노이즈가 포함 된 임의의 크기의 2D 이미지를 생성하고 싶습니다. Wikipedia suggests에서 핑크 노이즈의 2D 일반화는 1/f^2로 떨어지는 에너지를 갖습니다. 나는 1D 핑크 노이즈 벡터를 계산하는 some code on the MATLAB File Exchange을 발견했습니다. 그러나 나는 그것을 2 차원으로 적절하게 일반화하는 방법을 모른다 - 나는 fft에 익숙하지 않고, ifft를 계산할 때 아래의 순진한 시도는 복잡한 벡터를 만든다.Matlab에서 핑크 노이즈 이미지 생성
function pink = pinkNoiseImage(nrow,ncol)
rnrow = 2.^(ceil(log2(nrow)));
rncol = 2.^(ceil(log2(ncol)));
r = randn(rnrow,rncol);
rf = fft(r);
rnup = rnrow/2+1;
cnup = rncol/2+1;
frf = kron(1./sqrt(1:cnup),1./sqrt(1:rnup)');
rf(1:rnup,1:cnup) = rf(1:rnup,1:cnup).*frf;
rf(rnup+1:rnrow,1:cnup) = real(frf(rnrow/2:-1:2,1:cnup))-1i*imag(frf(rnrow/2:-1:2,1:cnup));
rf(1:rnup,cnup+1:rncol) = real(frf(1:rnup,rncol/2:-1:2))-1i*imag(frf(1:rnup,rncol/2:-1:2));
rf(rnup+1:rnrow,cnup+1:rncol) = real(frf(rnrow/2:-1:2,rncol/2:-1:2))-1i*imag(frf(rnrow/2:-1:2,rncol/2:-1:2));
pink = ifft(rf);
어떻게 핑크 노이즈가 포함 된 2D 매트릭스를 생성 할 수 있습니까?
FEX 참조 주셔서 감사합니다. 그 파일에 의해 계산 된 브라운 노이즈는 핑크 노이즈보다 나에게 더 유용 할 수 있습니다. – nhowe