我有一些动态光散射数据。机器抽出自相关函数和计数率。
我可以简单地适应ACF
ACF = exp(-D*q^2*t)
并获得扩散系数。
我想从功率谱中获得相同的D
。我已经能够以两种方式创建功率谱 - 从ACF的傅立叶变换和计数率。两者都同意,但功率谱看起来不像书中的那个,所以我不知道如何使用它来计算线宽。
附件是PDF中的图像,显示了您应该获得的内容以及从MATLAB中获得的内容。谁能理解最新情况呢?
我在this问题上使用了答案#3的代码。产生的自相关与
完全相同autocorr
命令。感谢您的时间。
答案 0 :(得分:3)
当您从短数据序列计算傅里叶变换时,它通常看起来非常嘈杂。有许多的原因。一个原因是各个傅立叶分量的统计量不是高斯分布,因此对多个数据样本的频谱进行平均只会慢慢提高估计的质量。
经验光谱行为中“噪声”的另一个原因是您正在应用(对有限数据样本)一个涉及病态sinc function并且假定无限长信号的变换。为了减少此问题,在计算傅里叶变换之前,将"windowing-function"应用于数据会很有帮助。更复杂但也更强大的窗口方法之一是使用所谓的“Slepian锥形”。
MATLAB可以方便地在hamming
和hann
等函数中实现众所周知的窗口。