File Exchange

image thumbnail

fftnoise - generate noise with a specified power spectrum

version 1.0 (1.65 KB) by

Useful helper function for Monte Carlo null-hypothesis tests and confidence interval estimation.

3 Downloads

Updated

View License

USAGE: noise=fftnoise(f[,Nseries])
 

INPUTS:
  f: the fft of a time series (must be a column vector)
  Nseries: number of noise series to generate. (default=1)
  
OUTPUT:
  noise: surrogate series with same power spectrum as f. (each column is a surrogate).

  ------ Example: ------
  %calculate if the trend is significantly different from zero
  %(Null-hypothesis: a random process with the same power spectrum as data).
 
  x=(1:100)';
  data=smooth(randn(size(x)),15);
  pdata=polyfit(x,data,1)
  f=fft(data);
  psur=nan(length(pdata),10000);
  for ii=1:size(psur,2)
    psur(:,ii)=polyfit(x,fftnoise(f),1)';
  end
  ptile=prctile(psur(1,:)',[2.5 97.5])
  if (pdata(1)>ptile(2))|(pdata(1)<ptile(1))
    disp('significant trend')
  else
    disp('not significant trend')
  end

Comments and Ratings (2)

eric ferguson

simple, effective function

Zachary Danziger

Useful and quick.

MATLAB Release
MATLAB 6.0 (R12)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video