声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: 翔雨

[FFT] 怎样从全相位FFT中恢复原来数据?

[复制链接]
发表于 2012-7-1 18:54 | 显示全部楼层
输出结果
fo =

   50.0990


ao =

    0.5000


pho =

  127.0243
回复 支持 反对
分享到:

使用道具 举报

发表于 2012-7-1 19:15 | 显示全部楼层
再来个9点的
clear all;clc  
Fs=5000;
N=1024;
freq = 50.1;
amp1 = 0.5;
ph1  = 127.0;
t = (0:N);
y = amp1*sin(2*pi*freq*t/Fs + ph1*pi/180.0);
xfft=fft(y,N);
y=abs(xfft);
[Y1, k]=max(y(2:N/2));
z1=xfft(k)/576-(xfft(k-1)+xfft(k+1))/720+(xfft(k-2)+xfft(k+2))/1440-(xfft(k-3)+xfft(k+3))/5040+(xfft(k-4)+xfft(k+4))/40320;
k=k+1;
z2=xfft(k)/576-(xfft(k-1)+xfft(k+1))/720+(xfft(k-2)+xfft(k+2))/1440-(xfft(k-3)+xfft(k+3))/5040+(xfft(k-4)+xfft(k+4))/40320;
k=k-1;
ka=abs(z1)/abs(z2);
r=(5-4*ka)/(1+ka);
fo=(k-1+r)*Fs/N
ao=2*pi*r*(1-r*r)*(4-r*r)*(9-r*r)*(16-r*r)*(abs(z1))/(N*sin(r*pi))
pho=mod((angle(z1)-pi*r)*180/pi+90, 360)

结果:
fo =

   50.1000


ao =

    0.5000


pho =

  127.0000
发表于 2012-7-1 19:18 | 显示全部楼层
50.099999991413036
0.499999999774201
1.270000003234529e+02
看到精度没?
发表于 2012-7-1 20:25 | 显示全部楼层
最近开始研究ZOOM-FFT,如何在不增加计算点数提高频谱分辨率,实现如1HZ或者更高分辨率的选频测量

点评

建议善用编辑功能!  发表于 2012-7-2 01:21
发表于 2012-7-1 21:48 | 显示全部楼层
clear all;clc  
Fs=1000;
N=10000;
freq = 50.1;
amp1 = 0.5;
ph1  = 127.0;
t = (0:N);
y = amp1*sin(2*pi*freq*t/Fs + ph1*pi/180.0);
xfft=fft(y,N);
y=abs(xfft);
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka);
fo=(k-1+r)*Fs/N
ao=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho=(angle(z1)-pi*r)*180/pi+90

结果:
fo =   50.1000

ao =    0.5000

pho =  127.0000
--------------------------
知道以上说明什么问题吗?
发表于 2012-7-1 22:03 | 显示全部楼层
Fs=1000;
N=10000;
哎,我无语了!看来你真的没有实战经验!
发表于 2012-7-1 22:05 | 显示全部楼层
如果freq = 123.45678呢?哎
发表于 2012-7-1 22:10 | 显示全部楼层
回复 36 # dsp2008 的帖子

这个实现得必须配合锁相倍频电路来实现了
发表于 2012-7-1 22:11 | 显示全部楼层
这样还校正个P,现实应用是不可能的
发表于 2012-7-1 22:14 | 显示全部楼层
况且你这样10S才能出一个数,这表你能卖的出去吗?

点评

建议善用编辑功能!  发表于 2012-7-2 01:20
发表于 2012-7-1 22:33 | 显示全部楼层
回复 41 # a.gain 的帖子

你们一般要求多长时间,0.2s够不够?
 楼主| 发表于 2012-7-2 10:29 | 显示全部楼层
回复 36 # dsp2008 的帖子

为什么要k=k+1?用max求的不就是最大值了嘛?你们有没密集型频谱校正的好方法?
发表于 2012-7-2 11:17 | 显示全部楼层
仔细看求最大浦线的那行,把直流踢了,密集的只要频普分辩虑高点就行,频间隔有3根以上即可校正的很准确,这也是我研究zoom fft的原因
发表于 2012-7-2 11:26 | 显示全部楼层
你可以研究现在数字示波器的模式,我们基本类似它,前端adc不变,改变数据抽取率
发表于 2012-7-2 12:56 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-19 11:26 , Processed in 0.186481 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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