声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2754|回复: 6

[FFT] 关于ZOOMfft的问题

[复制链接]
发表于 2006-11-22 09:01 | 显示全部楼层 |阅读模式

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

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

x
如果对一个一3000HZ采样的1024个点的波形用从论坛上下载的zoomfft程序,怎么计算了?希望那位牛人指点一下,最好能给个例子说明一下!

[ 本帖最后由 zhangnan3509 于 2007-7-4 15:04 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-11-22 09:03 | 显示全部楼层
附件是从网上下载的zoomfft的matlab程序

  1. %ZoomFFT谱
  2. %x-信号序列
  3. %fs-采样频率
  4. %N-做谱点数
  5. %fe-分析中心频率
  6. %D-细化倍数
  7. %L-平均段数
  8. %M-滤波器半阶数
  9. %f-返回频率向量
  10. %xz-返回幅值谱

  11. function [f xz]=ZoomFFT(x,fs,N,fe,D,L,M)

  12. k=1:M;                          
  13. w=0.5+0.5*cos(pi*k/M);          %Hanning窗

  14. fl=max(fe-fs/(4*D),-fs/2.2);
  15. fh=min(fe+fs/(4*D),fs/2.2);

  16. yf=D*fl;                       %移频量
  17. df=fs/D/N;
  18. f=fl:df:fl+(N/2-1)*df;
  19. xz=zeros(1,N/2);
  20. wl=2*pi*fl/fs;
  21. wh=2*pi*fh/fs;
  22. hr(1)=(wl-wh)/pi;
  23. hr(2:M+1)=(sin(wl*k)-sin(wh*k))./(pi*k).*w;
  24. hi(1)=0;
  25. hi(2:M+1)=(cos(wl*k)-cos(wh*k))./(pi*k).*w;

  26. k=0:N-1;
  27. w=0.5-0.5*cos(2*pi*k/N);

  28. for i=1:L
  29.     for k=1:N
  30.         kk=(k-1)*D+M+(i-1)*N;
  31.         xrz(k)=x(kk+1)*hr(1)+sum(hr(2:M+1).*(x(kk+2:kk+M+1)+x(kk:-1:kk-M+1)));
  32.         xiz(k)=x(kk+1)*hi(1)+sum(hi(2:M+1).*(x(kk+2:kk+M+1)-x(kk:-1:kk-M+1)));
  33.     end
  34.     xzt=(xrz+j*xiz).*exp(-j*2*pi*(0:N-1)*yf/fs);
  35.     xzt=xzt.*w;
  36.     xzt=xzt-sum(xzt)/N;
  37.     xzt=fft(xzt);
  38.     xz=xz+(abs(xzt(1:N/2))/N*2).^2;
  39. end
  40. xz=(xz/L).^0.5;
复制代码
发表于 2006-11-22 09:19 | 显示全部楼层
原帖由 hustyoung 于 2006-11-22 09:01 发表
如果对一个一3000HZ采样的1024个点的波形用从论坛上下载的zoomfft程序,怎么计算了?希望那位牛人指点一下,最好能给个例子说明一下!


ZFFT是针对长样数据做的.

fs=10240;
N=1024;
D=40;
M=300;

t=(0:N*D+2*M)/fs;
x=cos(2*pi*2005*t)+cos(2*pi*2006*t);
xf=fft(x,N);
xf=abs(xf(1:N/2))/N*2;
subplot(211);
plot((0:N/2-1)*fs/N,xf);

fe=2005;
L=1;  %不做平均
[f xz]=ZoomFFT(x,fs,N,fe,D,L,M);
subplot(212);
plot(f,xz);
 楼主| 发表于 2006-11-22 15:14 | 显示全部楼层
可是我的数据长度只有1024个点啥,而且实际的数据采集中一般也是1024个点的,不可能有10240个点出来的。
如果ZOOMFFT只能针对长数据的话,那不是没有太大的用处???
发表于 2006-11-22 19:58 | 显示全部楼层
没办法,ZFFT就得长数据,对于密集频谱来说只能这样.
 楼主| 发表于 2006-11-23 10:05 | 显示全部楼层
如果是这样的话,那和fft有什么区别?如果我有10240个点的话,我的fft的分辨率也就满足要求了啊!!
发表于 2006-11-23 21:51 | 显示全部楼层
这样说没错,只有计算量的差别
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-4 00:45 , Processed in 0.064971 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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