怎样从全相位FFT中恢复原来数据?
有实测数据2N-1个经过apfft变换得到N个频谱,怎样从这N个频谱点恢复原来的2N-1个数据呢? 各位大虾帮帮忙。。。我是菜鸟! 楼主看到了“全相位”作者的致命漏洞,非常不错。“全相位”这个概念是他们臆想的结果。他们对傅立叶谱分析一知半解,对自己玩的这个概念自以为是,其实就是个垃圾。建议楼主不要在这个问题上浪费时间了。
建议楼主好好学一下本科的《数字信号处理》,特别是谱分析中关于谱泄露的内容。 回复 3 # dsp2008 的帖子
谢谢提点,但是全相位处理方法的理论推导和那么多的学术成果都错的嘛?我找不出他的错误所在,但在实际测量数据处理时,确得不到全相位数据处理的理论结果,你能给我说一下他错在哪不?
这个“全相位”纯粹是糊弄人的。
1、它把一个2N-1点长的序列硬是拆成N截序列来处理,这是有病的表现;
2、它把一个2N-1点长的单频率序列用所谓的“全相位”处理的结果和N点长的DFT处理结果比对,这是他们本科《数字信号处理》没学懂,概念错误的表现;
3、他们在对频谱泄露的理解上完全错误;
4、他们对频率分辨力的概念理解错误。
等等,如此概念糊涂,加之对结果的错误理解,因而产生了一种幻觉,自以为是,自鸣得意。当然,时间这么久了,他们应该已经发觉自己的错误所在。可惜,现在的状况让他们下不了台,只好硬撑下去。何况发点垃圾文章可以名利双得,何乐而不为呢!
楼主不是靠发文章谋生的,因此,建议不要在这个问题上浪费时间了。如果对我的观点有疑问,请花点时间看一看网上的《数字信号处理》精品课件中关于傅立叶谱分析的内容。如果英文水平还凑合,则看一看下面这本入门书:
书名:Understanding Digital Signal Processing
作者:Richard G. Lyons
相关章节:3.8 DFT Leakage
祝你好运! 再次补充说明:
我并没有说“全相位”的公式推导错误,而是说他们给出的结论错误。按照所谓“全相位”对一段数据的如此折腾,宽带信号的频谱肯定被他们折腾畸变了,也就是完全失真了;对单音信号的处理结果也远远不如直接用DFT分析得好。 这个算法有问题吗?实际产品我们用来做频谱校准都非常准确诶包括幅值、相位、频率,幅值误差0.01%,相位0.001DEG,频率0.01%!只要频率间隔大于2根谱线就能准确分辨出信号
请问楼主还有更好的频谱泄漏校准算法吗?希望分享哦,对我们做电力仪表的那是非常大的帮助! 回复 7 # a.gain 的帖子
若问有没有问题,还不如自己好好地去认真地学一下本科的数字信号处理中谱分析这一部分内容。既夯实基础,又明了是非。何乐而不为呢?
明白有用吗?你能自己创造出一个校正算法吗?我需要能解决实际问题,不知道楼上你有做实际产品吗?当然王兆华老师的算法只是一种,其他还有如3点,5点,能量比值校正算法,我都比较过,王兆华老师的算法实际应用完全是没问题的,我就用他做异频介质损耗测量,MOA阻性电流提取等一系列电力产品! 回复 9 # a.gain 的帖子
所谓“全相位”的问题有两点:
1、把2N-1长的数据只用N点DFT处理,数据浪费太离谱;
2、它变相折腾数据的后果是,频谱发生畸变。
明白以上道理后,你就不会用这个变态的“算法”了。
要解决你所谓的实际问题,直接用DFT。 非真正同步采样必然存在频谱泄漏,用DFT必须知道信号所在频点,不然计算量太大,我们用的3,5点校正算法就是用的DFT实时计算,取关心频点的左右各1根或者2根组成3或者5根谱线。APFFT数据利用率是太低,我们在用的相位差APFFT需要3N点,不过对现在高速的DSP或者MCU来数基本不是问题,像我们做的ADC实时连续采样只需开个大点的存储空间循环DMA填充,DSP只要不停地计算即可实时出数,像最新的STM32F4带浮点ARM价格也非常便宜,做个1024点FFTms及的 回复 6 # dsp2008 的帖子
对啊,我将实验数据通过全相位处理后就和原来直接做FFT的谱对不上,校正后也和原数据对不上,想用这方法时有考虑过它把数据截少这问题,但是想到它能抑制泄漏得到较好的频谱通过插值能恢复的,但是实验证明,我失败了 回复 7 # a.gain 的帖子
迭代法可以试一下,我也是在尝试着,不一定好使 回复 12 # a.gain 的帖子
12楼的朋友,你能把相位差APFFT的程序发给我看一下嘛?我校正出来的数据与原来的差别比较大,我也不知道是不是我编错了,我这个是不知道信号原始的频率的,是自寻峰的 如此看来,你们还是没搞清楚谱分析的基本,因而被这个所谓“全相位”给忽悠了。
这个所谓的“全相位”做谱分析时的核心还是DFT!只不过,
1、它把DFT的前后瞎折腾了一番;
2、本来可以用2N-1点数据做DFT,它偏要N点。
结果导致:
1、所谓“全相位”的谱分辨只相当于N点DFT,远低于2N-1点DFT;
2、瞎折腾的结果是谱失真。