声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: yangzj

[FFT] [原创]zoomfft

[复制链接]
发表于 2006-9-22 08:07 | 显示全部楼层
现在正在学习这个程序呢,希望已经看明白的人能给我这个正徘徊在此的人一些提示,或说把你们的经验能多少的告诉我;先谢谢了!
回复 支持 反对
分享到:

使用道具 举报

发表于 2006-9-22 14:07 | 显示全部楼层
程序中的
fl=max(fe-fs/(4*D),-fs/2.2);
fh=min(fe+fs/(4*D),fs/2.2);
是怎么回事?
发表于 2006-9-22 16:16 | 显示全部楼层
关于第2个海宁窗公式w=0.5-0.5*cos(2*pi*k/N)
我知道了是单边的,但是第1个k=1:M
w=0.5+0.5*cos(pi*k/M)
而书上为k=-N/2,。。。N/2;
w=0.5+0.5*cos(2pi*k/N);是不是只要保证k的个数与N的个数相等就可以了
也许我问的问题让大家见笑了,但是实在找不到答案了!
谢谢了!
发表于 2006-9-22 19:08 | 显示全部楼层
我这提示:xrz(k)=x(kk+1)*hr(1)+sum(hr(2:M+1).*(x(kk+2:kk+M+1)+x(kk:-1:kk-M+1)));这一句超过矩阵界限
那你测试的结果对吗?
我也运行了,也出现类似的问题?该怎么解决?
发表于 2006-9-23 06:51 | 显示全部楼层
原帖由 miao7mijao 于 2006-9-22 16:16 发表
关于第2个海宁窗公式w=0.5-0.5*cos(2*pi*k/N)
我知道了是单边的,但是第1个k=1:M
w=0.5+0.5*cos(pi*k/M)
而书上为k=-N/2,。。。N/2;
w=0.5+0.5*cos(2pi*k/N);是不是只要保证k的个数与N的个数相等就可以了 ...

对于海宁窗的表达式:
w=0.5+0.5*cos(pi*k/N)
适用于k=-N/2,。。。N/2;而
w=0.5-0.5*cos(2*pi*k/N)
适用于k=0:N-1。这是由笫1式在时间上平移了N/2个点。因为我们实际中信号都是N长,时间上是Δt,2Δt,...NΔt(Δt是采样周期),加海宁窗时用笫2式。

评分

1

查看全部评分

 楼主| 发表于 2006-9-23 08:09 | 显示全部楼层
原帖由 miao7mijao 于 2006-9-22 14:07 发表
程序中的
fl=max(fe-fs/(4*D),-fs/2.2);
fh=min(fe+fs/(4*D),fs/2.2);
是怎么回事?



这里我是为了保证上下限不要太靠近正负fs/2.这个区域的频谱由于干涉而不准确.
 楼主| 发表于 2006-9-23 08:11 | 显示全部楼层
原帖由 miao7mijao 于 2006-9-22 19:08 发表
我这提示:xrz(k)=x(kk+1)*hr(1)+sum(hr(2:M+1).*(x(kk+2:kk+M+1)+x(kk:-1:kk-M+1)));这一句超过矩阵界限
那你测试的结果对吗?
我也运行了,也出现类似的问题?该怎么解决?


输入序列x要足够长,至少要D*N+2*M点数据.
发表于 2006-9-23 08:34 | 显示全部楼层
书上给的公式是书上为
k=-N/2,。。。N/2;
w=0.5+0.5*cos(2pi*k/N);和你给的系数差了2倍;
能给解释一下么?
 楼主| 发表于 2006-9-23 08:54 | 显示全部楼层
原帖由 miao7mijao 于 2006-9-23 08:34 发表
书上给的公式是书上为
k=-N/2,。。。N/2;
w=0.5+0.5*cos(2pi*k/N);和你给的系数差了2倍;
能给解释一下么?


滤波器的半阶数为M,它的整个长度是2M+1
发表于 2006-9-23 09:16 | 显示全部楼层
能给你个建议么?对于你的程序看起来有些费劲,你能对你的程序给个注释么?谢谢你了!
 楼主| 发表于 2006-9-23 09:41 | 显示全部楼层
对照着后面发的那个程序看吧.那里写的注释
发表于 2006-9-23 09:51 | 显示全部楼层
其实每段都大概知道是什么意思,就是不知道怎么得到的?
给你添麻烦了!
 楼主| 发表于 2006-9-23 10:01 | 显示全部楼层
呵呵,我不可能每一句都写上注释的,还得靠你有些信号处理的基本知识才行
发表于 2006-9-24 09:52 | 显示全部楼层
对于你写的程序,我问些问题!
程序中的
xzt=xzt.*w;
    xzt=xzt-sum(xzt)/N;是什么意思?
关于滤波器上.下限的选取,一;是不是也就是分析中心频率-fs/(4*D),+fs/(4*D),fs/(4*D)也就是滤波器宽度的一半?
我问一下关于这个程序你应该运行了吧,细化之后的频率分辨率改变了么?
谢谢你了!
 楼主| 发表于 2006-9-24 10:14 | 显示全部楼层
xzt=xzt-sum(xzt)/N;    是去均值,可以不要.

试下运行:
fs=10240;
N=1024;
D=100;
M=500;
t=(0:D*N+2*M)/fs;
x=cos(2*pi*256.4*t)+5*cos(2*pi*256.9*t);
[f xz]=ZoomFFT(x,fs,N,256,D,1,M);
plot(f,xz);

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-4-28 12:01 , Processed in 0.096274 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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