matlab的汉明窗函数如何导出,时域窗函数

article/2025/11/7 5:06:06

时域窗函数

数字信号处理领域,“窗”是用处广泛意义重大的一个数学模型。我觉得很有必要来探究一下它的本质,所以在这篇文章里先给出常见的几种时域窗函数的数学模型,我将在后面的文章里陆续讲出窗的用途。

本文将陆续介绍如下几个窗,他们分别是。矩形窗,三角窗,汉宁窗,哈明窗,布莱克曼窗,凯塞窗。

一,矩形窗

时域表达式和频域表达式如下:

a4c26d1e5885305701be709a3d33442f.png

强调一点,千万不要纠结于这些表达式,给出表达式的目的是为了存个档方便日后查阅,切不可沉迷于茫茫多的表达式,这个矩形窗表达式算是比较简单的,后面一些牛逼窗口的表达式将会非常复杂。研究窗口的重点在于看他们频域的差别,更确切的说很多时候我们仅仅是为了看他们频率的两个指标----主瓣宽度,旁瓣衰减。

矩形窗的时域波形图和频谱图(N=50):

a4c26d1e5885305701be709a3d33442f.png实际测得矩形窗两个关键参数值----主瓣宽度为4pi/N,旁瓣衰减为-13dB。

二,三角窗

三角窗时域表达式和频域表达式如下:

a4c26d1e5885305701be709a3d33442f.png

注:式中WR(w)为矩形窗频谱,后文依旧引用,不再赘述。

三角窗的时域波形和频谱图(N=50):

a4c26d1e5885305701be709a3d33442f.png

实际测得三角窗两个关键参数值----主瓣宽度为8pi/N,旁瓣衰减为-27dB。

三,汉宁窗(Hanning)

汉宁窗时域表达式和频域表达式如下:

a4c26d1e5885305701be709a3d33442f.png

汉宁窗的时域波形和频谱图(N=50):

a4c26d1e5885305701be709a3d33442f.png

实际测得汉宁窗两个关键参数值----主瓣宽度为8pi/N,旁瓣衰减为-31dB。

四,哈明窗(Hamming)

汉宁窗时域表达式和频域表达式如下:

a4c26d1e5885305701be709a3d33442f.png

哈明窗的时域波形和频谱图(N=50):

a4c26d1e5885305701be709a3d33442f.png

实际测得哈明窗两个关键参数值----主瓣宽度为8pi/N,旁瓣衰减为-41dB。

五,布莱克曼窗(Blackman)

布莱克曼窗时域表达式和频域表达式如下:

a4c26d1e5885305701be709a3d33442f.png

布莱克曼窗的时域波形和频谱图(N=50):

a4c26d1e5885305701be709a3d33442f.png

实际测得哈明窗两个关键参数值----主瓣宽度为16pi/N,旁瓣衰减为-57dB。

六,凯塞窗(Kaiser)

凯塞窗时域表达式和频域表达式如下:

a4c26d1e5885305701be709a3d33442f.png

凯塞窗的时域波形和频谱图(N=50):

a4c26d1e5885305701be709a3d33442f.png

不得不说明这个凯塞窗是不通与上面所有窗口的,因为凯塞窗的主瓣宽度和旁瓣衰减可以依据用户自己的需要去改变beta的值去实现。

七,总结

为了初步认识窗,以上我给出了6种常见的窗的时域频域表达式及波形。前已述及,很多时候我们只需要查询频域波形两个关键参数而已,即主瓣宽度,旁瓣衰减。下面,我将这些参数做成一个表格,这样方便以后查阅需要。

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png


http://chatgpt.dhexx.cn/article/n5WMBIRt.shtml

相关文章

窗函数作用和性质

文章目录 什么是窗函数?窗函数的作用是什么?1.防止泄露2. 分析意义 有哪些常用的窗函数?它们特点是什么?RectangularHanningHammingBlackmanBlackman-Harris 总结 什么是窗函数? 窗函数能够产生一段特定的信号&#x…

什么是窗函数?

本文转自https://zhuanlan.zhihu.com/p/24318554 主要内容包括: 1. 为什么要加窗函数; 2. 窗函数的定义; 3. 窗函数的时频域特征; 4. 加窗函数的原则; 5. 模态测试所用窗函数; 6. 窗函数带来的影响。…

窗函数总结

参考链接 文中第一、二节参考链接: 什么是泄漏? 文中第三节参考链接: 何时、何地应用何种的窗函数? 文中第四、五节参考链接: 窗函数概念知识点统计_teresa_zp的博客-CSDN博客_窗的主瓣宽度 一、为什么加窗 1. 周期函数的…

驱动irq

http://www.wowotech.net/irq_subsystem/irq-domain.html wowokeji 涉及目录: kernel/irq/ irqdomain.c irqdesc.c proc.c manage.c request_irq_thread定义 drivers/irqchip.c irq-gic.c(v2) irq-gic-common.c drivers/of/irq.c

irqbalance机制分析

本文档基于irqbalance-1.5.0 源码链接:https://launchpad.net/ubuntu/source/irqbalance/ 1. object tree Irqbalance是用户空间用于优化中断的一个工具,通过周期性的(默认10s)统计各个cpu上的中断情况,重新对中断进…

request_irq()

原文地址:http://blog.csdn.net/wealoong/article/details/7566546 一、中断注册方法 在Linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义: int request_irq(unsigned int irq, ir…

linux IRQ Management(六)- DTS及调试

了解DTS Interrupt 设置方式。 1.DTS 中 interrupt 描述 interrupt-controller - 一个空的属性定义, 该节点作为一个接收中断信号的设备。 #interrupt-cells - 这是一个中断控制器节点的属性。它声明了该中断控制器的中断指示符中 cell 的个数(类似于 …

Linux IRQ number和中断描述符

一、前言 本文主要围绕IRQ number和中断描述符(interrupt descriptor)这两个概念描述通用中断处理过程。第二章主要描述基本概念,包括什么是IRQ number,什么是中断描述符等。第三章描述中断描述符数据结构的各个成员。第四章描述…

irqbalance

http://www.bubuko.com/infodetail-1129360.html irqbalance 理论上: 启用 irqbalance 服务,既可以提升性能,又可以降低能耗。 irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况…

linux irq 接口,Linux内核API irq_set_irq_type

irq_set_irq_type函数功能描述:此函数用于设置中断处理函数触发的类型,被操作的中断描述符保存在数组irq_desc中,对应的下标为参数irq的值,设置的中断触发类型为参数type所代表的类型。 irq_set_irq_type文件包含 irq_set_irq_typ…

Linux Irq domain

本节学习下什么是irq domain, 以及irq domain的作用。可以参考内核文档IRQ-domain.txt 为什么引入IRQ-Domain 当早期的系统只存在一个interrupt-controller的时候,而且中断数目也不多的时候,一个很简单的做法就是一个中断号对应到interrupt-contoller的…

linux IRQ Management(四)- IRQ Domain

了解IRQ Domain(中断控制器) 1.如何理解中断号? 每个IRQ同时有"irq"和"hwirq"两个编号。 "hwirq"是硬件中断号(物理中断号),即芯片手册上写的号码,Interrupt controller用hwirq来标识…

linux设备驱动:中断处理中的hardirq与softirq详细流程

中断处理的整体框架: 内核用于标识中断上下文(in_interrupt())的变量preempt_count的布局: 按照x86处理器在外部中断发生时的硬件逻辑,在do_IRQ被调用时,处理器已经屏蔽了对外部中断的响应。在图中我们看 到中断的处理大体上被…

Java 字段封装快捷键

快捷键:shift alt s 选择:

Java封装阿里云对象存储OSS

Java封装阿里云对象存储OSS 阿里云对象存储OSS官网 本篇博客简单封装了阿里云的OSS存储中的建立连接;本地文件,输入流和URL三种方式上传文件,获取文件的输入流,删除文件,获取所有文件列表等功能。 OSS官方Api OSSp…

java 枚举 封装操作方法

前言: 由于刚转java项目,所以对于java语言比较陌生,尤其是lambda和一些诸如(一个java文件只能有一个public class)等等的零散知识点之类。。。 使我觉得就语言的层级来说。.net真的超越java不是一星半点。奈何.net跨…

Java封装和封装的案例

Java封装和封装的案例 目录 一、Java封装知识点简介 二、Java程序中的包 三、static关键字、代码块 四、封装的综合应用案例: 一、Java封装知识点简介 1、面向对象三大特性之封装的概念: 隐藏类的某些内部细节,不允许外部程序直接访问…

Java的封装方法

在面向对象程式设计方法中,封装(英文名称:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的…

Java封装如何封装 封装的好处是什么?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、封装的作用是什么?二、封装的好处三、封装的步骤 1.引入库2.private的应用总结 前言 我要看电视,只需要按一下开关和换台就可以了。…

15、JAVA入门——封装

目录 一、封装 1、封装概述 2、封装的步骤 二、Java里的包 1、包的概述 2、包的定义 3、包的使用 4、注意事项 三、Java访问修饰符 1、类和类成员的访问控制 2、类的访问修饰符 3、类成员的访问修饰符 四、static关键字 1、static特点 2、static修饰属性 3、static修饰方法 4、…