matlab窗函数-hann窗和hamming窗函数

窗函数的作用

在时域上,窗函数可以看作是对原始信号进行截断或调制的加权函数。这些窗函数通常在时域上是有限的宽度,并且具有对称性,如矩形窗、汉宁窗、汉明窗和布莱克曼窗等。例如,汉明窗是一种对称窗函数,它可以用来平滑信号,减少频谱能量的泄漏,从而提高傅里叶变换后的频率分辨率和精度。

hamming窗

wlen = PRTNumber; %窗函数的长度
win = hamming(wlen, 'periodic');%构造hamming窗
figure; %绘制汉宁窗
plot(win);title('汉宁窗');

在这里插入图片描述

图1 hamming窗

hamming汉明窗的特点是两端不能到零。
该matlab函数中有两个参数:

  1. ‘symmetric’ - 在使用窗进行滤波器设计时使用此选项;
  2. ‘periodic’ - 此选项对于频谱分析很有用,因为它使加窗信号可具有离散傅里叶变换中固有的完美周期延拓。当指定 ‘periodic’ 时,该函数计算长度为 L + 1 的窗,并返回前 L 个点;

hann窗

hann窗的matlab函数为hann,使用方法和hamming是相同的,这两种窗有些差异。

wlen = PRTNumber; %窗函数的长度
win = hann(wlen, 'periodic');%构造hann窗
figure; %绘制hann窗
plot(win,'linewidth',1);title('hann窗');

在这里插入图片描述

图2 hann窗

hamming窗和hann窗的特点和区别

Hm = hamming(64,'periodic');
Hn = hann(64,'periodic');
wvt = wvtool(Hm,Hn); %绘制
legend(wvt.CurrentAxes,'hamming','hann')

在这里插入图片描述

图3 hamming窗和hann窗的区别

汉明窗(hamming)和海宁窗(hann)类似,汉明窗的时域波形两端不能到零,而海宁窗时域信号两端是零。从频域响应来看,汉明窗能够减少很近的旁瓣泄露,但是稍远一点的旁瓣泄露比海宁窗严重。简单点说,hann窗比较稳,短期长期发挥稳定,hamming窗比较激进,短期发挥水平高,长期就没劲了。
Hann的滚降率是大于Hamming的。
那么各种窗函数之间有什么区别呢?结论放在前面。

  1. 窗函数有四个评价指标,泄露指数,主瓣宽度,旁瓣衰减,旁瓣滚降率。
  2. 汉明窗(hamming)和海宁窗(hann)类似,汉明窗两端不能到零,而海宁窗两端是零。汉明窗能够减少很近的旁瓣泄露,但是稍远一点的旁瓣泄露比海宁窗严重。
  3. 海宁窗(hann)大多数情况下都能满足需求。它同时具有很好的频率分辨率和较少的频谱泄露。如果不知道用什么窗。海宁窗是个不错的选择。

如何选择窗

如果分析对象是单一频率信号的幅度分辨率比频域分辨率更高,则需要宽的主瓣。
如果分析对象是单一频率信号,频域分辨率要求比幅度分辨率更高,则需要更窄的主瓣。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

揭秘淘宝图片搜索商品接口:一键上传,海量相似商品即刻到手!

淘宝图片搜索商品接口技术详解 一、概述 淘宝图片搜索商品接口是淘宝开放平台提供的一项创新功能,允许第三方开发者通过上传图片进行商品搜索。通过使用这个接口,开发者可以快速地获取与图片相似的商品信息,为消费者提供更精准的购物体验。…

【嵌入式学习】C++QT-Day1-C++基础

思维导图&&笔记 见我的博客&#xff1a;https://lingjun.life/wiki/EmbeddedNote/19Cpp 作业&#xff1a; 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 要求使用C风格字符串完成 #include <iostream&…

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

UIAbility组件概述 UIAbility组件是HarmonyOS中一种包含UI界面的应用组件&#xff0c;主要用于与用户进行交互。每个UIAbility组件实例对应最近任务列表中的一个任务&#xff0c;可以包含多个页面来实现不同功能模块。 声明配置 为了使用UIAbility&#xff0c;首先需要在mod…

Python环境的安装和Pycharm的安装

Python环境的安装 英文版官网&#xff1a;Welcome to Python.org&#xff0c; 因为是外网&#xff0c;加载可能会很慢 首先呢&#xff0c;我们先去官网查找&#xff1a;Python中文网 官网&#xff0c;这个官网是中文版的&#xff0c;点进去之后是这个页面 然后点击下载&#…

【LeetCode每日一题】2859. 计算 K 置位下标对应元素的和

2024-1-25 文章目录 [2859. 计算 K 置位下标对应元素的和](https://leetcode.cn/problems/sum-of-values-at-indices-with-k-set-bits/)思路&#xff1a; 2859. 计算 K 置位下标对应元素的和 思路&#xff1a; 遍历输入列表&#xff0c;对于满足特定条件的元素做一些操作并将结…

Django从入门到精通(二)

目录 三、视图 3.1、文件or文件夹 3.2、相对和绝对导入urls 3.3、视图参数requests 3.4、返回值 3.5、响应头 3.6、FBV和CBV FBV 四、静态资源 4.1、静态文件 4.2、媒体文件 五、模板 5.1、寻找html模板 5.2、模板处理的本质 5.3、常见模板语法 5.4、内置模板函…

Sketch怎么增加组件?

Sketch怎么增加组件&#xff1f;Sketch组件库经常使用&#xff0c;想要添加一些新的组件&#xff0c;该怎么添加呢&#xff1f;下面我们就来看看Sketch组件库添加新组建的技巧&#xff0c;详细请看下文介绍 打开电脑&#xff0c;找到sketch软件的图标&#xff0c;点击进入 新建…

鸿蒙开发-UI-布局-轮播

鸿蒙开发-UI-布局 鸿蒙开发-UI-布局-线性布局 鸿蒙开发-UI-布局-层叠布局 鸿蒙开发-UI-布局-弹性布局 鸿蒙开发-UI-布局-相对布局 鸿蒙开发-UI-布局-格栅布局 鸿蒙开发-UI-布局-列表 鸿蒙开发-UI-布局-网格 文章目录 前言 一、基本概念 二、开发布局 三、应用特性 1.循环播放 2…

docker(上)

笔记资料参考与尚硅谷 前提知识课程介绍课程定位学习建议 1前提知识 boot cloud git push pull redis nginx mysql... Linux centos ubuntu 2课程介绍 2.1 2018 vs 2022 2.2 k8s&#xff08;雷峰崖&#xff09; 2.3 大纲 3课程定位&#xff08;因材施教量体裁衣…

电商API接口|爬虫实战-js逆向,以淘宝sign为例

如果我们想要获取某宝的商品信息或者商品的评论信息的话。可能其中的一条途径就是爬虫了【淘宝商品详情API】。放在以前的话&#xff0c;爬虫还是挺简单的。但是放到现在呢&#xff0c;其实并不容易了。因为现在各个平台的反爬机制都加强了。有的会加强监控的&#xff0c;有的则…

使用IntelliJ IDEA快速搭建springboot 基础模板项目

使用IntelliJ IDEA快速搭建springboot 基础模板项目&#xff01;今天和大家分享一下&#xff0c;如何使用IntelliJ IDEA里面的maven插件&#xff0c;来快速搭建一个简单的Springboot基础项目。 第一步&#xff0c;菜单里面找到&#xff0c;文件-》新建-项目。如图。我们勾选了是…

Zookeeper3.5.7基础学习

文章目录 一、Zookeeper入门1、概述2、特点3、数据结构4、应用场景 二、Zookeeper 安装部署1、本地模式安装1.1 基础操作1.2 配置参数解读 2、集群部署2.1 集群安装2.2 选举机制(面试重点)2.3 ZK 集群启动停止脚本 三、ZK客户端相关操作1、客户端命令行操作1.1 命令行语法1.2 z…

车载显示,“激斗”与“换代”

编者按&#xff1a;车载显示&#xff0c;正在进入新一轮变革周期。 车载显示作为汽车智能化的重要交互终端&#xff0c;在过去几年&#xff0c;持续受益车企的大屏化、多屏化配置趋势&#xff0c;部分头部厂商赚得盆满钵满。 比如&#xff0c;作为京东方旗下唯一的车载显示模组…

携程基于Jira Cloud的敏捷项目管理实践

好的工具可以满足团队在各个成长阶段的管理诉求 实践一&#xff1a;对齐目标/团队OKR/多团队协作战略项目 实践二&#xff1a;以产品为中心的协作框架 实践三&#xff1a;交付团队管理 实践四&#xff1a;和海外子公司对齐&#xff0c;协作

guitarpro8有免费版本吗? Guitar Pro需要多少钱

Guitar Pro8官方并没有提供一个完全免费的版本。然而&#xff0c;根据搜索结果&#xff0c;存在一个声称是Guitar Pro免费版的V8.0.1.28版本&#xff0c;这个版本被描述为一款可以自动谱曲的简单实用的谱曲软件。此外&#xff0c;还有信息称Guitar Pro免费版能够在不需要支付费…

在linux、window环境搭建kafka环境

一、搭建环境前置准备 下载kafka的官网 http://kafka.apache.org/downloads根据自己的需求选择版本,安装包不区分linux和windows环境,这一个安装包均可部署。 源代码包含kafka的代码文件,使用scala编写的。 二、linux环境 1. 上传安装包 我下载的版本是kafka_2.12-3.6.1…

php中laravel框架中接口开发实战经验总结

一.项目接口实战错误经验总结 1. 逻辑层静态类调用非静态方法报错&#xff0c;如下 Non-static method App\\Services\\Common\\StatisticBusinessService::getLevelUserCarCount() should not be called statically 问题原因:方法定义时没加static 解决方案&#xff1a; …

Threejs 问题——模型引入后并未加载出来

文章目录 问题分析 问题 Threejs 模型引入后并未加载出来 分析 该问题是由于引入OBJ模型路径报错 目前测试 在 public/static/ 引入时不会发生此错误并渲染成功 如果没有此报错且模型没渲染出来, 可以尝试刷新标签页或者异步请求模型方法 我的路径如下 引用如下 createM…

【2024】新建mysql数据库,如何选择字符集和排序规则

如何使用 Navicat 新建 MySQL 数据库&#xff0c;并选择字符集与排序规则 如何使用 Navicat 新建 MySQL 数据库并选择字符集与排序规则1. 开始之前2. 新建数据库步骤 1: 打开 Navicat步骤 2: 创建新数据库步骤 3: 填写数据库名称 常见的字符集和排序规则及其选择场景1. 字符集&…

MCU常用外设总线

目录 前言一、时钟与中断二、GPIO三、ADC四、定时器4.1 基本定时器4.2 通用定时器4.2.1 输入捕获4.2.2 输出比较 五、UART5.1 通讯的基本概念5.1.1 串行通讯与并行通讯5.1.2 全双工、半双工及单工通讯5.1.3 同步通讯与异步通讯5.1.4 通信速率 5.2 异步串口UART5.2.1 物理层5.2.…