ZFFT 【转载】

关于ZFFT

         ZFFT的实质是把一个宽带信号通过带通滤波器后变成一个窄带信号,从而可以通过选抽(即重采样)来降低采样频率, 进而可用少数点的FFT来达到高的频率分辨率.  可分辨出滤出的窄带信号的细微频谱结构,可以说ZFFT就像一个可变焦的相机(而CZT则是不可变焦的).

丁康老师基于复解析带通滤波器的复调制细化谱分析方法的基本步骤:
1、构造复解析带通滤波器,
2、带通滤波;
3、选抽;
4、移频(将带通滤波器的下截止频率移到0频);
5、做FFT。
6、频率调整(即把5的结果的0频看成是下截止频率)

其中2,3,4步可合成一步来做,这也是基于复解析带通滤波器的优点。

         FFT必须采长样,如果细化D倍,步骤5中FFT点数为N,滤波器半阶数为M的话,则原始信号点数至少为
(N-1)*D+2*M+1个点。
        当然你说直接做N*D个点的FFT,那频率分辨率确实和ZFFT的是一样的。



带扩展系数的zfft

<code>function [xz fz]=zoomffta(x,fs,N,fe,D,a)
% 带扩展系数a的zoomfft
% x---输入时间序列,注意x的长度不能小于(N-1)*D+2*M;
% fs--x的采样频率;
% N---做谱点数;
% D---细化倍数;
% a---扩展系数。a取大于0小于等于1的数,越大M越小,计算量越小

M=4*D/a;                        %滤波器半阶数
k=1:M;                          
w=0.5+0.5*cos(pi*k/M);          %Hanning窗

% 求取带通滤波器上下界;
fl=max(fe-fs/(4*D),-fs/2);
fh=min(fe+fs/(4*D),fs/2);

%求取扩展带通滤波器上下界;
hfl=fl-(fh-fl)*a/2;
hfh=fh+(fh-fl)*a/2;

%构造扩展带通滤波器;
wl=2*pi*hfl/fs;
wh=2*pi*hfh/fs;
hr(1)=(wh-wl)/pi;
hr(2:M+1)=(sin(wh*k)-sin(wl*k))./(pi*k).*w;
hi(1)=0;
hi(2:M+1)=(cos(wl*k)-cos(wh*k))./(pi*k).*w;

%选抽滤波
for k=1:N
    kk=(k-1)*D+M;
    xrz(k)=x(kk+1)*hr(1)+sum(hr(2:M+1).*(x(kk+2:kk+M+1)+x(kk:-1:kk-M+1)));
    xiz(k)=x(kk+1)*hi(1)+sum(hi(2:M+1).*(-x(kk+2:kk+M+1)+x(kk:-1:kk-M+1)));
end

%移频,把fl移到0频
yf=D*fl/fs;                       %移频量
xz=(xrz+j*xiz).*exp(-j*2*pi*(0:N-1)*yf);

xz=fft(xz);
xz=xz(1:N/2)/N;                  %细化复数谱

fz=(0:N/2-1)*fs/N/D+fl;          %细化谱对应的频率de>

转载地址:http://blog.163.com/lxg_1123@126/blog/static/74841406200971434012570/

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值