haci 发表于 2020-7-3 23:20:19

分享一个FFT方法

前面发帖求助,我的需求是:一个信号的基波在25k和30k之间随机变化,测其相位,频率和幅值。
试了一些方法,首先是加窗函数,各种窗都试了,包括自卷积混合窗,幅值精度还行,频率也还凑合,相位简直不能看,准的时候很准,不准的时候不能叫误差,相差太远。
后来用了时移相位差校正法,相位还是不太行。
再用了双窗全相位时移校正法,相位精度还可以了,0.1度吧,
具体理论就不介绍了。
说一下的我对该FFT方法的测试过程:
采样点N=256;
采样频率fs在25k*20~30k*30随机变化
测试信号由7个信号叠加:
幅值:7个0~100的随机数
相位:7个-90度~90度的随机数
7个信号频率分别是下列各自范围内的随机数:25k-30k,35k~40k,   45k~50k,55k~60k,   65k~70k,75k~80k,   85k~90k
运行1000次,取基波每次实际相位和FFT计算相位的误差
1000次中最大误差不超过0.1度。
只有MATLAB文件。

那么问题来了,有人把这个M文件移植成C吗?

eric2013 发表于 2020-7-4 13:37:39

谢谢分享。

1315150719 发表于 2020-7-31 14:24:30

小白表示完全没看懂:dizzy:
页: [1]
查看完整版本: 分享一个FFT方法