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/
ZFFT 【转载】相关推荐
- [转载]Tensorflow 的reduce_sum()函数的axis,keep_dim这些参数到底是什么意思?
转载链接:https://www.zhihu.com/question/51325408/answer/125426642 来源:知乎 这个问题无外乎有三个难点: 什么是sum 什么是reduce 什 ...
- u-boot中filesize环境变量【转载】
转载地址:https://blog.csdn.net/fzs333/article/details/48518559 U-Boot中的环境命令可以使用$(filesize)来确定刚下载(传输)得到的文 ...
- linux常用命令(转载)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- makefile学习(转载)
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...
- 浅谈UWB(超宽带)室内定位技术(转载)
技术背景 随着无线通信技术的发展和数据处理能力的提高,基于位置的服务成为最有前途的互联网业务之一.无论移动在室内还是室外环境下,快速准确地获得移动终端的位置信息和提供位置服务的需求变得日益迫切.通信和 ...
- 【转载】浏览器事件循环机制(event loop)
首先,本文转自https://juejin.im/post/5afbc62151882542af04112d 当我看完菲利普·罗伯茨的 javascript event loop的演讲的时候,就对于事 ...
- [转载]Surging 分布式微服务框架使用入门
前言 本文非 Surging 官方教程,只是自己学习的总结.如有哪里不对,还望指正. 我对 surging 的看法 我目前所在的公司采用架构就是类似与Surging的RPC框架,在.NET 4.0框架 ...
- 负二项分布学习[转载]
转自:https://wenku.baidu.com/view/b6518ea5112de2bd960590c69ec3d5bbfd0adaff.html 1.伯努利实验 2.二项分布 3.负二项分布 ...
- 【转载】tf.nn.conv2d_transpose是怎样实现反卷积的?
原文链接:https://blog.csdn.net/mao_xiao_feng/article/details/71713358 转载于:https://www.cnblogs.com/Virtua ...
最新文章
- mysql之 CentOS系统针对mysql参数优化
- CodeForces - 831D Office Keys
- python 输入列表 返回每个元素出现的次数
- 2.SDK目录结构和adb工具及命令介绍
- 电商智能写作:京东AI闪电智能写作引擎
- Intelliok IDEA的Monokai主题
- UOS 安装nvidia官方显卡驱动
- Mac用命令行在访达中打开指定目录
- web.xml根标签web-app规范
- 基于ArcGIS:GIS空间分析复习-理论概念+案例分析
- Python re.compile以及group分组
- 802.11协议:wifi
- [P3374 【模板】树状数组 1](单点修改,区间查询)
- 基于Conv3D实现三维立体MNIST数据集分类
- 苹果手机注册时显示链接服务器出现问题,苹果确认iphone密码,显示连接服务器出现问题,为什么...
- Netty框架之责任链模式及其应用
- SWAP函数的几种写法
- dellwin10无法自动修复此计算机,处理win10系统无法自动修复此计算机的办法
- 个人简历html网页代码(使用chatgpt完成web开发课的实验)
- 苍穹战线PC版教程,TC Games教你如何畅玩苍穹战线二次元卡牌游戏