声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1810|回复: 3

[FFT] 我有一个光谱,从200nm~1100nm。用apfft求FP腔的初始相位。

[复制链接]
发表于 2021-5-13 18:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用apfft求得的相位如图所示:
(.mat文件不好上传,所以想请问是什么原因造成相位谱不正确的)
C:\Users\dell\Desktop\1.png

1.png

程序.txt

791 Bytes, 下载次数: 10

matlab程序

回复
分享到:

使用道具 举报

发表于 2021-7-20 11:22 | 显示全部楼层
本帖最后由 迷你猫 于 2021-7-20 12:00 编辑

没上传mat,不知道你说的不正确是啥意思,看代码猜测你可能没对相位做过滤,结果没得到想要的效果。

对时域信号计算得到的频域本身肯定包含计算误差,假定一个离散时域信号x只有一个频率成分1Hz, 初相位为0,采样率fs = 8, 采样点数N = 8,那么这个时域信号如下x = [1        0.707106781186548        6.12323399573677e-17        -0.707106781186548        -1        -0.707106781186548        -1.83697019872103e-16         0.707106781186547]
对应的频域
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。这种方法的局限非常大,看使用的场合进行处理。

相位谱≈不靠谱,上面的计算误差就限制了实际应用,所以现场大多喜欢用测量到的相位而不是计算出来的相位。


发表于 2021-8-16 11:08 | 显示全部楼层
apfft?你还在天津大学开创的欺诈道路上一路狂奔啊?

点评

老哥 apfft是个什么东西啊? 欺诈道路是啥梗,说说。  详情 回复 发表于 2021-8-17 22:16
发表于 2021-8-17 22:16 | 显示全部楼层
dsp2008 发表于 2021-8-16 11:08
apfft?你还在天津大学开创的欺诈道路上一路狂奔啊?

老哥 apfft是个什么东西啊? 欺诈道路是啥梗,说说。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 20:02 , Processed in 0.124923 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表