GNU Radio FFT模块窗函数对比

news2025/1/16 22:02:14

文章目录

  • 前言
  • 一、grc 图
  • 二、窗函数及对应的运行结果
    • 1、矩形窗
    • 2、汉明窗
    • 3、汉宁窗
    • 4、黑曼窗
    • 5、黑曼-哈里斯窗
    • 6、凯泽窗
    • 7、巴特利特窗
    • 8、平顶窗


前言

GNU Radio 中 FFT 模块的窗函数包括以下几种:矩形窗(Rectangular Window)、汉明窗(Hamming Window)、汉宁窗(Hann Window)、黑曼窗(Blackman Window)、黑曼-哈里斯窗(Blackman-Harris Window)、凯泽窗(Kaiser Window)、巴特利特窗(Bartlett Window)、平顶窗(Flattop Window),本文对窗函数实现的结果做一个记录对比。


一、grc 图

首先我们先创建一个简单的 grc 图,将信号源变成标签流通过限流器后再分两路,一路接给示波器1和频谱仪1,另一路通过 FFT 再进行归一化后再送给 IFFT 然后送给示波器2,我们主要考察的是使用不同窗函数所带来的信号变化。
在这里插入图片描述

二、窗函数及对应的运行结果

1、矩形窗

  • 特点:所有样本的权重相等。
  • 适用场景:矩形窗在时域内保持信号不变,但由于其突然的起止点,会在频域内产生显著的旁瓣。适合用于长度固定且非周期性信号的简单场景,不推荐用于精确的频谱分析

对 FFT 模块和 IFFT 模块均做如下修改:

window.rectangular(fft_len)

在这里插入图片描述

运行结果如下:

①、时域对比:
在这里插入图片描述
使用矩形窗后,原信号经过 FFT 和 IFFT 可以复原原信号。

②、频谱对比:
在这里插入图片描述
在这里插入图片描述

2、汉明窗

  • 特点:比汉宁窗旁瓣稍高,主瓣稍窄。
  • 适用场景:由于其相对较低的旁瓣,适用于需要减少旁瓣而又不过分担心频率分辨率的信号处理任务,如语音处理和生物信号分析

对 FFT 模块和 IFFT 模块均做如下修改:

window.hamming(fft_len)

在这里插入图片描述
运行结果如下:

①、时域对比:
在这里插入图片描述
使用汉明窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱对比:
在这里插入图片描述
在这里插入图片描述

3、汉宁窗

  • 特点:提供良好的频率分辨率和较低的旁瓣。
  • 适用场景:广泛用于频谱分析和滤波器设计,尤其是在音频处理和振动分析中,其中频率分辨率和旁瓣抑制都很重要

对 FFT 模块和 IFFT 模块均做如下修改:

window.hann(fft_len)

在这里插入图片描述
运行结果如下:

①、时域对比:
在这里插入图片描述
使用汉宁窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱对比:

在这里插入图片描述
在这里插入图片描述

4、黑曼窗

  • 特点:旁瓣更低,主瓣更宽。
  • 适用场景:适用于需要极低旁瓣的场合,如雷达和无线通信中的信号分析,适合于旁瓣对性能影响较大的应用。

对 FFT 模块和 IFFT 模块均做如下修改:

window.blackman(fft_len)

在这里插入图片描述
运行结果如下:

①、时域对比:
在这里插入图片描述
使用黑曼窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱对比:
在这里插入图片描述
在这里插入图片描述

5、黑曼-哈里斯窗

  • 特点:提供极低的旁瓣。
  • 适用场景:适合于旁瓣必须被严格控制的高精度频谱分析,如精确测量和科学研究,常用于天文学和精密测量领域。

对 FFT 模块和 IFFT 模块均做如下修改:

window.blackman_harris(fft_len)

在这里插入图片描述

运行结果如下:

①、时域对比:
在这里插入图片描述
使用黑曼-哈里斯窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱对比:
在这里插入图片描述
在这里插入图片描述

6、凯泽窗

  • 特点:通过参数 beta 调节,可以在主瓣宽度和旁瓣高度之间进行权衡。
  • 适用场景:因其灵活性,广泛应用于数字滤波器设计和调制应用,特别是在需要定制窗函数以满足特定主瓣宽度和旁瓣衰减需求的场合

对 FFT 模块和 IFFT 模块均做如下修改:

window.kaiser(fft_len, 7)

在这里插入图片描述

运行结果如下:

①、时域对比:
在这里插入图片描述
使用凯泽窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱对比:
在这里插入图片描述
在这里插入图片描述

7、巴特利特窗

  • 特点:三角形状,两端为零,有助于减少频谱泄漏。
  • 适用场景:适合于需要平滑处理但不需要极端旁瓣抑制的应用,如在音频和语音信号处理中平滑时间序列数据

对 FFT 模块和 IFFT 模块均做如下修改:

window.bartlett(fft_len)

在这里插入图片描述
运行结果如下:

①、时域对比:
在这里插入图片描述

使用巴特利特窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱:
在这里插入图片描述

8、平顶窗

  • 特点:在主瓣顶部非常平坦,可以非常精确地测量幅度,但频率分辨率较低。
  • 适用场景:常用于校准和测量应用,尤其是在需要高精度幅度测量而不是频率分辨率的场合

对 FFT 模块和 IFFT 模块均做如下修改:

window.flattop(fft_len)

在这里插入图片描述
运行结果如下:

①、时域对比:
在这里插入图片描述
使用平顶窗后,原信号经过 FFT 和 IFFT 不可以复原原信号。

②、频谱对比:
在这里插入图片描述
在这里插入图片描述


我的qq:2442391036,欢迎交流!


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

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

相关文章

分割模型Maskformer系列

maskformer:Per-Pixel Classification is Not All You Need for Semantic Segmentation 论文地址:https://arxiv.org/pdf/2107.06278 1.概述 传统的语义分割方法通常采用逐像素分类(per-pixel classification),而实…

邦注科技 模具保护器 CCD电子眼 专业工业视觉检测设备

模具保护器是一种用于保护模具的设备,可以在塑料压铸和冲床等加工过程中起到保护模具的作用。以下是关于模具保护器在保护塑料压铸和冲床模具方面的应用: 塑料压铸模具保护器: 防止碰撞:在塑料压铸过程中,模具可能会…

【CSS基础--CSS选择器的常见用法】

CSS选择器的常见用法 1.CSS介绍1.1 基本语法规范1.2 引入样式1.3 规范 2. CSS选择器2.1 标签选择器2.2 类选择器2.3 ID选择器2.4 复合选择器 1.CSS介绍 CSS(Cascading Style Sheet),层叠样式表,由于控制页面的样式。CSS能够对网页…

【已解决】‘pip‘ 不是内部或外部命令问题

😎 作者介绍:我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun,视频号:AI-行者Sun 🎈 本文专栏:本文收录于《AI实战中的各种bug…

Linux网站服务

1.概念:HTML:超级文本编辑语言 网页:使用HTML,PHP,JAVA语言格式书写的文件。 主页:网页中呈现用户的第一个界面。 网站:多个网页组合而成的一台网站服务器。 URL:统一资源定位符,访问网站的地址。 网站架构:LAMP: LinuxApacheMYSQLPHP(系统服务器程序数据管理…

【JAVA语言-第20话】多线程详细解析(二)——线程安全,非线程安全的集合转换成线程安全

目录 线程安全 1.1 概述 1.2 案例分析 1.3 解决线程安全 1.3.1 synchronized关键字 1.3.1.1 同步代码块 1.3.1.2 同步方法 1.3.2 使用Lock锁 1.3.2.1 概述 代码示例 1.4 线程安全的类 1.4.1 非线程安全集合转换成线程安全集合 线程安全 1.1 概述 指如果有多…

外贸企业邮箱怎么注册?五款外贸企业邮箱注册步骤

专业的公司邮箱不但能提高企业形象,也能保证商业沟通的流畅与信息安全性。本文将详解五种常见的外贸企业邮箱——Zoho Mail公司邮箱、腾讯公司邮箱、阿里公司邮箱、网易公司邮箱以及Gmail公司邮箱的注册流程,协助外贸企业轻松完成邮箱注册,打…

安装Nox夜神模拟器关闭了HyperV后Docker运行不了怎么办?

1.背景 为了模拟真机,尝试安装了Nox夜神模拟器, 安装过程要求关闭Hyper-V。当时只是在程序安装卸载中关闭了系统服务。以为到时勾选上就好了。操作路径:控制面板\所有控制面板项\程序和功能\启用或关闭Windows功能\Hyper-V。 后来卸载掉了夜神…

代码随想录第四十七天|打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ

题目链接:. - 力扣(LeetCode) 代码如下: 打家劫舍问题需要注意相邻房子不能偷,因此在偷与不偷的选择上可以归类为: 偷当前(i)的房子,则子问题变为前i-2个房子的偷取金额…

VMware虚拟机提示内存不足

VMware虚拟机,k8s集群搭建内存不足的问题 疑问:我的电脑是8G8G双通道的内存,当我在搭建k8s集群时给master-2G内存,node1-3G内存,node2-3G内存; 当依次打开虚拟机到node2时VM提示“物理内存不足,…

【第14章】spring-mvc之ajax

文章目录 前言一、准备二、单个值1.前端2.后端3. 结果 三、对象1.前端2.后端3. 结果 四、JSON对象1.前端2.后端3. 结果 五、JSON数组1.前端2.后端3. 结果 总结 前言 AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术&#xff0c…

大模型微调实战之强化学习 贝尔曼方程及价值函数(一)

大模型微调实战之强化学习 贝尔曼方程及价值函数 强化学习(RL)是机器学习中一个话题,不仅在人工智能方面。它解决问题的方式与人类类似,我们每天都在学习并在生活中变得更好。 作为一名大模型学习者,当开始深入研究强…

2024蓝桥杯网络安全部分赛题wp

爬虫协议 题目给了提示访问robots.txt 会出三个目录 访问最后一个 点进去就flag{22560c15-577c-4c8b-9944-815473758bad} packet 下载附件,这个是流量包 放wireshark流量分析 搜http协议 发现有cat flag命令,直接看他返回的流量 最后base64解码即可…

Web服务器和Tomcat

Web介绍 对于http协议操作进行封装、简化web程序开发 部署web项目,对外提供上网信息浏览 Tomcat介绍 一个轻量级的web服务器 也称为web容器 Tomcat的文件夹介绍 下载地址:Apache Tomcat - Apache Tomcat 9 Software Downloads 安装:直…

嵌入式数据库SQLite 3配置使用详细笔记教程

0、惨痛教训 随着管理开发的项目体积越来越庞大,产品系统涉及的数据量也越来越多,并且伴随着项目不久就要交付给甲方了。如果项目的数据信息没有被妥善管理,后期设备的运行状态、操作状况等数据流信息不能被溯源,当出现了一些特殊…

typescript的入门到吐槽:看了typescript,发现前端真的卷,

typescript TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。 TypeScript 与 JavaScript 的区别 其实就是对JavaScript的封装,把一个弱类型语言封…

“王翦五讨赏地,萧何三贬其身”的背后,正是智者安身的处世之道

冯子曰:智者,术所以生也;术者,智所以转也。 智慧的人,从不蛮行横性,而是懂得如何在世道和自我之间谋得最佳的处境。 01、王翦五讨赏地 战国时期,秦始皇派王翦率六十万大军攻打楚国&#xff0…

【SpringBoot】 什么是springboot(一)?如何搭建springboot项目?

文章目录 SpringBoot第一章1、什么是springboot1、回顾ssm项目搭建流程2、springboot项目的优点2、搭建springboot项目方式1:方式2:第二章1、基本配置1、热部署2、注解3、端口配置application.properties特点application.yml特点注意4、环境配置springboot中的配置文件要求5、…

深度学习——前馈全连接神经网络

前馈全连接神经网络 1.导入需要的工具包2.数据导入与数据观察(1)读取csv的文件信息:(2)训练数据前5行(3)打印第一个图(4)观察数据中的信息(5)查看…

JAVA版本的ATM编程问题记录

前段时间用C语言写了个银行ATM系统,还写了一篇文章记录了一些,C语言的ATM文章。后来又用IDEA写了一个JAVA版本的银行ATM。有人就会问为啥浪费这个时间写ATM呢?🧐其实是我本科代码没学好,所以现在想利用比较熟悉的ATM系…