当前位置: 首页 > article >正文

FFT 分析基础-笔记

FFT 分析基础-笔记

  • FFT 的基本概念
  • FFT 的工作原理和计算
    • FFT 计算-第一步
    • FFT 计算-第二步
  • Δf的含义
  • 弥散/泄露的含义
  • 抑制这种现象的方法
  • 总结

FFT 的基本概念

快速傅里叶变换(Fast Fourier Transform,FFT)是数字信号处理中一种重要的算法,用于高效地计算离散傅里叶变换(DFT)。它能够将复杂的时域信号转换为频域表示,使得信号的频率成分变得清晰可见。这一转换对于信号分析、滤波、数据压缩等领域至关重要。
在这里插入图片描述

所有的信号我们都可以把它变成不同频率不同幅值的正弦波信号来叠加,而形成我们所需要的这样的一个信号。其实这就是一个FFT的一个反的一个过程。把它更加清楚明白的显示出来。在哪些正弦波的信号,有哪些正弦波信号。

FFT 的工作原理和计算

FFT 计算-第一步

在这里插入图片描述

FFT 计算-第二步

可以用一个公式来概括一下公式,其公式目的就是分解信号。
在这里插入图片描述

通过FFT的公式可以计算出真正弦波和时域信号的一个相关性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上这些结果就被放到右侧的频谱中,频谱的幅值体现的就是这个相关性的大小。接着我们计算把频率翻倍,然后再给出一个正弦波,重复这样的一个过程。

正弦波跟原始信号的相关性非常的高,所以在右侧的图谱之中它的值也是很大的。我们就这样一个频率的重复,就可以得到我们所需要这个频段的一个频谱。这就成功分解了原始的信号。这个其实就是FFT的变换的一个核心过程。

在这里插入图片描述

第一个需要注意的是图谱的幅值单位它不是电平而被称为“bin”。这个“bin”其实就代表了相关性的大小。
第二个需要注意的就是这两个“bin”之间的一个距离,我们称之为Δf这个Δf是固定的,它表示FFT频谱的频率分辨率。

Δf的含义

在这里插入图片描述

弥散/泄露的含义

在这里插入图片描述

一个完美的非常完美的正弦波信号。那么它的FFT的频谱其实就是右侧的这一个,它对应频率的bin是非常明确的。
在这里插入图片描述

理想情况下,我们的采样窗口能够完美的覆盖到整个的正弦波。就是说起始和终点和正弦波的大小完全一致。
在实际应用中,由于信号往往不是完美的正弦波,而且采样窗口长度通常不能恰好匹配信号周期,因此在频谱中会出现所谓的“弥散”或“泄露”现象。即原本集中在某一个频率上的能量,在频谱中表现为分布于该频率附近的多个频率成分上。

在这里插入图片描述

时域信号并不是能够恰好的匹配到采样的长度。就是说采样的这个起点和终点并不能保证在一个幅值上面,这样就会导致每个块之间会产生一个跳变,这个跳变就会把它的连续性给打破,这就导致了所谓的弥散。

抑制这种现象的方法

一种常用的技术是使用窗函数(windowing)。窗函数通过对信号进行加权处理,使信号在边界处平滑衰减,从而减少边界效应引起的非理想频率成分。常用的窗函数包括汉明窗(Hamming window)、海宁窗(Hanning window)等。
在这里插入图片描述

总结

在这里插入图片描述


http://www.kler.cn/news/332122.html

相关文章:

  • js列表数据时间排序和取唯一值
  • 【数据结构强化】应用题打卡
  • Spring Boot中使用ThreadPoolTaskScheduler实现轻量级多线程定时任务
  • 春日时尚:Spring Boot助力“衣依”服装销售平台
  • 【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
  • ClickHouse 引擎的选择
  • 【Spring】@RequestMapping、@RestController和Postman
  • GIT 迁移到GIT
  • (JAVA)队列 和 符号表 两种数据结构的实现
  • day22 Collection 迭代器 增强for List
  • 启动服务并登录MySQL9数据库
  • [C++]使用纯opencv部署yolov11目标检测onnx模型
  • 如何使用ChatGPT API及Bito插件
  • Iterm2配置主题和Oh-My-Zsh
  • 螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下docker学习02(yum源切换及docker安装配置)
  • 动手测试:CPU的L1~L3级缓存和内存的读取速度测试
  • 深入理解.NET中的委托与事件:实现灵活的事件驱动编程
  • vue3学习:axios输入城市名称查询该城市天气
  • 虚拟机添加共享文件夹后仍无法显示文件
  • vscode报错No module named ‘Crypto‘