声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1666|回复: 0

[FFT] fft精确测频

[复制链接]
发表于 2010-5-8 16:19 | 显示全部楼层 |阅读模式

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

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

x
我想通过频率细化试图精确测出信号的频率,可结果出来的误差比之前没用的还差,以下是代码,请各位高手指教
f0=47;
N=1024;
fs=10240;%采样频率
fx0=fs/N;
n=[0:1:1023];%采样点数
xb=[11,2,1,0.5,0.3,0.1,0.05];% 电压基波和各次谐波幅值
Q=[0.9,0.8,0.7,0.6,0.5,0.3,0.2];%电压基波和各次谐%波初相角,弧度数
t=n/fs;
s=sin(2*pi*f0*t);
XN=fft(s,N);
AXN=abs(XN);
stem(AXN);
f=([1:N]-1)*fs/N;
max=AXN(1);
for i=1:1023
    if AXN(i+1)>max
       max=AXN(i+1);
       k=i;
    end
end
f2=k*fx0;
f2
h=exp(-j*2*pi*(f2-fx0)*t);
y=s.*h;
%fx1=fs/N
y1=resample(y,1,10);%重新采样,采样频率为fs/N
k1=0:1:102;
h1=exp((j*2*pi*(f2-fx0)*k1)/102);
y1=y1.*h1;%反移频,使得前后频率一致
y1=abs(fft(y1));%快速傅里叶变换
stem(y1);
plot(k1,y1*2/102);     % 被修改

max1=y1(1);
for i=1:102
    if y1(i+1)>max1
       max1=y1(i+1);
       j=i;
    end
end
f3=j;
f3
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 18:22 , Processed in 0.084906 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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