1

I have some dynamic light scattering data. The machine pumps out the autocorrelation function, and a count-rate.

I can do a simple fit to the ACF

ACF = exp(-D*q^2*t) 

and obtain the diffusion coefficient.

I want to obtain the same D from the power spectrum. I have been able to create a power spectrum in two ways -- from the Fourier transform of the ACF, and from the count rate. Both agree, but the power spectrum does not look like in the one in the books, so I'm not sure how to use it to work out the line width.

Attached is an image from a PDF that shows what you should get, and what I get from MATLAB. Can anyone make sense of whats going on?

I have used the code of answer #3 on this question. The resulting autocorrelation comes out exactly the same as

  1. the machine gives me and
  2. using MATLAB's autocorr command on the photoncount data.

Thank you for your time.

enter image description here

4

1 回答 1

3

When you compute the Fourier transform from short sequences of data it often looks very noisy. There are a number of reasons for this. One reason is that the statistics of individual Fourier components are not Gaussian, and so averaging the spectra across multiple samples of data will only slowly improve the quality of the estimate.

Another causes of "noisiness" in empirical spectra behavior is that you are applying (to a finite data sample) a transform which involves a pathological sinc function and which assumes an infinite length signal. To diminish this problem, it helps to apply a "windowing-function" to your data before computing the Fourier transform. One of the more complicated but also more powerful windowing approaches is the use of so-called 'Slepian tapers'.

MATLAB conveniently implements well-known windows in functions such as hamming and hann.

于 2012-08-13T14:45:25.707 回答