这个世界上有很多概念,本来非常简单,可是,被一些学者一解释,就变得复杂了。
为了明白一个很容易明白的概念,你需要先明白许多依据你的知识结构根本没法明白的概念,于是,你只能望而却步!
频谱泄露就是这样的一个概念。

一什么是频谱泄露?

频谱泄露与傅里叶变换尤其是离散时间傅里叶变换有关,对于频谱泄露,通常的解释是这样的:
信号为无限长序列,运算需要截取其中一部分(截断),于是需要加窗函数,加了窗函数相当于时域相乘,于是相当于频域卷积,于是频谱中除了本来该有的主瓣之外,还会出现本不该有的旁瓣,这就是频谱泄露!为了减弱频谱泄露,可以采用加权的窗函数,加权的窗函数包括平顶窗、汉宁窗、高斯窗等等。而未加权的矩形窗泄露最为严重。
为了说明频谱泄露,一下子引入了时域、频域、窗函数、卷积、主瓣、旁瓣等等抽象的概念。
频谱泄露有这么复杂吗?频谱泄露到底是什么意思?
一句话,频谱泄露就是分析结果中,出现了本来没有的频率分量。比如说,50Hz的纯正弦波,本来只有一种频率分量,分析结果却包含了与50Hz频率相近的其它频率分量。
更简单的描述是:分析结果与实际不一致!

二为何会出现频谱泄露?

我们把无限长序列分为两种情况:

1无限长序列为非周期信号

非周期的无限长序列,任意截取一段有限长的序列,都不能代表实际信号,分析结果当然与实际信号不一致!
道理是显而易见的:
你分析的信号根本就不能代表实际信号,结果当然也与实际信号不一致,更准确的说法,结果是错误的,造成错误结果的原因是分析方法是错误的!

2无限长序列为周期信号

对于周期性的无限长序列,假设截取的是正好一个或整数个信号周期的序列,这个有限长序列就可以代表原无限长序列,假设分析的方法得当的话,分析结果应该与实际信号一致!
  这里,我们作了两个假设,第二个假设是伟大的傅里叶作出的伟大论断!是成立的!
如果第一个假设也成立,是不是就不会发生频谱泄露呢?
答案是肯定的!
从无限长序列中截取一个或整数个周期,我们称为整周期截断,反之,称为非整周期截断
整周期截断,不会造成频谱泄露!
非整周期截断,必然造成频谱泄露!
换言之:

  整周期截断是不发生频谱泄露的充分且必要条件!或 非整周期截断是发生频谱泄露的充分且必要条件!

为什么非整周期截断就会发生频谱泄露呢?且看下图:
图1.从无限长序列中截取有限长序列
图1所示为无限长周期信号,我们截取了其中一段(有限长序列),这一段不是一个完整周期。傅里叶变换仍然将信号当成无限长序列,傅里叶变换又是如何将其当成无限长呢?
这里采用了一种被称为周期延拓的技术,所谓周期延拓,就是把截取的有限长序列当成是无限长序列的一个周期,然后不断的复制,得到一个新的无限长序列。
图2.有限长序列经过周期延拓构建的新的无限长序列
如图2所示,从图1所示无限长序列中截取的有限长序列,经过周期延拓后,得到一个新的无限长序列,显然,这个新的序列与原序列是不一样的!
图2的信号与图1的信号不同,分析得到的频谱自然也不同!不同之处在于,图1是单一频率信号,只有一根谱线,而图2中,除了图1信号包含的这根谱线(不妨称为主谱线)外,出现了其它频率的谱线,通常,这些谱线要比主谱线短很多,如果把这些原信号不包含的谱线理解为是主谱线泄露出来的,那么,这种现象就被称为频谱泄露!
采用合适的窗函数(常见的窗函数有汉宁窗、三角窗、海明窗和高斯窗等等)可以一定程度上抑制频谱泄露。
窗函数的概念,非常抽象,然而,窗函数的作用,是非常有限的,我们可以这样理解:
如图2中的信号,由于突然截断造成周期延拓时两个周期相邻处出现了信号突变,这种突变,代表的是信号包含了高次谐波。加上合适的歘窗函数,可以把这个突变变得圆滑一些,从而抑制高次谐波。
但是,我们也可以这样想,假设图2的信号就是真实信号,那么,加上这样的窗函数反而得到了错误的结果!
因此,避免频谱泄露的根本还是要从源头出发,尽可能做到准确的整周期截断,这种情况下,窗函数可以选择最简单的矩形窗。

三正确处理频谱泄露

造成频谱泄露的原因在于傅里叶变换的输入信号不能准确的、完整的代表被分析信号,输出产生的一种误差,这种误差可以通过加合适的窗函数或延长时间窗得以改善,当输入信号的不完整性达到一定程度,输出是一种错误的结果。
对于周期信号,整周期截断是不发生频谱泄露的充分且必要条件,抑制频谱泄露应该从源头抓起,尽可能进行整周期截断。
这一点,从相关标准的规定也可以得到佐证。电能质量相关的IEC标准(IEC61000-4-7)和国家标准都明确规定,谐波测量仪器的傅里叶时间窗为10个基波周期,且采用矩形窗。即:标准强调通过提高仪器的同步性减小频谱泄露,而不推荐采用各种效果不可控的窗函数抑制频谱泄露。
WP4000变频功率分析仪通过频率测量和同步电路,保证了信号的整周期截断,傅里叶时间窗包含一个或整数个信号周期,有效的避免了频谱泄露。

相关文章

  • 深入浅出的学习傅里叶变换
  • FFT补零可以提高频率分辨率吗?
  • DFT算法与FFT算法的优劣分析
  • 频谱泄露的分析及处理方法
  • 栅栏效应

热门文章

  • 变频器谐波分析关键技术
  • 霍尔电压传感器原理详解及特点分析
  • 开环式及闭环式霍尔电流传感器工作原理及磁饱和问题
  • 罗氏线圈
  • 深入浅出的学习傅里叶变换
  • 变频调速节能原理
  • 采样频率与带宽的“陷阱”
  • DFT算法与FFT算法的优劣分析
  • 不得不看的电流互感器接线图
  • 电机试验台测控整体解决方案

标签

  • 傅里叶变换

FFT中的频谱泄露现象分析相关推荐

  1. 如何理解FFT中的频谱泄露效应?

    快速傅里叶变换(FFT)实现了时域到频域的转换,是信号分析中最常用的基本功能之一.FFT变换时,总是从离散数据中选取一部分处理,将其称为一帧数据.而且FFT是在一定假设下完成的,即认为被处理的信号是周 ...

  2. 【DFT leakage 频谱泄露现象】

    前言 最近在做跟一维信号相关的项目,所以复习一下DFT中leakage的问题. 文章目录 1. No leakage 2. Leakage 1. No leakage 采样点经过的时长必须是被采样信号 ...

  3. 如何理解FFT中时间窗与RBW的关系

    作为一种常用的频谱分析工具,快速傅里叶变换(FFT) 实现了时域到频域的转换,是数字信号分析中最常用的基本功能之一.FFT 频谱分析是否与传统的扫频式频谱仪类似,也具有分辨率带宽(RBW) 的概念?如 ...

  4. FFT频谱分析(补零、频谱泄露、栅栏效应、加窗、细化、频谱混叠、插值),Matlab、C语言代码

    文章目录 引言 Matlab FFT函数 频谱混叠 栅栏效应 细化技术 什么是细化技术? 细化FFT技术的应用: Zoom-FFT算法介绍及MATLAB实现 Zoom-FFT根本没有实现"细 ...

  5. 有关FFT频谱泄露与整周期采样问题v1.0(待修)

    Title:有关FFT频谱泄露与整周期采样问题的总结整理内容 Date:2022.6.21 //内容部分为从网上摘抄整理,未含有严谨的数学证明,较为易懂.   在实际的数字信号分析中,我们处理的数据都 ...

  6. fft谱分析中的栅栏效应和频谱泄露

    栅栏效应: 对采样信号的频谱,为提高计算效率,通常采用FFT算法进行计算,设数据点数为:            N = T/dt = T.fs 则计算得到的离散频率点为:            Xs( ...

  7. FFT频谱泄露和加窗 (二)

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

  8. 关于FFT频谱泄露问题

    1.什么是频谱泄露: 对于频率为 fs 的正弦序列,它的频谱应该只是在 fs 处有离散谱.但是,在利用 DFT 求它的频谱做了截断,结果使信号的频谱不只是在 fs 处有离散谱,而是在以 fs 为中心的 ...

  9. FFT造成的频谱混叠,栅栏效应,频谱泄露,谱间干扰

    fft在分析频谱分析的时候,会有下面四个方面的误差: (1)频谱混叠: 奈奎斯特定理已被众所周知了,所以几乎所有人的都知道为了不让频谱混叠,理论上采样频谱大于 等于信号的最高频率.那和时域上联系起来的 ...

  10. FFT频谱泄露和加窗 (一)

    我们分析的信号,如果只含整数次谐波的话,用FFT分析信号的频谱和相位是非常准确的,如果信号含有确定的间谐波,比如信号含有60HZ和65HZ的频率,那我们也可以准确的分析出信号的频谱和相位,我们只要用矩 ...

最新文章

  1. Android应用截图和SurfaceView截图问题总结
  2. Java多线程Socket在控制台输出的多人聊天室编程
  3. svn汉化包安装无效的解决办法
  4. Bochs调试Linux内核 - 定位内核中的变量或数据结构
  5. 硬盘序列号示例_序列化代理模式示例
  6. 我这么努力读个博士,难道只是为了进个高校拿5000每月的工资?
  7. linux work 账户管理,Homework Week-3 用户管理
  8. WPS Office 2019政府定制版本 2019.1.15版
  9. 图像去噪(阿尔法均值滤波器)
  10. Linux C语言实现SYN包泛洪攻击
  11. 中英对照泰戈尔《飞鸟集》(一)
  12. 自动生成 : Java方法 toString(); hashCode(); equals(); compareTo()的方法 避免繁杂的体力活
  13. jquery File upload 的一个例子
  14. vs2017 c#代码生成期间遇到了错误,值不在预期的范围内
  15. “标注神器”——Zeplin使用教程(Ps版)
  16. linux之OPERATION(运维)一
  17. 如何实现电脑远程操控西门子触摸屏画面
  18. excel批量提取网页标题
  19. 基于图像识别的表格数据提取系统
  20. cjz格式文件打开方式_鹏业四川CJZ整体解决方案

热门文章

  1. 客户端的gzip解压
  2. npx create-react-app 动不了???(解决方法)
  3. C# 写XML格式的字符串 (是否保存到硬盘)
  4. Linux 集群搭建
  5. 前端 利用html实现分页切换效果
  6. sentaurus的SDE仿真基本流程
  7. java 随机生成人员姓名
  8. 计算机网络复习重点/经典考试知识点
  9. 彻底理解python3的编码和解码过程
  10. 依赖注入框架 ----Dagger2 使用详解及源码分析