当前位置: 首页 > news >正文

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)大多数情况下都能满足需求。它同时具有很好的频率分辨率和较少的频谱泄露。如果不知道用什么窗。海宁窗是个不错的选择。

如何选择窗

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

http://www.lryc.cn/news/290111.html

相关文章:

  • Java项目实战--瑞吉外卖DAY03
  • docker 里使用vcs 2018 verdi等eda 图形界面
  • OpenHarmony—不支持解构赋值
  • 让AI帮你说话--GPT-SoVITS教程
  • 线性回归需要满足的几个假设
  • go语言(十八)---- goroutine
  • 城市开发区视频系统建设方案:打造视频基座、加强图像数据治理
  • 宏景eHRSmsAcceptGSTXServle存在XXE漏洞
  • LLVM实战之模块化设计
  • 可以运行在浏览器的Windows 2000
  • CUDA笔记
  • Open CASCADE学习| ​提取曲面的PCurve
  • GMS测试BTSfail-CVE-2022-20451
  • Vue学习笔记12--Vue3之setup/ref函数/reactive函数/Vue3响应式原理/reactive对比ref
  • 座位预约|座位预约小程序|基于微信小程序的图书馆自习室座位预约管理系统设计与实现(源码+数据库+文档)
  • 03 Redis之命令(基本命令+Key命令+String型Value命令与应用场景)
  • go语言函数进阶
  • Python编程技巧 – 函数参数
  • python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-帖子管理实现
  • LabVIEW扫频阻抗测试系统
  • C语言——指针进阶(四)
  • Django介绍
  • 【idea】几个不错的idea插件让我码速又快了
  • LabVIEW直流电机转速检测与控制
  • ༺༽༾ཊ—Unity之-05-抽象工厂模式—ཏ༿༼༻
  • 力扣面试题02.07-链表相交
  • Java集合-ArrayList
  • 数据结构·单链表经典例题
  • Linux常用指令的整合
  • 阿里云centos安装mysql,并修改初始密码