我有一个光谱,从200nm~1100nm。用apfft求FP腔的初始相位。
用apfft求得的相位如图所示:(.mat文件不好上传,所以想请问是什么原因造成相位谱不正确的)
C:\Users\dell\Desktop\1.png
本帖最后由 迷你猫 于 2021-7-20 12:00 编辑
没上传mat,不知道你说的不正确是啥意思,看代码猜测你可能没对相位做过滤,结果没得到想要的效果。
对时域信号计算得到的频域本身肯定包含计算误差,假定一个离散时域信号x只有一个频率成分1Hz, 初相位为0,采样率fs = 8, 采样点数N = 8,那么这个时域信号如下x =
对应的频域
X = [-3.44509284839767e-16 + 0.00000000000000i 4.00000000000000 - 5.58947851566226e-16i 1.22464679914735e-16 + 0.00000000000000i -4.44089209850063e-16 - 6.90891319072844e-17i 9.95799250102960e-17 + 0.00000000000000i -4.44089209850063e-16 + 6.90891319072844e-17i 1.22464679914735e-16 + -0.00000000000000i 4.00000000000000 + 5.58947851566226e-16i]
频域第4个点的代表频率3Hz的成分,幅值应该是0,初相位也应该是0,因此频域值实际上应该是 0 + 0i,但是你看上面实际计算的结果是:-4.44089209850063e-16 - 6.90891319072844e-17i,实部和虚部的值都很小,10的-16次方这个级别的,因此求模的结果也接近0,但是计算相位的时候不一样了,实部和虚部的比值并不接近0,反而可能会很大,因为无穷小除以无穷小不一定等于无穷小。
较为简单的解决方法是在计算相位的时候加个条件,若对应的幅值小于某个阈值,则直接视相位为0。这种方法的局限非常大,看使用的场合进行处理。
相位谱≈不靠谱,上面的计算误差就限制了实际应用,所以现场大多喜欢用测量到的相位而不是计算出来的相位。
apfft?你还在天津大学开创的欺诈道路上一路狂奔啊? dsp2008 发表于 2021-8-16 11:08
apfft?你还在天津大学开创的欺诈道路上一路狂奔啊?
老哥 apfft是个什么东西啊? 欺诈道路是啥梗,说说。
页:
[1]