FFT加窗和频谱泄露

news2025/1/13 2:43:01

所谓加窗,目的就是针对非整周期采样得到的非自窗信号(self-windowing signal),缓解其频谱分析结果中的能量泄漏现象(注意是“缓解”,而不是“避免”或“消除”)。所谓信号整周期采样(蓝色)和非整周期采样(红色),如图1所示。
在这里插入图片描述
①:由于非整周期截断,对信号周期拓延时,在首尾位置,会出现人为的信号不连续(图1阴影部分),进而造成虚假的高频成分。在FFT分析结果中,这些高频成分会混叠到分析带宽内,使得真实频率处的能量被分散,就是所谓能量泄漏现象;

②:非整周期截断,那么FFT频率分辨率所决定的谱线,就与信号的真实频率不能完全对应了,所以就会造成能量被分散到周边频率。举例来说,信号真实频率为1.5Hz,如果非整周期截断,每次FFT只取1s的样,频率分辨率Δf =1Hz,那么1.5Hz信号成分就无法直接体现出来,而是会被分散到1Hz、2Hz以及周边的谱线上。

下面,我们尝试从信号处理本身的过程,来说一下所谓能量泄漏到底是怎么发生的。:傅里叶变换和FFT,这是两个不同的概念。傅里叶变换
在这里插入图片描述
是对连续时间信号x(t)进行积分,得到频域的连续函数X(f)。而FFT是DFT(离散傅里叶变换)的一种快速算法实现,
在这里插入图片描述
N为采样点数,Δt为采样时间间隔,Δf为频率分辨率。因此FFT是基于时域离散采样点数据x(nΔt),计算出频域离散函数X(kΔf)的过程。FFT是对连续傅里叶变换得到频域连续函数,在频域进行离散采样,所得到的一个近似的分析结果。
先来看看整周期截断的情况,我们以对一个频率为10Hz,幅值为1的正弦信号FFT分析为例。
1)原始信号原本是一个时间上从-∞变化到+∞的周期信号,对应的频谱只在10Hz 有能量。
在这里插入图片描述
2)我们在进行FFT之前,需要截取一段信号(比如对应1Hz频率分辨率,我们截取1s的数据)。这个数据截取的过程,相当于给原始信号乘一个矩形波,这个矩形波函数,在截取信号的1s时间内,函数值为1,在这截取时间段之外函数值为0。这个截取过程,就像是我们透过一扇窗户去观察信号,所以我们把这个矩形波函数称之为矩形窗函数。
在这里插入图片描述
对这个时长1s的矩形窗函数进行傅里叶变换,可以很容易得到其在频域的函数表示。这里引出一个 sinc 函数,sinc(x) = sinx/x,当x = 0时,sinc(x) 函数取极限值为1。
在这里插入图片描述
下图中,左图为矩形窗的时域波形,右图是其双边傅里叶变换结果的幅频图。可以看到频谱结果中有一个宽度为2Hz的主瓣,主瓣旁边存在很多旁瓣。
在这里插入图片描述
下面将矩形窗函数作用到原始信号上,也就是把矩形窗的时域信号和原始时域信号相乘,完成信号的截取,两个信号在时域相乘,对应频域就是两个信号进行卷积(*)运算。所以截断后信号的傅里叶变换结果中,也出现了旁瓣。
在这里插入图片描述
4)最后对截出的信号,分别在时域和频域进行离散采样。时域离散采样大家都很熟悉,那么频域采样,就是对截出信号的傅里叶变换结果,根据1s数据所对应的1Hz的频率分辨率,进行频域的离散采样。(相信大家都知道为什么1s对应1Hz频率分辨率,FFT/DFT中二者互为倒数)此时10Hz正弦信号的能量完全集中在10Hz的谱线上,在所有其他谱线上的结果均为0,分析结果与原始周期信号的频谱完全一致,不存在任何能量的泄漏。

在这里插入图片描述
下面看看非等周期截断的情况。对信号频率为9.7Hz的正弦信号,仍然采集1s时间信号。如图中的原始信号时域波形所示,周期拓延后,信号首尾连接处显然会不连续。

分析的过程与上面一样,区别主要在于最后一步的离散采样。对应1Hz分辨率所决定的谱线,依旧从傅里叶分析结果中离散取样,此时所表现出来的结果是,信号的真实频率(9.7Hz)无法对应任何一根谱线,所以信号的能量就被分散到了周边的各条谱线上了。其中与9.7Hz最接近的10Hz谱线上的幅值最大,为0.86。如果以10Hz的这个最大值作为参考,与原周期正弦信号的幅值相比,结果出现了14%的误差。此外,在主瓣另一根谱线上(9Hz),也存在一个比较明显的分量。

在这里插入图片描述

能量泄漏的改善:
Hann窗(时长1s)的时域函数为:
在这里插入图片描述
通过傅里叶变换,可计算出其频域的函数表达:
在这里插入图片描述
Hann窗的时频特性如图所示。可以看到相比较矩形窗,Hann窗的主瓣要宽一倍,而旁瓣的幅值要小很多。所以,从截断后信号的傅里叶变换频谱中可以看到,相比较矩形窗而言,信号能量从主瓣泄漏到旁瓣的现象,得到了明显的抑制和改善。

对加窗截断后的信号,分别在时域和频域离散采样,并对FFT分析结果进行窗函数幅值修正(所谓窗函数修正是怎么回事,有机会在以后的文章再说),可以看到现在10Hz谱线上的结果为0.94,误差从矩形窗的14% 降低到了6%。但也注意到,在主瓣上的其他3根谱线(8Hz,9Hz,11Hz)上,也出现不小的分量。

因此,当我们使用Hann窗进行频谱分析时,如果在某个频率附近,相邻的3-4根谱线都有一定的分量,并不总是代表这里存在着3~4个不同的频率成分,而很可能是由于信号非等周期截断所造成的能量分散。
在这里插入图片描述
如果是非等周期采样,FFT分析结果就将无法准确复现原始周期信号的频谱特征,表现为真实频率处的信号能量,被泄漏到了窗函数所引起的主瓣及周边旁瓣的各条谱线上,即所谓能量泄漏现象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个非常流行的R语言调色板:RColorBrewer

R 语言有许多非常优秀的调色板,本文就介绍一个非常流行的,我也经常在用的调色板 R 包:RColorBrewer。 安装 install.packages("RColorBrewer") 加载 library(RColorBrewer) library(knitr) 初探 ?RColorBrewer 在帮助页面可以看到…

在MD编辑器里插入20次方问题

前言 看了很多文章里面没写怎么插入20次方,最后在官网的一篇文章上看到了很详细的数学公式的插入。 问题 大家肯定以为这样就可以了 效果 明显是不行的 解决 使用{}把数字括起来就可以了。 1 20 1^{20} 120 小知识 在行内显示(就是与文字在一起) $ $另起…

详解矩阵的三角分解A=LU

目录 一. 求解Axb 二. 上三角矩阵分解 三. 下三角矩阵分解 四. 矩阵的三角分解 举例1:矩阵三角分解 举例2:三角分解的限制 举例3:主元和乘法因子均为1 举例4:U为单位阵 小结 一. 求解Axb 我们知道高斯消元法可以对应矩阵…

二层交换机和三层交换机

二层交换机:将源mac和端口进行转发,是同一个网段进行通信的,不能实现路由转发,若想跨网段则需要接入一个路由器 如:pc1 192.168.1.1 与 pc2 192.168.1.2通信需要经过二层交换机,二层交换机不能配置ip的&am…

ERP进出库+办公用品管理系统

系统架构 简介系统架构部分页面结构图UML逻辑图办公用品入出库 简介 本系统适用于ERP企业公司职员关于系统化的申请相关办公用品,提高整体系统整合行,加大上下级之间的联系,规避因人员过多,而浪费人力在简单重复的工作中&#xf…

【车载HMI开发工具--EB GUIDE 与 Unity 合作提供一体化的沉浸式 HMI 设计开发工具链】【转载】

随着车载高性能计算平台的日益普及以及显示器尺寸和数量的不断增加,沉浸式车载人机交互界面(HMI)的需求也在持续增长。为了将实时 3D 技术带入车载 HMI 领域,Unity 与 Elektrobit (EB)展开了合作,EB 是推进 HMI 功能安…

进程间协同:从进程启动、同步与互斥到进程间通信

进程间协同的目的 在操作系统中,进程是计算机进行任务分配和调度的基本单位。在计算机系统中,有很多任务是无法由单个进程独立完成的,需要多个进程共同参与并协作完成。这就像在现实生活中,有些工作需要一个团队来完成&#xff0…

智慧照明迎来新升级:5G/4G智慧灯杆网关助力节能控制

近年来,随着智能科技的飞速发展,智慧照明系统已成为城市建设的热门话题。其中,5G/4G智慧灯杆网关作为智慧照明的重要组成部分,正逐渐引起人们的关注。其能够实现智能控制与远程管理,为城市节能减排做出了巨大贡献。  …

MCU常用外设总线

目录 前言一、时钟与中断二、GPIO三、ADC四、定时器4.1 基本定时器4.2 通用定时器4.2.1 输入捕获4.2.2 输出比较 五、UART六、IIC七、SPI 前言 本文主要讲单片机外设的功能,即这些外设是什么,可以用来干什么,了解了之后我们就可以通过相应的寄…

裁员1600人赔偿8000万,游戏巨头的寒冬要来啦!

据相关可靠消息,网易裁员1600人,消息确认可靠,并且基本都是网易游戏的技术人。 网易是一家靠门户网站起家的互联网公司,并提前布局了网易邮箱。当然最后靠网易游戏提前转型,将竞争对手搜狐和新浪远远的甩着后面啦。 网…

MacM1Pro Parallels19.1.0 CentOS7.9 Install PostgrepSQL

相关阅读 MacM1Pro安装 Parallels Desktop 19.1.0 https://blog.csdn.net/qq_41594280/article/details/135420241 MacM1Pro Parallels安装Parallels Tools https://blog.csdn.net/qq_41594280/article/details/135398780 MacM1Pro Parallels安装CentOS7.9 https://blog.csdn.n…

第十二站(20天):C++泛型编程

模板 C提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类, 其 类内部的类型和函数的形参类型不具体指定 ,用一个虚拟的类型来代表。这种通用的方式称 为模板。 模板是泛型编程的基础, 泛型编程即以一种独立于任何特定…

微软Microsoft推出针对学生的AI练习英语口语工具”阅读教练“:Reading Coach

阅读教练官网链接:https://coach.microsoft.com AI工具专区:AI工具-喜好儿aigc 学生可以通过选择角色和设定,利用AI生成独特的故事,从而激发阅读兴趣并提高阅读流畅度。语音转文本AI能够实时分析学生的阅读流利性,检测…

从 fatal 错误到 sync.Map:Go中 Map 的并发策略

为什么 Go 语言在多个 goroutine 同时访问和修改同一个 map 时,会报出 fatal 错误而不是 panic?我们该如何应对 map 的数据竞争问题呢? 这篇文章将带你一步步了解背后的原理,并引出解决 map 并发问题的方案。 Map 数据竞争 首先…

慢查询定位

慢查询 使用工具 mysql自带慢日志 默认没有开启需要手动开启 查看慢日志中的文件 总结

研学活动报名系统源码开发方案

一、项目背景与目标 (一)项目背景: 随着教育水平的提高和人们对综合素质培养的需求增加,研学活动作为一种教育方式受到了广大家长和学生的青睐。为了更好地组织和管理研学活动,需要建立一个研学活动报名系统&#xf…

《WebKit 技术内幕》之八(3):硬件加速机制

3 其他硬件加速模块 3.1 2D图形的硬件加速机制 其实网页中有很多绘图操作是针对2D图形的,这些操作包括通常的网页绘制,例如绘制边框、文字、图片、填充等,它们都是典型的2D绘图操作。在HTML5中,规范又引入了2D绘图的画布功能&a…

Windows下载安装vcpkg并使用它来安装第三方库(visualstudio)

1.使用Git下载vcpkg仓库(下载比较慢,个人比较喜欢打开下面网址然后用迅雷下载,速度飞快) git clone "https://github.com/Microsoft/vcpkg.git"2.下载好之后解压打开文件夹,双击bootstrap-vcpkg.bat文件&…

BMP图像文件头

文件头总字节为54 byte 其代码的含义有 424d:ASCII BM 36ec_5e00:1920*1080*354 3600:偏移54byte 2800: 40 byte 8007 0000 :16‘h780 1920 3804 0000 :16‘h4801080 1800 :24bit 00ec 5e00&…

FPGA时序分析与时序约束(五)——使用Timing Analyzer进行时序分析与约束

Quartus的安装路径下会自带有例程,通过fir_filter进行学习如何使用Timing Analyzer进行时序分析与约束。 1.1 创建时序网表 打开fir_filter并进行综合后可通过菜单栏Tool->Timing Analyzer或工具栏按钮运行Timing Analyzer。 根据前面提到的,时序分析…