当输入信号的频率不是FFT分辨率的整数倍时,信号的能力就会向整个频域扩散,此时那些幅度比较小频点就会被覆盖,使得小幅度频点观察不出来,加窗之后可以防止能量外泄,这样就可以分析那些小幅度频点的特性!
可以通俗的理解为防止频率泄露

这是数字信号处理的相关知识了。数字信号处理的主要数学工具是傅里叶变换.而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用截取的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无限长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。
为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。
对于窗函数的选择,应考虑被分析信号的性质与处理要求。如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比,下面简要介绍各种窗函数的优缺点。
矩形窗属于时间变量的零次幂窗。矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。
三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式。与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。
汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sinc(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了 π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。
海明窗也是余弦窗的一种,又称改进的升余弦窗。海明窗与汉宁窗都是余弦窗,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。海明窗与汉宁窗都是很有用的窗函数。
高斯窗是一种指数窗。高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截短一些非周期信号,如指数衰减信号等。

那么有哪些窗函数呢?
矩形窗
矩形窗属于时间变量的零次幂窗。矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。

三角窗
三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式。与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。
汉宁窗
汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sinc(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了 π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。

海明窗
海明窗也是余弦窗的一种,又称改进的升余弦窗。海明窗与汉宁窗都是余弦窗,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。海明窗与汉宁窗都是很有用的窗函数。
高斯窗
高斯窗是一种指数窗。高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截短一些非周期信号,如指数衰减信号等。

FFT为什么要加窗函数?相关推荐

  1. Matlab中FFT运算加窗函数的验证

    在上一篇博客中,介绍了MATLAB中的IFFT和虚部取反后的FFT的验证,结果表明是一致的. https://blog.csdn.net/weixin_42316458/article/details ...

  2. FFT分析的加窗和重叠

    FFT分析的加窗和重叠 这将通过实例说明加窗和重叠对频谱分析的影响.用10Hz的正弦波,以说明重叠窗函数在频谱分析过程中的不同之处. 重叠分析,就是连续分析的时域数据块通过指定的时间纪录百分比进行重叠 ...

  3. 加窗函数后频谱幅值发生了变化的修正技巧

    在加窗函数前.后计算的频谱幅值发生了变化(矩形窗除外),这个变化是怎么发生的?该如何修正幅值呢?下面以汉宁窗函数为例进行说明. 一.矩形窗函数和汉宁窗函数的频谱 先来说明矩形窗函数的频谱.设离散的矩形 ...

  4. 通过二维FFT变换对比加入窗函数之后的图像频谱和相位

    目录 一.理论基础 1.1二维FFT变换 1.2窗函数 二.核心程序 三.测试结果 一.理论基础 1.1二维FFT变换 以下公式定义 m×n 矩阵 X 的离散傅里叶变换 Y: ωm 和 ωn 是复单位 ...

  5. 了解FFT和信号加窗

    0 概览 学习信号时域和频域.快速傅立叶变换(FFT).加窗,以及如何通过这些操作来加深对信号的认识. 1. 理解时域.频域.FFT 傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误. 尽管傅 ...

  6. [DSP学习笔记]基于TMS320F28335的FFT及加窗函数实现

    一.新建工程 首先我们先将C2000 wave中我们所需要的函数库给导入到我们的新建工程中(可见于我实现FIR滤波文章中导入函数库的操作). 工程中可见有以下文件.(仅FFT可删除滤波有关文件) 接着 ...

  7. matlab中fft插值,在加窗插值FFT分析中,如何用matlab求得双谱线插值的修正...

    下面是我在之前论坛里找到的程序里进行改编的,但还是弄不来,希望懂的人能指导下 f0=50; fs=50*256; N=2048;%2048/256=8 rad=180/pi; n=[0:1:N-1]; ...

  8. python画锯齿波_用Python控制硬件35-自制二三十元成本的信号测量采集控制系统

    如前篇所介绍,用Shell Lab测试台软件配合之前介绍的任意款实验板,都能方便地实现ADC电压测量,但遇到两个问题: 示例代码虽然众多,但大都默认ShellLab类型的控制器,需要手动改为Mcush ...

  9. 用python控制硬件_用Python控制硬件35-自制二三十元成本的信号测量采集控制系统...

    如前篇所介绍,用Shell Lab测试台软件配合之前介绍的任意款实验板,都能方便地实现ADC电压测量,但遇到两个问题:示例代码虽然众多,但大都默认ShellLab类型的控制器,需要手动改为Mcush. ...

  10. 虹科教您 | 实时频谱分析仪中如何选择合适的FFT窗函数

    摘要 本文主要介绍了常见的窗函数以及窗函数有什么用,以及在实时频谱分析中,该如何选择合适的加窗方式. 随着无线通信的逐步发展,带来的是频谱环境的越发复杂与丰富,高度的信号变化性使得短时间内信号不再是一 ...

最新文章

  1. Flume的安装与配置
  2. AD数据采集的“数字滤波”:10个“软件滤波程序”
  3. python多线程和多进程——python并行编程实验
  4. 2021-01-07 matlab数值分析 线性代数的直接接法  追赶法
  5. arm学习笔记五(c/c++与arm汇编混合编程)
  6. 乙肝疫苗该怎么打(转)
  7. 异常--自定义异常类
  8. 例子:Basic Lens sample
  9. 2016年度 JavaScript 展望(下)
  10. 遍历矩阵每一行穷举_[LeetCode] 566. 重塑矩阵
  11. var _ 接口 = 结构体{}
  12. 二元一次函数最值问题_沪科版八年级上册数学12.3.1一次函数与二元一次方程微课知识点精讲+练习...
  13. 请编写一个c程序确定signed,unsigned的char,short,int和long变量取值范围
  14. 百度地图缩放 — 放开手指时地图位置移动问题解决
  15. Ext Scheduler(日程表) 2.0——升级到4.0
  16. DPDK Release 21.11
  17. dubbox与dubbo
  18. Bootstrap(三)可视化布局系统
  19. 【论文阅读|浅读】DeepEmLAN: Deep embedding learning for attributed networks
  20. 我最爱的超女-琪琪格

热门文章

  1. IntelliJ IDEA 13怎么创建JAVA SE项目
  2. C#三层架构详细解剖
  3. PIC中档单片机汇编指令详解(2)
  4. Android 模拟器中sd卡的创建 和文件的上传
  5. shell编程四剑客之 find
  6. web平台安装程序 无效的uri_计算机二级Web(1):Web技术基础(上)
  7. mysql应用基础_MySQL基础应用
  8. python嵌套列表输出_Python列表的增删改查排嵌套特殊输出格式
  9. 可管理多台远程mysql服务器的phpmyadmin_修改phpMyAdmin使其能够管理多台远程MySQL服务器...
  10. python垃圾回收机制与很多_你了解Python的 垃圾回收 机制吗?