选带傅里叶变换的原理大家可以看书。大致的步骤为

  1. 移频 (将选带的中心频率移动到零频)
  2. 数字低通滤波器  (防止频率混叠)
  3. 重新采样  (将采样的数据再次间隔采样,间隔的数据取决于分析的带宽,就是放大倍数)
  4. 复FFT (由于经过了移频,所以数据不是实数了)
  5. 频率调整 (将负半轴的频率成分移到正半轴)

程序如下:

function [f, y] = zfft(x, fi, fa, fs)
% x为采集的数据
% fi为分析的起始频率
% fa为分析的截止频率
% fs为采集数据的采样频率
% f为输出的频率序列
% y为输出的幅值序列(实数)f0 = (fi + fa) / 2;              %中心频率
N = length(x);                 %数据长度r = 0:N-1;
b = 2*pi*f0.*r ./ fs;
x1 = x .* exp(-1j .* b);          %移频bw = fa - fi;                                        B = fir1(32, bw / fs);             %滤波 截止频率为0.5bw
x2 = filter(B, 1, x1);               c = x2(1:floor(fs/bw):N);           %重新采样
N1 = length(c);
f = linspace(fi, fa, N1);
y = abs(fft(c)) ./ N1 * 2;
y = circshift(y, [0, floor(N1/2)]);            %将负半轴的幅值移过来
end

应用实例:

fs = 2048;
T = 100;
t = 0:1/fs:T;
x = 30 * cos(2*pi*110.*t) + 30 * cos(2*pi*111.45.*t) + 25*cos(2*pi*112.3*t) + 48*cos(2*pi*113.8.*t)+50*cos(2*pi*114.5.*t);
[f, y] = zfft(x, 109, 115, fs);
plot(f, y);

效果:

选带傅里叶变换(zoom-fft)相关推荐

  1. 快速傅里叶变换(FFT)算法学习

    前言 人生如逆旅,我亦是行人. 一.介绍 算法的世界多么广大,我们可以将算法大致分为两类: 第一类是较为有用的算法:比如一些经典的图算法,像 DFS 和 BFS(深度 / 广度优先算法),这些算法应用 ...

  2. 快速傅里叶变换 (FFT)基础

    参考博文 频谱分析是一种将复杂信号分解为较简单信号的技术. 首先来很清楚几个概念: FT(Fourier Transformation): 傅里叶变换.其时域信号.频域信号都是连续的. DTFT(Di ...

  3. 【学习笔记】超简单的快速傅里叶变换(FFT)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.概念概述 二.前置知识 1. 多项式 2. 复数 4. 欧拉公式证明 3. 复数的单位根 / 单位向量 三.FFT 算法概述 四.离散傅里叶变换(DFT) ...

  4. 快速傅里叶变换_计算物理基础:第八章-快速傅里叶变换(FFT)

    参考北京师范大学的<计算物理基础> 第八章-快速傅里叶变换 计算物理基础_中国大学MOOC(慕课)​www.icourse163.org 1.快速傅里叶变换 1.1 离散傅里叶变换及其变换 ...

  5. 快速傅里叶变换(FFT)详解

    快速傅里叶变换(FFT)详解 (这是我第一次写博,不喜勿喷...) 关于FFT已经听闻已久了,这次终于有机会在Function2的介绍下来了解一下FFT了. 快速傅里叶变换(Fast Fourier ...

  6. 快速傅里叶变换(FFT)的C#实现及详细注释

    快速傅里叶变换(FFT)的C#实现及详细注释 ----------------------------------------------------------------------------- ...

  7. 11.频域里的卷积——介绍,傅里叶变换和卷积,快速傅里叶变换(FFT)_1

    目录 介绍 傅里叶变换和卷积 FFT 介绍 我们将继续讨论频率分析以及如何用频率分量的概念来研究图像.如果你还记得上次我们讲过的基于频率的图像分解的概念.我们通过给你们看这张照片来回忆它(如图).这是 ...

  8. python的图像傅里叶变换 np.fft.fft2 cv.dft 函数

    码字不易,如果对您有所帮助,记着点赞哦! 一. 图像傅里叶变换原理: 原理简介请参考:https://www.cnblogs.com/wojianxin/p/12529809.html 对二维图像进行 ...

  9. 快速傅里叶变换(FFT)和逆快速傅里叶变换(IFFT)

    多项式表示法与卷积 多项式有两种表示方法 系数表示法 点值表示法 系数表示法 就是最普通的表示方法,如 f(x)=a0x0+a1x1+a2x2+......+an−1xn−1f(x) = a_0x^0 ...

最新文章

  1. 文本类控件 (TextView的介绍)
  2. 【数学与算法】贝塞尔曲线
  3. 20181210-es6(letconst解构模版字符串原理 展开运算符、剩余运算符运用 深拷贝原理 reduce原理 箭头函数)...
  4. Keil uVision5 之 C51 与 MDK 共存
  5. BigDecimal保留两位小数,不足两位补0
  6. python打包加版本信息_使用pyi-set_version为PyInstaller打包出来的程序附加版本信息...
  7. Gentoo - ssh-agent配置
  8. python 网页版笔记_系统学习下python网络爬虫 笔记一
  9. 面包房算法 java_java处理买面包事件
  10. 使用Maven导出war包
  11. java 的strip_javastript
  12. 邮票的制作(1.主要画笔工具2.钢笔工具)
  13. C语言核心知识点大汇总
  14. HTML5,CSS,JS前端常见知识面试题
  15. 游戏王血计算机,游戏王消血
  16. matplotlib画图使用python可视化colorbar工具自定义颜色
  17. sudo sorry you must have a tty to run sudo
  18. 如何删除PDF背景颜色?
  19. MFC中的CDC 绘图
  20. Windows XP的小秘密 {10}

热门文章

  1. Ubuntu18.04安装Multiwfn
  2. Eclipse搭建Android5.0应用开发环境 “ndk-build”:launchingfailed问题解决
  3. WINCE6.0隐藏文件夹和应用程序访问物理寄存器
  4. Firefox无法加载12306自家证书
  5. [翻译]Axure-Basic Interactions-原型设计工具Axure学习-第1.3节
  6. easy_runner一个简单的压测程序
  7. iosttableViewCell右侧的箭头,圆形等
  8. 消除数组中重复元素的方法
  9. RPi 2B GPIO 测试
  10. Mikrotik RouterOS 日常问题解析 ROS 5.4下载