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

news2024/11/30 10:47:53

作为一种常用的频谱分析工具,快速傅里叶变换(FFT) 实现了时域到频域的转换,是数字信号分析中最常用的基本功能之一。FFT 频谱分析是否与传统的扫频式频谱仪类似,也具有分辨率带宽(RBW) 的概念?如果具有RBW ,那么FFT 的RBW 又与什么因素有关呢?这将是本文要重点给大家介绍的内容。

众所周知,FFT 变换是在一定假设下完成的,即认为被处理的信号是周期性的。图1给出了一正弦波信号的采集样点波形,如果对Frame 1作FFT 运算,则会对其进行周期扩展。显然,在周期扩展的时候 ,造成了样点的不连续,样点不连续等同于相位不连续,相当于引入了相位调制,这将导致产生额外的频率成分,该现象称为频谱泄露

文章“如何理解FFT中的频谱泄露效应”中已经对频谱泄露效应的机理做了比较深入的推导,此处不再赘述。

图1. 周期扩展引起样点的不连续

频谱泄露产生了原本信号中并不包含的频率成分,具有诸多危害:首先频率测不准了,通常决定信号频率都是选取幅度最高的谱线,但是幅度最高谱线往往并不是载波,因此造成频率测试结果存在比较明显的偏移,这是调相的影响;其次测得的频谱幅度变小了,本来只有一根谱线,发生频谱泄露后产生众多谱线,但是信号总功率是一定的,因此测得的信号幅度一定会减小;另外,频谱泄露会扰乱测试,尤其在观测小信号时,较强的频谱泄露成分可能淹没比较微弱的信号。

如何避免或者降低频谱泄露呢?这就需要使用下文介绍的时间窗(Window) 技术。

如果能够消除样点不连续,就可以消除频谱泄露。为了实现这一点,需要引入时间窗(Window),时间窗包含的样点数目与信号相同,而且两端的样点值通常为0。在FFT 之前,时间窗与波形相乘,周期扩展后可以保证样点的连续性。

图2以Kaiser Window 为例,给出了时间窗波形、原始波形以及加了时间窗之后的波形。由图可知,引入时间窗后,在周期扩展后并不会造成相位不连续,从而消除频谱泄露效应。

值得一提的是,频谱泄露是无法完全消除的,虽然引入合适的时间窗使得周期扩展后相位连续,但是又等效形成了特殊的射频脉冲信号,所以还会产生一些新的频率成分,只是这些频率成分非常微弱。换句话说,时间窗只能尽量抑制频谱泄露,而无法完全消除!

图2. 引入时间窗以改善频谱泄露效应

在FFT 应用中,时间窗就相当于一个滤波器,不同的时间窗具有不同的频响特性,比如不同的边带抑制和矩形因子等,相应的幅度测试精度也不同。虽然与传统的扫频式频谱仪不同,但是基于FFT 的频谱分析中依然有RBW 的概念,RBW就是指时间窗对应的幅频响应的3dB 带宽,时间窗宽度及类型就决定了RBW 的大小。

RBW 称为分辨率带宽,决定了频谱分析中对多个频率的分辨能力,RBW 越小,分辨率越高。RBW 与时间窗宽度(即Window Time) 成反比,但即使时间窗宽度相同,不同的时间窗类型对应的RBW 也不同,存在一个因子k,并满足如下关系:

下面以矩形时间窗为例,讨论一下RBW 与时间窗宽度具体有什么关系呢?矩形窗的双边带频谱为Sa(ω) 函数,如图3所示,假设窗口时间为T,则在频率为  ±N*2π/T  ( N 为非零正整数) 处均为零点。矩形窗的双边带频谱可以写为如下表达式:

对于图3所示的频谱,相对峰值电平下降3dB的频点位于何处?从电压的角度讲,下降3dB的频点处,幅值降为峰值的 √2/2 。

图3. 矩形窗的频谱特性(双边带频谱)

简便起见,利用图4所示的图解法,令sin(x)/x=√2/2 ,则x≈1.39 。经计算ω=2.78/T ,f=ω/2π≈0.443/T 。因此,图3所示的频谱中,3dB带宽为:

图4. x=1.39处,幅值下降3dB

如前所述,FFT 过程中会进行周期扩展,因此FFT 是将信号当作一个周期信号来对待的。FFT得到的频点也是离散的,这些离散的频点称为freq. bin,两个相邻bin 之间的频间距为周期扩展后总时长的倒数。bin 间距决定了频率分辨率,bin 间距越小,频率分辨率越高。假设进行了N次周期扩展,则bin间距为

类似于扫频式频谱分析,FFT 频谱分析中也有RBW 的概念,尽管不存在IF filter 。在FFT 频谱分析中,RBW 决定于时间窗幅频特性的3dB带宽。不同的时间窗类型,具有不同的RBW 表达式。对于矩形窗,RBW 为

从上式可以看出,矩形窗的RBW 并不等于bin 间距,而往往是大于bin 间距。频谱分析应用中通常提及RBW ,但RBW 与bin 间距存在如下关系

式中k为常系数,取决于时间窗的类型。

常见的时间窗类型包括:Kaiser、Rectangular、Hamming、Hanning、Blackman-Harris、Flat-Top等。下图给出了不同时间窗类型对应的k因子大小。不同的时间窗,频谱泄露、幅度测试精度及RBW 均不同,测试时应该根据待测信号的特点进行选择。

图5. 不同时间窗类型对应的k因子不同

小结

本文重点描述了FFT 频谱分析中的RBW 由来,虽然不像扫频式频谱仪那样具有IF filter ,但是FFT 频谱分析中依然存在RBW 的概念。文中以矩形时间窗为例,通过数学的方式解释了RBW 与时间窗宽度的关系。当采用不同的时间窗时,RBW 与时间窗宽度的关系也是不同的,这完全是由时间窗对应的幅频响应决定的。频谱测试时,应当根据测试的信号选择合适的时间窗,至于如何选择,后面有机会再给大家介绍。

作者:Altair Tang

来源:如何理解FFT中时间窗与RBW的关系 - RFASK射频问问

关于RFASK射频问问

射频问问是在"微波射频网”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:RFASK射频问问 - 射频技术研发服务平台 | 技术问答、专栏文章、射频课程

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

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

相关文章

前端食堂技术周刊第 63 期:Vite 4.0、State of CSS 2022、Rome v11、Web 性能日历、VueConf 2022 PPT

美味值:🌟🌟🌟🌟🌟 口味:霜糖山楂 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 本期摘要 Vite 4.0State of CSS 2022 调查结果Rome v11HTMHell Advent Calendar 20…

虚幻引擎VR游戏开发基础教程

虚幻引擎VR游戏开发基础教程 了解如何使用 Oculus Quest 2 的蓝图在虚幻引擎 4 中从头开始构建基本的 VR 机制 课程英文名:Unreal Engine VR Development Fundamentals 此视频教程共4.0小时,中英双语字幕,画质清晰无水印,源码附…

推荐一些Python练手项目,了解完毕后才吃惊

前言 入门篇: 0.Python初学者一般都是那些根本没有编程基础的学生。做这个项目,你应该首先开始基本语法。教程中的几个实验可以让完全零基础的学生在一个下午学习Linux、python基础知识和GitHub命令。 1.Python-Python 图片转字符画50 行 Python 代码…

web前端期末大作业网页设计与制作 ——汉口我的家乡旅游景点 5页HTML+CSS+JavaScript

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

JDBC 入门

目录1 JDBC 快速入门1.1 JDBC 的概念1.2 JDBC 快速入门2 JDBC 功能类详解2.1 DriverManager2.2 Connection2.3 Statement2.4 ResultSet3 JDBC 工具类4 SQL 注入攻击5 JDBC 事务5.1 JDBC 管理事务6 连接池6.1 数据库连接池的概念6.2 自定义数据库连接池6.2.1 DataSource6.2.2 归…

嵌入式:ARM存储器组织、协处理器及片上总线

文章目录ARM存储器组织ARM存储数据类型和存储格式ARM的存储器层次简介存储器管理单元MMUARM协处理器ARM片上总线AMBAARM存储器组织 ARM存储数据类型和存储格式 ARM处理器支持以下6种数据类型 8位有符号和无符号字节。16位有符号和无符号半字,它们以两字节的边界定…

字符串匹配问题(KMP)

文章目录题目KMP 算法1)例子演示2)KMP算法思路3)疑惑模型验证4)求 next 数组5)代码演示6)复杂度分析题目 有字符串 str1 和 str2 ,str1 中是否包含 str2,如果没有包含返回 -1&#…

电商行业用天翎低代码平台做客服管理系统

编者按:在市场竞争越来越激烈的今天,客服作为电商行业的重要组成部分,如何科学管理成为企业管理层不可避免的难题,做好客服管理对企业具有重要意义。本文通过唯品会金牌客服管理系统案例介绍了低代码平台在定制化和快速落地的特点…

python tkinter 登录 计算器

使用tkinter开发图形化小项目: 功能: 登录 :登录成功 跳转到 计算器 页面,否则登录失败计算器 :登录成功后,窗口标题栏显示当前登录的用户 技术: 面向对象标准模块SQLite数据库登录成功后页…

SpringCloud MQ介绍与使用

哈喽~大家好,这篇来看看SpringCloud MQ介绍与使用。 🥇个人主页:个人主页​​​​​ 🥈 系列专栏:【微服务】 🥉与这篇相关的文章: SpringCloud Sentinel 使用…

基于Python+Django的银行取号排队系统 毕业设计

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&#xf…

clickhouse集群搭建、SpringBoot集成及应用

前言 在日常工作中,日志查询是我们不可避免的业务场景,当项目访问量较小时,我们可以将日志存储在MySQL或其他行式数据库中,但是如果项目访问量很大,一次查询就会给数据库带来很大压力,也许你会采用elk等成…

测试框架Pytest-pytest测试用例的运行实操

一、单元测试框架 1、什么是单元测试框架 单元测试是指在软件开发当中,针对软件的最小单位(函数、方法)进行正确性的检查测试。 2、单元测试框架 java:junit和testing python:unittest和pytest 3、单元测试框架主要做什么&a…

基于JSON的SQL注入攻击触发需要更新Web应用程序防火墙

©网络研究院 安全研究人员开发了一种通用的 SQL 注入技术,可以绕过多个 Web 应用程序防火墙 (WAF)。问题的核心是 WAF 供应商未能在 SQL 语句中添加对 JSON 的支持,从而使潜在的攻击者可以轻松隐藏其恶意负载。 Claroty Team82 的研究人员发现的绕…

绿盟SecXOps安全智能分析技术白皮书 思路方案

安全数据资产 统一管理DataOps,即 Data 和 Operations 的集成,于 2014 年首次提出。Gartner 将 DataOps 定义为“一种协作性的数据管理 实践,专注于改进组织内数据管道的通信、集成和自动化”[7]。DataOps 是一种面向流程的自动化方法&#x…

【C++笔试强训】第六天

文章目录选择题编程题选择题 1.十进制变量i的值为100&#xff0c;那么八进制的变量i的值为&#xff08;&#xff09; A 146 B 148 C 144 D 142 进制之间的转化&#xff0c;这不用多说了把 2.执行下面语句后的输出为 int I1; if(I<0)printf("****\n") ; els…

大数据Kudu(四):Kudu集群搭建

文章目录 Kudu集群搭建 一、kudu 安装包 二、节点规划及安装 1、首先在每个节点上传安装包 2、在node1、node2节点上安装如下rpm安装包 3、在node3节点上安装如下rpm安装包 4、配置Master Server 5、配置Tablet Server 6、Master节点配置所有Master Server 7、Server…

对DataFrame中元素进行定位并修改的DataFrame.iat[]方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 根据指定的行和列的位置号 显示或修改DataFrame中相应位置的元素 DataFrame.iat[x,y] 选择题 关于以下python代码说法错误的一项是? import pandas as pd df pd.DataFrame({"A"…

手把手教你搭建自己的FTP文件服务器

大家好&#xff0c;我是小豪&#xff0c;今天我来给大家分享如何在虚拟机上搭建自己的文件服务器 文章目录Linux上安装文件服务器FTP安装VSFTP下载dnf下载VSFTP清除防火墙的iptables缓存下载FTP匿名访问模式本地用户模式Linux上安装文件服务器FTP 由于FTP、HTTP、Telnet等协议…

【阿里实践】基于深度学习的个性化推荐系统实时化改造与升级

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年11月份热门报告盘点推荐技术在vivo互联网商业化业务中的实践.pdf推荐系统基本问题及系统优化路径.pdf大规模推荐类深度学习系统的设计实践.pdf荣耀推荐算法架构演进实践…