miao7mijao 发表于 2006-9-22 08:07

现在正在学习这个程序呢,希望已经看明白的人能给我这个正徘徊在此的人一些提示,或说把你们的经验能多少的告诉我;先谢谢了!

miao7mijao 发表于 2006-9-22 14:07

程序中的
fl=max(fe-fs/(4*D),-fs/2.2);
fh=min(fe+fs/(4*D),fs/2.2);
是怎么回事?

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的个数相等就可以了
也许我问的问题让大家见笑了,但是实在找不到答案了!
谢谢了!

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)));这一句超过矩阵界限
那你测试的结果对吗?
我也运行了,也出现类似的问题?该怎么解决?

songzy41 发表于 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式。

yangzj 发表于 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.这个区域的频谱由于干涉而不准确.

yangzj 发表于 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点数据.

miao7mijao 发表于 2006-9-23 08:34

书上给的公式是书上为
k=-N/2,。。。N/2;
w=0.5+0.5*cos(2pi*k/N);和你给的系数差了2倍;
能给解释一下么?

yangzj 发表于 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

miao7mijao 发表于 2006-9-23 09:16

能给你个建议么?对于你的程序看起来有些费劲,你能对你的程序给个注释么?谢谢你了!

yangzj 发表于 2006-9-23 09:41

对照着后面发的那个程序看吧.那里写的注释

miao7mijao 发表于 2006-9-23 09:51

其实每段都大概知道是什么意思,就是不知道怎么得到的?
给你添麻烦了!

yangzj 发表于 2006-9-23 10:01

呵呵,我不可能每一句都写上注释的,还得靠你有些信号处理的基本知识才行

miao7mijao 发表于 2006-9-24 09:52

对于你写的程序,我问些问题!
程序中的
xzt=xzt.*w;
    xzt=xzt-sum(xzt)/N;是什么意思?
关于滤波器上.下限的选取,一;是不是也就是分析中心频率-fs/(4*D),+fs/(4*D),fs/(4*D)也就是滤波器宽度的一半?
我问一下关于这个程序你应该运行了吧,细化之后的频率分辨率改变了么?
谢谢你了!

yangzj 发表于 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);
=ZoomFFT(x,fs,N,256,D,1,M);
plot(f,xz);
页: 1 [2] 3 4 5
查看完整版本: [原创]zoomfft