选带傅里叶变换(zoom-fft)
选带傅里叶变换的原理大家可以看书。大致的步骤为
- 移频 (将选带的中心频率移动到零频)
- 数字低通滤波器 (防止频率混叠)
- 重新采样 (将采样的数据再次间隔采样,间隔的数据取决于分析的带宽,就是放大倍数)
- 复FFT (由于经过了移频,所以数据不是实数了)
- 频率调整 (将负半轴的频率成分移到正半轴)
程序如下:
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)相关推荐
- 快速傅里叶变换(FFT)算法学习
前言 人生如逆旅,我亦是行人. 一.介绍 算法的世界多么广大,我们可以将算法大致分为两类: 第一类是较为有用的算法:比如一些经典的图算法,像 DFS 和 BFS(深度 / 广度优先算法),这些算法应用 ...
- 快速傅里叶变换 (FFT)基础
参考博文 频谱分析是一种将复杂信号分解为较简单信号的技术. 首先来很清楚几个概念: FT(Fourier Transformation): 傅里叶变换.其时域信号.频域信号都是连续的. DTFT(Di ...
- 【学习笔记】超简单的快速傅里叶变换(FFT)(含全套证明)
整理的算法模板合集: ACM模板 目录 一.概念概述 二.前置知识 1. 多项式 2. 复数 4. 欧拉公式证明 3. 复数的单位根 / 单位向量 三.FFT 算法概述 四.离散傅里叶变换(DFT) ...
- 快速傅里叶变换_计算物理基础:第八章-快速傅里叶变换(FFT)
参考北京师范大学的<计算物理基础> 第八章-快速傅里叶变换 计算物理基础_中国大学MOOC(慕课)www.icourse163.org 1.快速傅里叶变换 1.1 离散傅里叶变换及其变换 ...
- 快速傅里叶变换(FFT)详解
快速傅里叶变换(FFT)详解 (这是我第一次写博,不喜勿喷...) 关于FFT已经听闻已久了,这次终于有机会在Function2的介绍下来了解一下FFT了. 快速傅里叶变换(Fast Fourier ...
- 快速傅里叶变换(FFT)的C#实现及详细注释
快速傅里叶变换(FFT)的C#实现及详细注释 ----------------------------------------------------------------------------- ...
- 11.频域里的卷积——介绍,傅里叶变换和卷积,快速傅里叶变换(FFT)_1
目录 介绍 傅里叶变换和卷积 FFT 介绍 我们将继续讨论频率分析以及如何用频率分量的概念来研究图像.如果你还记得上次我们讲过的基于频率的图像分解的概念.我们通过给你们看这张照片来回忆它(如图).这是 ...
- python的图像傅里叶变换 np.fft.fft2 cv.dft 函数
码字不易,如果对您有所帮助,记着点赞哦! 一. 图像傅里叶变换原理: 原理简介请参考:https://www.cnblogs.com/wojianxin/p/12529809.html 对二维图像进行 ...
- 快速傅里叶变换(FFT)和逆快速傅里叶变换(IFFT)
多项式表示法与卷积 多项式有两种表示方法 系数表示法 点值表示法 系数表示法 就是最普通的表示方法,如 f(x)=a0x0+a1x1+a2x2+......+an−1xn−1f(x) = a_0x^0 ...
最新文章
- 文本类控件 (TextView的介绍)
- 【数学与算法】贝塞尔曲线
- 20181210-es6(letconst解构模版字符串原理 展开运算符、剩余运算符运用 深拷贝原理 reduce原理 箭头函数)...
- Keil uVision5 之 C51 与 MDK 共存
- BigDecimal保留两位小数,不足两位补0
- python打包加版本信息_使用pyi-set_version为PyInstaller打包出来的程序附加版本信息...
- Gentoo - ssh-agent配置
- python 网页版笔记_系统学习下python网络爬虫 笔记一
- 面包房算法 java_java处理买面包事件
- 使用Maven导出war包
- java 的strip_javastript
- 邮票的制作(1.主要画笔工具2.钢笔工具)
- C语言核心知识点大汇总
- HTML5,CSS,JS前端常见知识面试题
- 游戏王血计算机,游戏王消血
- matplotlib画图使用python可视化colorbar工具自定义颜色
- sudo sorry you must have a tty to run sudo
- 如何删除PDF背景颜色?
- MFC中的CDC 绘图
- Windows XP的小秘密 {10}
热门文章
- Ubuntu18.04安装Multiwfn
- Eclipse搭建Android5.0应用开发环境 “ndk-build”:launchingfailed问题解决
- WINCE6.0隐藏文件夹和应用程序访问物理寄存器
- Firefox无法加载12306自家证书
- [翻译]Axure-Basic Interactions-原型设计工具Axure学习-第1.3节
- easy_runner一个简单的压测程序
- iosttableViewCell右侧的箭头,圆形等
- 消除数组中重复元素的方法
- RPi 2B GPIO 测试
- Mikrotik RouterOS 日常问题解析 ROS 5.4下载